apache / apache/beam

Load in-process FnHarness instances with a restricted classpath

Open
#18,762 0 comments 0 reactions 0 assignees View on GitHub
direct improvement P3 runners
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.