[ https://issues.apache.org/jira/browse/CASSANDRA-12311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Geoffrey Yu updated CASSANDRA-12311: ------------------------------------ Attachment: 12311-trunk-v4.txt I've attached a patch with {{failures}} removed. I removed it from the exceptions themselves, which does have the implication that we lose some information when decoding an {{ErrorMessage}} while using protocol v4 (i.e. we can't meaningfully re-create the failure reason code map with just the number of failures). I feel that this is okay since as far as I'm aware, decoding the number of failures is meaningful (in this codebase) only when it is actually being used by {{o.a.c.transport.Client}} client-side. Let me know if I should change this. I'll get working on the dtests and update here once I have them done. > Propagate TombstoneOverwhelmingException to the client > ------------------------------------------------------ > > Key: CASSANDRA-12311 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12311 > Project: Cassandra > Issue Type: Improvement > Reporter: Geoffrey Yu > Assignee: Geoffrey Yu > Priority: Minor > Labels: client-impacting, doc-impacting > Fix For: 4.x > > Attachments: 12311-trunk-v2.txt, 12311-trunk-v3.txt, > 12311-trunk-v4.txt, 12311-trunk.txt > > > Right now if a data node fails to perform a read because it ran into a > {{TombstoneOverwhelmingException}}, it only responds back to the coordinator > node with a generic failure. Under this scheme, the coordinator won't be able > to know exactly why the request failed and subsequently the client only gets > a generic {{ReadFailureException}}. It would be useful to inform the client > that their read failed because we read too many tombstones. We should have > the data nodes reply with a failure type so the coordinator can pass this > information to the client. -- This message was sent by Atlassian JIRA (v6.3.4#6332)