apache / apache/beam

Transform rehydrator registration should be idempotent

Open
#18,546 0 comments 0 reactions 0 assignees View on GitHub
bug core P3 runners
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
2d 2h
Merged PRs (30d)
205

Description

Currently, if the same URN is registered twice, it results in an exception. Instead, if it is a duplicate registration (for example, caused by double-shading of the service loader config) it should succeed. This requires probably good equals methods for the rehydrators.

Other minor issues: it will fail at load time and from then throw class not found errors, which is extremely annoying. It should instead load lazily so we can always get a good stack trace.

Imported from Jira [BEAM-3069](https://issues.apache.org/jira/browse/BEAM-3069). Original Jira may contain additional context.
Reported by: kenn.

Contributor guide

Open the contributing guide

Research direction

Start by locating the transform rehydrator registration and the service-loader configuration that supplies it. Reproduce duplicate URN registration and the load-time class failure, then verify that duplicate registrations succeed and failures retain a useful stack trace.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.