Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduced Global checkpoints for Sequence Numbers #15485

Merged
merged 15 commits into from
Jun 6, 2016

Conversation

bleskes
Copy link
Contributor

@bleskes bleskes commented Dec 16, 2015

This is a work in progress PR for introducing Global Checkpoints into the feature/seq_no branch. I made it to get some feedback before things are finalized / cycles are spent on docs etc. It is fairly solid, but a couple of things miss:

  1. Lucene level doc rejections are not yet dealt with (I need to do some work on master).
  2. Nothing is persisted yet. This will be a future PR.
  3. No tests - I'll add those if we're good on the setup.

@bleskes
Copy link
Contributor Author

bleskes commented Dec 17, 2015

@jasontedor I fixed the issue we ran into yesterday where the a primary relocation target started updating the global checkpoint too early

@Override
public void handleResponse(TransportResponse.Empty vResponse) {
onReplicaSuccess();
transportService.sendRequest(node, transportReplicaAction, replicaRequest, transportOptions, new TransportResponseHandler<ShardResponse>() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: the indentation is off throughout the body of the anonymous implementation of TransportRequestHandler<ShardResponse> here.


/**
* A shard component that is responsible of tracking the global checkpoint. The global checkpoint
* is the highest seq_no for which all lower (or equal) seq no have been process on all shards that
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: "seq no" -> "seq_no" (inconsistencies will make searching more difficult)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: "process" -> "processed"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@jasontedor
Copy link
Member

Since this has gone through a few rounds of review before, I largely have the same thoughts I had then. I gave it a thorough re-read and left some comments.

@bleskes
Copy link
Contributor Author

bleskes commented Jun 6, 2016

@jasontedor thx for the review. I pushed another commit addressing it.

@jasontedor
Copy link
Member

LGTM.

@bleskes bleskes merged commit 4844325 into elastic:feature/seq_no Jun 6, 2016
@bleskes bleskes deleted the global_checkpoint branch June 6, 2016 10:53
@clintongormley clintongormley added :Engine :Distributed Indexing/Engine Anything around managing Lucene and the Translog in an open shard. and removed :Sequence IDs labels Feb 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
: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.

3 participants