cameronlee314 opened a new pull request #1337: SAMZA-2498: [Job coordinator isolation] Classloader isolation for SamzaApplication.describe execution in job coordinator URL: https://github.com/apache/samza/pull/1337 Feature: https://cwiki.apache.org/confluence/display/SAMZA/SEP-24%3A+Cluster-based+Job+Coordinator+Dependency+Isolation#SEP-24:Cluster-basedJobCoordinatorDependencyIsolation-HandlingSamzaApplication.describe Changes: 1. Add a method `IsolatingClassLoaderFactory.buildSamzaApplicationClassLoader` to construct a classloader for loading the `SamzaApplication` implementation for an app. 2. If isolation is enabled, then call `buildSamzaApplicationClassLoader` to load the `SamzaApplication` implementation in the job coordinator. Tests: Deployed `wikipedia-feed` application (uses low-level API, has custom input descriptor, uses Kafka output descriptor) and `wikipedia-parser` application (uses low-level API, Kafka descriptors) in split deployment mode with some debug logs, and verified the following: 1. `TaskApplicationDescriptorImpl` and `KafkaSystemDescriptor` came from the framework infrastructure classloader. 2. `WikipediaSystemDescriptor` (custom descriptor) came from the application classloader. 3. `WikipediaFeedTaskApplication` (impl of `SamzaApplication`) came from the newly built application describe classloader. 4. Lambda which was used for the `TaskFactory` in `WikipediaFeedTaskApplication` came from the newly built application describe classloader, and it implemented the `StreamTaskFactory` interface which was loaded by the framework API classloader. 5. Verified expected system-stream metadata from custom system (`WikipediaSystemFactory`) Deployed `wikipedia-parser` application (uses low-level API, Kafka descriptors) and verified the classloaders using debug logs. API/usage changes: None
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
