Uploaded image for project: 'Samza'
  1. Samza
  2. SAMZA-1143

Universal config support for localized resource

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.13.0
    • Component/s: None
    • Labels:
      None

      Description

      Currently, every time we add a new resource for localization, we need to modify the Samza code, as the preparation for the localResource is coded for each specific localizer, such as "yarn.package.path" for localizing the package.

      But sometimes, we need to get different resources for localization, one use case is to get the certificate for the samza app to communicate with other services. We do not know details until we use them, so it is better to keep the context for that in the configuration so that the users who are using them can control these resource localization.

      A common configuration for localizer resource would be like the following:
      key: yarn.localizer.resource.<resourceVisibility>.<resourceType>.<resourceName>
      e.g. localizer.resource.APPLICATION.FILE.identity
      where the valid resourceVisibility is a string format of LocalResourceVisibility(enum):
      PUBLIC, PRIVATE, or APPLICATION;
      and the valid resourceType is a string format of LocalResourceType (enum):
      ARCHIVE, FILE, PATTERN;
      e.g. localizer.resource.APPLICATION.FILE.identity
      the valid resourceName could be any non empty String.
      value: <resourcePath>
      where resourcePath is a string format of the URL, e.g. http://hostname.com/test, hdfs://host.com/readme, file:///temp/readme

        Attachments

          Activity

            People

            • Assignee:
              fredji Fred Ji
              Reporter:
              fredji Fred Ji
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: