Skip to content

SOLR-18367: waitForFinalState now defaults to true, remove the deprecated opt-out - #4783

Open
serhiy-bzhezytskyy wants to merge 3 commits into
apache:mainfrom
serhiy-bzhezytskyy:SOLR-18367-waitforfinalstate-removal
Open

SOLR-18367: waitForFinalState now defaults to true, remove the deprecated opt-out#4783
serhiy-bzhezytskyy wants to merge 3 commits into
apache:mainfrom
serhiy-bzhezytskyy:SOLR-18367-waitforfinalstate-removal

Conversation

@serhiy-bzhezytskyy

Copy link
Copy Markdown
Contributor

https://issues.apache.org/jira/browse/SOLR-18367

Completes SOLR-17712's proposal: "internal logic should behave as if it's true", removing the ability to opt out of waiting for final state. Two commits:

  1. Client: removes AsyncCollectionAdminRequest.setWaitForFinalState (deprecated in 9.10, the first step); the field now always resolves to true.
  2. Server: flips the default from false to true in all 8 commands that read the param (CREATE, ADDREPLICA, CREATESHARD, MOVEREPLICA, SPLITSHARD, BALANCE_REPLICAS, MIGRATE_REPLICAS, REPLACENODE).

72 tests across all 8 affected commands, 0 failures.

@dsmiley -- you proposed this in SOLR-17712 and specifically suggested waiting some weeks through tests before the full removal; flagging in case there's a reason it shouldn't go in yet.

AI-assisted (Claude Sonnet 5)

…nalState, default to true

SOLR-17712 proposed removing the ability to opt out of waiting for
final state entirely, defaulting to 'true'. The setter was deprecated
in 9.10 as the first step; this is the second: the field now always
resolves to true (no other code path can set it to false), so the
setter -- and every test call site that was toggling it -- is gone.
Removes/cleans 6 test call sites (5 were redundant .setWaitForFinalState(true)
calls; CollectionsAPISolrJTest's .setWaitForFinalState(false) is dropped too,
since the test doesn't depend on the non-waiting behavior).
…ands

Completes SOLR-17712's proposal: 'internal logic should behave as if
it's true'. Flips the server-side default from false to true in
CreateCollectionCmd, AddReplicaCmd, CreateShardCmd, MoveReplicaCmd,
SplitShardCmd, BalanceReplicasCmd, MigrateReplicasCmd, ReplaceNodeCmd.
The V2 API request bodies (nullable Boolean fields) don't need a
change -- when unset they serialize to absent, and these Cmd-level
defaults are what actually apply.

72 tests across all 8 affected commands, 0 failures.
@dsmiley

dsmiley commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

This is a difficult issue; I wish I could have stopped your attempt before you began because there is past work here pending that ought to be examined closely before venturing off to do this. If this relatively simple PR actually works then I'm surprised... the CI failures likely corroborate my concern. Please consider participating in the other PR.

@dsmiley
dsmiley self-requested a review August 21, 2026 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants