Skip to content

Verify ReplicationHandler leader/follower fetch lifecycle #238

Closed

Description

@vsimko

Context

ReplicationHandler exposes typed commands for index version, details, file lists, leader/follower control, and raw file streaming. The complete one-shot leader/follower fetch and searchable read-back is now implemented and has passed the pinned CI matrix.

Scope

  • Build an isolated multi-core or multi-node fixture with disposable leader and follower.
  • Verify the canonical fetchindex / abortfetch command names on Solr 8.11.4, 9.11.0, and 10.1.0.
  • Assert follower index state after fetch and verify deterministic cleanup.
  • Keep credentials and sensitive replication metadata out of logs and failure output.

Acceptance criteria

  • Complete one-shot leader/follower fetch cycle is exercised on each supported pinned version.
  • Version-specific command names and parameters are asserted.
  • Tests verify resulting follower state, not only successful HTTP responses.
  • Cleanup is deterministic and isolated.
  • Compatibility docs and inventory distinguish tested from unverified variants.

Implementation and validation update (2026-11-04)

  • PR test(solr): verify replication and shard lifecycle operations #253 adds an isolated two-core leader/follower test, document read-back, and deterministic fixture cleanup.
  • The initial security matrix exposed follower-to-leader BasicAuth HTTP 401. The test now supplies the documented httpBasicAuthUser / httpBasicAuthPassword follower connection parameters on fetchindex, without putting credentials in the leader URL.
  • CI run #640 passed 30/30 jobs, including all security-integration and regular integration combinations for Solr 8.11.4, 9.11.0, and 10.1.0 on Node.js 20/22/24.
  • The one-shot fetch lifecycle and searchable read-back are verified. Live-transfer abort and automatic polling lifecycle remain explicitly unverified; no certification is claimed for them.
  • PR test(solr): verify replication and shard lifecycle operations #253 merged to master as 9877e8976687eef7bff3db46733cd0b4b30dde86; this issue is complete. Live-transfer abort and polling lifecycle remain explicitly outside the verified scope.

Activity

  1. vsimko commented on Nov 4, 2026

    @vsimko
    OwnerAuthor

    Progress update (2026-11-04): PR #253 adds the disposable leader/follower fetch-and-read-back integration test for Solr 8/9 (snappull) and Solr 10 (fetchindex), plus cleanup and timeout diagnostics. CI run #624 is currently running on the PR head after correcting legacy qt=/replication routing by enabling handleSelect on the leader's /select handler. Keep this issue open until the complete pinned-version CI matrix passes and compatibility documentation is updated from the resulting evidence.

  2. vsimko commented on Nov 4, 2026

    @vsimko
    OwnerAuthor

    Correction (2026-11-04): CI #624 showed the Solr 8 compatibility switch was configured at the wrong layer. The fix now patches only the disposable Solr 8.11.4 configset's <requestDispatcher handleSelect="true">; this is not a /select request-handler property. The same run confirmed Solr 9.11.0 uses fetchindex/abortfetch, while only Solr 8.11.4 uses snappull/abort. Both corrections and compatibility docs are in the latest PR #253 head 3845a2d6b5981fa3226b868d7e71745d72699e69. Leave this issue open until that full matrix passes.

  3. vsimko commented on Nov 4, 2026

    @vsimko
    OwnerAuthor

    Further correction (2026-11-04): Solr 8.11.4's official API constant values confirm CMD_FETCH_INDEX = "fetchindex" and CMD_ABORT_FETCH = "abortfetch" (https://solr.apache.org/docs/8_11_4/solr-core/constant-values.html#org.apache.solr.handler.ReplicationHandler). The snappull wording in the class summary is stale; the command constants are authoritative. Solr 9.11 and 10.1 use the same commands. I removed the unnecessary RequestDispatcher change and standardized the test/docs on fetchindex/abortfetch for all pinned versions. Latest PR #253 head: 6ad447192057f10c37998da523c569e838d3b9e8. Keep this issue open until the latest CI matrix passes.

  4. vsimko commented on Nov 4, 2026

    @vsimko
    OwnerAuthor

    Update (2026-11-04): PR #254 has been merged to master, so the CI workflow now exposes workflow_dispatch and the enable_destructive_solrcloud_tests input (default false). Manual SPLITSHARD/MIGRATE verification can now be started from Actions → CI → Run workflow, selecting test/solr-nonblocking-issues-final and setting the input to true. The opt-in run still needs to complete successfully for each pinned Solr version before this issue can be closed. PR #253 CI run #635 is currently in progress; its replication lifecycle matrix has not yet fully completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions