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/Distributed A catch all label for anything in the Distributed Indexing Area. Please avoid if you can. backport labels Feb 21, 2019
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-distributed

@tlrx
Copy link
Member Author

tlrx commented Feb 21, 2019

@elasticmachine run elasticsearch-ci/default-distro

@tlrx tlrx merged commit 3c812d9 into elastic:7.0 Feb 22, 2019
@tlrx tlrx deleted the read-only-engine-recovery-state-7.0 branch February 22, 2019 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport :Distributed Indexing/Distributed A catch all label for anything in the Distributed Indexing Area. Please avoid if you can.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants