Skip to content

CEP-45 - Fix consensus request forwarding bugs and extract it from St… - #5018

Open
bdeggleston wants to merge 1 commit into
apache:cep-45-mutation-trackingfrom
bdeggleston:C21565-paxos-forwarding-bugs
Open

CEP-45 - Fix consensus request forwarding bugs and extract it from St…#5018
bdeggleston wants to merge 1 commit into
apache:cep-45-mutation-trackingfrom
bdeggleston:C21565-paxos-forwarding-bugs

Conversation

@bdeggleston

Copy link
Copy Markdown
Member

…orageProxy

  • CasForwardResponse held a single-use RowIterator that serialize and serializedSize both drained, so the write pass emitted an empty partition and tripped messaging's length assertion. deserialize had the mirror defect. Materialise a FilteredPartition on both sides.
  • Forwarded timeouts arrived nested in an ExecutionException and became bare RuntimeExceptions, erasing the indeterminacy callers judge by exception type. Examine the cause and translate.
  • A CAS that applied reports no result, which read as "no forwarding needed", so the caller re-ran it locally. Wrap the outcome in Forwarded.

Thanks for sending a pull request! Here are some tips if you're new here:

  • Ensure you have added or run the appropriate tests for your PR.
  • Be sure to keep the PR description updated to reflect all changes.
  • Write your PR title to summarize what this PR proposes.
  • If possible, provide a concise example to reproduce the issue for a faster review.
  • Read our contributor guidelines
  • If you're making a documentation change, see our guide to documentation contribution

Commit messages should follow the following format:

<One sentence description, usually Jira title or CHANGES.txt summary>

<Optional lengthier description (context on patch)>

patch by <Authors>; reviewed by <Reviewers> for CASSANDRA-#####

Co-authored-by: Name1 <email1>
Co-authored-by: Name2 <email2>

The Cassandra Jira

…orageProxy

 - CasForwardResponse held a single-use RowIterator that serialize and
   serializedSize both drained, so the write pass emitted an empty partition and
   tripped messaging's length assertion. deserialize had the mirror defect.
   Materialise a FilteredPartition on both sides.
 - Forwarded timeouts arrived nested in an ExecutionException and became bare
   RuntimeExceptions, erasing the indeterminacy callers judge by exception type.
   Examine the cause and translate.
 - A CAS that applied reports no result, which read as "no forwarding needed", so
   the caller re-ran it locally. Wrap the outcome in Forwarded<T>.

@aweisberg aweisberg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

+1

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