-
Notifications
You must be signed in to change notification settings - Fork 698
application: stop schema_registry clients before datalake subsystems #28391
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
base: dev
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR addresses a shutdown hang caused by datalake translators repeatedly attempting to query the schema registry during shutdown. The fix ensures the schema registry is stopped before datalake subsystems begin their shutdown sequence.
Key Changes:
- Schema registry shutdown is now invoked earlier in the shutdown sequence, before datalake services
- Schema registry lifecycle management is modified to support early shutdown while maintaining proper destruction order
src/v/redpanda/application.cc
Outdated
| if (_schema_registry) { | ||
| stop_service(*_schema_registry, "pandaproxy::schema_registry::api"); | ||
| } | ||
|
|
Copilot
AI
Nov 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Adding early shutdown logic for schema_registry while keeping its destruction in the normal order creates a split lifecycle pattern that could be confusing. Consider documenting this pattern more prominently (e.g., in a comment near the _schema_registry member declaration) to prevent future developers from inadvertently breaking this ordering.
src/v/redpanda/application.cc
Outdated
| // NOTE: we'll stop the schema registry out of band before some other | ||
| // subsystems, but destruct it in the "normal" order as it was | ||
| // initialized. |
Copilot
AI
Nov 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The comment should specify which subsystems require schema registry to be stopped first (specifically mentioning datalake subsystems) to make the reasoning clearer and help future maintainers understand the ordering constraint.
| // NOTE: we'll stop the schema registry out of band before some other | |
| // subsystems, but destruct it in the "normal" order as it was | |
| // initialized. | |
| // NOTE: we'll stop the schema registry out of band before certain | |
| // subsystems that depend on it, specifically datalake-related subsystems | |
| // such as data transforms and WASM. This ensures proper shutdown ordering | |
| // and avoids issues with dangling references. The schema registry is | |
| // destructed in the "normal" order as it was initialized. |
CI test resultstest results on build#75717
|
93a572c to
88e7917
Compare
We've seen a shutdown hang that appears to be caused by a datalake translator getting stuck repeatedly trying to query the schema registry. This attempts to fix this by moving schema registry client shutdown to before datalake shutdown.
88e7917 to
e96b3ae
Compare
We've seen a shutdown hang that appears to be caused by a datalake translator getting stuck repeatedly trying to query the schema registry.
This attempts to fix this by moving schema registry client shutdown to before datalake shutdown.
Backports Required
Release Notes