-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Goodbye and thank you synced flush! #50882
Conversation
@elastic/es-clients FYI, we are removing synced flush on 8.0 |
@dnhatn What will be the effect of this change upon ES's APIs? Just checking to see if we will need to plan for any changes on the Kibana side. |
@cjcenizal Are we using the synced flush in Kibana? We should replace it with a normal flush on 7.6 or later as they have the same effect. |
@dnhatn I believe Index Management uses a regular flush. Thanks! @jloleysens FYI it looks like the {index}/_flush/synced autocomplete definition is automatically generated. However, we'll need to be careful not to backport that change to 7.x since this is a breaking change targeted for 8.0 only. |
The doc build fails because the javascript client still refers to the synced flush api. |
BTW I just got the title of this PR and I ❤️ it! |
Pinging @elastic/es-distributed (:Distributed/Distributed) |
pinging @delvedor , please see #50882 (comment) |
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.
Hello! I've removed the offending lines in elastic/elasticsearch-js@fc5156d, let me know if I can do something more!
run elasticsearch-ci/docs |
qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestSyncedFlushAction.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java
Outdated
Show resolved
Hide resolved
@ywelsch Thank you for reviewing. It's ready for another round. I have made these changes:
|
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.
LGTM
If a synced flush hits a coordinating node on 7.x and the target shards are on 8.x, that request will fail without a clear reason. Perhaps it's okay to remove this transition entirely? I've made the transition smoother
I think we could go without that. The overhead is pretty slim though, so I'm fine keeping it in. It helps the user in an upgrade situation, which is typically already stressful.
test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java
Outdated
Show resolved
Hide resolved
Thanks Yannick! |
Synced flush was a brilliant idea. It supports instant recoveries with a quite small implementation. However, with the presence of sequence numbers and retention leases, it is no longer needed. This change removes it from 8.0. Relates elastic#5077
synced flush is going to be replaced by flush. This commit deprecates the synced flush and is meant to be backported to 7.x relates elastic#50882 relates elastic#51816
…5372) synced flush is going to be replaced by flush. This commit allows to synced_flush api only in v7 compatibility mode. Worth noting - sync_id is gone and won't be available in v7 responses from indices.stats relates removal pr elastic#50882 relates elastic#51816
Synced flush was a brilliant idea. It supports instant recoveries with a quite small implementation. However, with the presence of sequence numbers and retention leases, it is no longer needed. This change removes it from 8.0.
Depends on #50835
Relates #50776