Details
-
Bug
-
Status: Open
-
P3
-
Resolution: Unresolved
-
2.4.0, 2.5.0, 2.6.0, 2.7.0, 2.8.0, 2.9.0
-
None
-
None
Description
Starting from Beam 2.4 onwards the InMemoryStateInternals class in the beam-runners-core-java module does an expensive Coder encode/decode operation when copying object state. This has significant impact on performance and pipelines that previously took low minutes do not finish within hours in our case. Based on the discussion on the dev mailing list, the main motivation for this change was to enforce Coder sanity, something that should arguably remain within the realm of the DirectRunner and should not leak into the core layer.
Links to commits that introduced the new behaviour:
Additional details and surrounding discussion can be found here: