-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimize failed key processing by indexing workitems by shardingkey + workid #33755
base: master
Are you sure you want to change the base?
Conversation
R: @scwhittle |
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control. If you'd like to restart, comment |
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
...r/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/WorkIdWithShardingKey.java
Outdated
Show resolved
Hide resolved
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Show resolved
Hide resolved
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
I'll think about this more. Don't want to block this PR on it. |
.../worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/ActiveWorkState.java
Outdated
Show resolved
Hide resolved
needs resolving |
resolved conflicts |
Run Java PreCommit |
2 similar comments
Run Java PreCommit |
Run Java PreCommit |
The failing tests are real failures, the test logic needs to be modified to account for the fact only one work item can be active for a sharding key after this change. |
The n^2 loop in failWorkForKey hols the ActiveWorkState mutex and causes delays when many items fail