GEODE-8856: Persist gateway-sender startup-action#7859
Closed
jvarenina wants to merge 2 commits into
Closed
Conversation
5467a1e to
5537c05
Compare
New startup-action parameter with values "stop", "pause" and "start" is now persisted
during the runtime when following commands are issued:
pause gateway-sender --> startup-action="pause"
stop gateway-sender --> startup-action="stop"
start gateway-sender --> startup-action="start"
resume gateway-sender --> startup-action="start"
Parameter is not updated and persisted when commands are executed per member as
cluster configuration is not updated in that case.
New startup-action parameter will now inter-work with manual-start in a following way:
- If manual-start="true" and startup-action parameter is missing, then gateway sender
will require manual start (same as before).
- If manual-start is not set (or "false") and startup-action parameter is missing, then
gateway sender will be started automatically (same as before).
- If parameter startup-action is available in cluster configuration at startup,
then gateway-sender will try to reach that state regardless of manual-start
parameter value.
d43af99 to
b858edc
Compare
Member
|
@JinwooHwang: This PR contains commits that address a specific RFC. It looks to me like @jvarenina thoroughly addressed that, developed a thoughtful solution, and engineered it according to the parameters of the plan. The proposed solution recently passed all tests you restarted. @jvarenina, do you happen to have any additional context or comment on this request? Is this still something you'd like to see merged? |
Member
|
@JinwooHwang: I've been unable to get in touch with @jvarenina on this one, but please see my notes and assessment from last month. |
Contributor
|
@semioticrobotic. Since @jvarenina is not available, it would make sense to close this out and resume whenever @jvarenina is ready to engage in the review process. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New startup-action parameter with values "stop", "pause" and "start" is now persisted
during the runtime when following commands are issued:
The startup-action parameter is persisted within cluster configuration when above gfsh
commands are executed successfully on at least one of the servers. Parameter is
not updated and persisted when commands are executed per member as
cluster configuration is not persisted in that case.
New startup-action parameter will now inter-work with manual-start in a following way:
will require manual start (same as before).
gateway sender will be started automatically (same as before).
then gateway-sender will try to reach that state regardless of manual-start
parameter value.
The manual-start is also improved in order to fully comply to above requirement to
start gateway sender in stopped state.
Current problem with manual-start parameter:
Currently, when manual-start is configured to be "true", then colocated persistent
parallel gateway sender queue region and buckets are not recovered after server
is restarted. Because of that the main persistent region that is colocated with
gateway sender queue region cannot reach online status.
Solution to manual-start problem implemented in this commit:
When manual-start parameter is "true" or gateway sender startup-action is "stop", then
persistent parallel gateway-sender queues will now be recovered (if needed) from
persistent storage during startup of the server. Queues will be recovered by using the
existing mechanism that is used when gateway sender is automatically recovered
(manual-start==false) after server is restarted. In this case parallel gateway sender
queue persistent region and buckets are recovered (if needed) right after the main
persistent region and buckets are recovered.
Additionally in above case, parallel gateway sender will now reach the same state
that it has when first started and then stopped by using gfsh command. In that state
parallel gateway sender queue buckets remain on the servers, but dispatcher threads are
stopped and non of the events are stored in queues.
For all changes:
Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
Has your PR been rebased against the latest commit within the target branch (typically
develop)?Is your initial contribution a single, squashed commit?
Does
gradlew buildrun cleanly?Have you written or updated unit tests to verify your changes?
If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?