Skip to content

storage: Reintroduce backoff in Store.Send retry loop#13875

Closed
bdarnell wants to merge 1 commit intocockroachdb:masterfrom
bdarnell:store-retry
Closed

storage: Reintroduce backoff in Store.Send retry loop#13875
bdarnell wants to merge 1 commit intocockroachdb:masterfrom
bdarnell:store-retry

Conversation

@bdarnell
Copy link
Copy Markdown
Contributor

@bdarnell bdarnell commented Mar 1, 2017

The pushTxnQueue is only used for PushTxn operations that are sent by
themselves in a batch, but the intentResolver may send multiple pushes
at once. These batches would be retried in a tight loop.


This change is Reviewable

The pushTxnQueue is only used for PushTxn operations that are sent by
themselves in a batch, but the intentResolver may send multiple pushes
at once. These batches would be retried in a tight loop.
@petermattis
Copy link
Copy Markdown
Collaborator

:lgtm:


Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.


pkg/storage/store.go, line 2636 at r1 (raw file):

			// exponential backoff.
			if usingPushTxnQueue {
				r.Reset()

Why is this necessary? You already called r.Reset when you set usingPushTxnQueue to true. I think I'm missing something.


Comments from Reviewable

@bdarnell
Copy link
Copy Markdown
Contributor Author

bdarnell commented Mar 2, 2017

I'm no longer sure about the premise of this change. @spencerkimball pointed out that PushTxn now has the isAlone flag, so the DistSender will split up any batches containing more than one. So if there is anything wrong with this retry loop it's more subtle than multiple pushes in a batch.


Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.


pkg/storage/store.go, line 2636 at r1 (raw file):

Previously, petermattis (Peter Mattis) wrote…

Why is this necessary? You already called r.Reset when you set usingPushTxnQueue to true. I think I'm missing something.

Oops. I was thinking for some reason that this needed to be at the end of the loop, but it doesn't. I'll remove this and the extra variable.


Comments from Reviewable

spencerkimball added a commit that referenced this pull request Mar 22, 2017
Ensure that the execution pathway used after a new lease is applied to a
range is invoked after splitting a range on the newly created lease for
the RHS of the split.

Fixes #13876
Closes #13875
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