Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-17486

Provide fallbacks for callqueue ipc namespace properties

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.1.4
    • Fix Version/s: None
    • Component/s: common
    • Labels:
      None

      Description

      Filing this proposal on behalf of Daryn Sharp, based on comments he made in one of our internal Jiras.

      The following settings are currently specified per port:

        /**
         * CallQueue related settings. These are not used directly, but rather
         * combined with a namespace and port. For instance:
         * IPC_NAMESPACE + ".8020." + IPC_CALLQUEUE_IMPL_KEY
         */
        public static final String IPC_NAMESPACE = "ipc";
        public static final String IPC_CALLQUEUE_IMPL_KEY = "callqueue.impl";
        public static final String IPC_SCHEDULER_IMPL_KEY = "scheduler.impl";
        public static final String IPC_IDENTITY_PROVIDER_KEY = "identity-provider.impl";
        public static final String IPC_COST_PROVIDER_KEY = "cost-provider.impl";
        public static final String IPC_BACKOFF_ENABLE = "backoff.enable";
        public static final boolean IPC_BACKOFF_ENABLE_DEFAULT = false;
       

      If one of these properties is not specified for the port, the defaults are hard-coded.
      It would be nice to provide a way to specify a fallback default property that would be used for all ports. If the property for a specific port is not defined, the fallback would be used, and if the fallback is not defined it would use the hard-coded defaults.

      We would likely need to make the same change for properties specified by these classes. For example, properties used in WeightedTimeCostProvider.

      The fallback properties could be specified by dropping the port from the property name. For example, the fallback for ipc.8020.cost-provider.impl would be ipc.cost-provider.impl.
      Another option would be to use something more explicit like ipc.default.cost-provider.impl.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              jbrennan Jim Brennan
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 2h 40m
                2h 40m