Details
-
Bug
-
Status: Open
-
P3
-
Resolution: Unresolved
-
None
-
None
-
None
Description
In Java runner harness shared library code, the ActivateBundle is returned only when data channel is connected: https://github.com/apache/beam/blob/master/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClient.java#L268-L283. But the SDK can fail the bundle and sent the ProcessBundleResponse with error before registering data channel, e.g, throwing exceptions when creating FnApiDoFnRunner. This results in the runner gets timeout error(https://github.com/apache/beam/blob/master/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/data/GrpcDataService.java#L182) and doesn't populate possible error in ProcessBundleResponse. We need to find a way to abort sooner and populate correct error message.