Skip to content

Index locking is still required for ServiceControl 6.20.0 to 6.21.0 - #8521

Open
mauroservienti wants to merge 4 commits into
masterfrom
servicecontrol-lock-index-until-6.21.1
Open

mauroservienti wants to merge 4 commits into
masterfrom
servicecontrol-lock-index-until-6.21.1

Conversation

@mauroservienti

@mauroservienti mauroservienti commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

#8496 said that a lock on a migrated index is not necessary from ServiceControl 6.20.0. That is not correct. Versions 6.20.0 and 6.21.0 deploy their index definitions without the search engine configured on the index. RavenDB then builds a side-by-side ReplacementOf/<index> with the database default. For databases created before 6.20, the default is Corax. A customer unlocked a migrated MessagesViewIndexWithFullTextSearch and the index was reset to Corax.

The fix is planned for ServiceControl 6.21.1: Particular/ServiceControl#5946. ServiceControl then keeps the search engine configured on an index when it deploys its index definitions.

Changes to servicecontrol/ravendb/search-engine.md:

  • The lock is necessary for versions before 6.21.1 (was 6.20.0)
  • On 6.21.1 and later, a migrated index can stay unlocked and still receives definition changes
  • New section on the recovery of an index that was reset to Corax after it was unlocked. It covers a pending replacement and a replacement that is already swapped in.

Changes to servicecontrol/upgrades/6.19to6.20.md:

Note

Merge this after the release of ServiceControl 6.21.1. If the fix ships in a different version, change the version references first.

mauroservienti and others added 4 commits October 5, 2026 13:23
Versions 6.20.0 and 6.21.0 still reset a migrated index to the database
default (Corax) at start-up when it is not locked. The fix ships in
6.21.1. Also document how to recover from an index that was reset to
Corax after being unlocked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the audit index rebuild in the 6.20 upgrade guide
…earch engine docs

- Fix anchor links to numbered headings, the docs engine drops the step number
- On 6.20.0 and 6.21.0 a rebuilt index uses the database search engine, not the
  one of the existing index
- Delete the Corax replacement before locking the migrated index, and restart
  RavenDB on Windows in between: while the index is locked the delete can have
  no effect, and RavenDB can keep files of a deleted replacement open
- Give the already-swapped case a path for 6.20.0 and 6.21.0 as well
- Move the recovery steps out of the migration procedure into their own section
  and state once that the lock is not necessary from 6.21.1
- Document that from 6.21.1 new indexes in existing databases use Lucene

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants