Load in-process FnHarness instances with a restricted classpath
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 4.7k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 205
Description
The new classpath can contain the Java harness code and the user's classpath. This simulates the SDK container, and removes the need for users to provide beam-sdks-java-harness as a dependency.
The idea would be that beam-sdks-java-harness would be a jar containing all of its dependencies shaded away similar to what we do for Dataflow. We would embed the beam-sdks-java-harness.jar as a jar inside the direct runner jar so we wouldn't need to fetch it from Maven and also would be able to solve the problem where tests would run from the provided jar.
Imported from Jira [BEAM-4384](https://issues.apache.org/jira/browse/BEAM-4384). Original Jira may contain additional context.
Reported by: tgroh.
Contributor guide
Research direction
Start by tracing how the Direct Runner loads in-process FnHarness instances and review the existing Dataflow-style shaded JAR approach. The work is complete when a restricted classpath combines the Java harness with the user's classpath, and the shaded beam-sdks-java-harness.jar is embedded in the Direct Runner without requiring a Maven dependency.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100