OAK-10766 | Make lease time out configurable for individual lanes #1429
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.
Lease time out is required to prevent concurrent updates in case of 2 oak instances simultaneously trying to upgrade the async indexes.
This can be a big problem in case of lucene indexes however not so much in case of elastic indexes. Projects implementing oak can have different types of indexes configured on different async lanes, so it can be useful to provide them with an option to configure different lease time outs for different lanes.
Also, in case of lucene indexes, nrt part of the index usually provides support in case of the lease time out duration, however elastic indexes don't have nrt support, so might make sense to be able to configure a lane with only elastic indexes with a lesser lease time out.
The PR maintains backward compatibility. keeping the general least time out config in place. Only if the new per lane lease time out is configured - it would be given priority, otherwise the general lease time out property will be picked up.