Skip to content

Conversation

@tlrx
Copy link
Member

@tlrx tlrx commented Feb 21, 2019

ReadOnlyEngine never recovers operations from translog and never
updates translog information in the index shard's recovery state, even
though the recovery state goes through the TRANSLOG stage during
the recovery. It means that recovery information for frozen shards indicates
an unkown number of recovered translog ops in the Recovery APIs
(translog_ops: -1 and translog_ops_percent: -1.0%) and this is confusing.

This commit changes the recoverFromTranslog() method in ReadOnlyEngine
so that it always recover from an empty translog snapshot, allowing the recovery
state translog information to be correctly updated.

Related to #33888

…stic#39238)

`ReadOnlyEngine` never recovers operations from translog and never 
updates translog information in the index shard's recovery state, even 
though the recovery state goes through the `TRANSLOG` stage during 
the recovery. It means that recovery information for frozen shards indicates 
an unkown number of recovered translog ops in the Recovery APIs 
(translog_ops: `-1` and translog_ops_percent: `-1.0%`) and this is confusing.

This commit changes the `recoverFromTranslog()` method in `ReadOnlyEngine` 
so that it always recover from an empty translog snapshot, allowing the recovery 
state translog information to be correctly updated.

Related to elastic#33888
@tlrx tlrx added :Distributed Indexing/Engine Anything around managing Lucene and the Translog in an open shard. backport labels Feb 21, 2019
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-distributed

@tlrx tlrx merged commit fc896e4 into elastic:7.x Feb 21, 2019
@tlrx tlrx deleted the read-only-engine-recovery-state-7.x branch February 21, 2019 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport :Distributed Indexing/Engine Anything around managing Lucene and the Translog in an open shard.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants