[ 
https://issues.apache.org/jira/browse/CASSANDRA-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18072681#comment-18072681
 ] 

Pedro Gordo commented on CASSANDRA-18282:
-----------------------------------------

The root cause of this was already fixed on trunk/5.0 by CASSANDRA-17810. When 
a replica-side read is aborted mid-iteration (via \{{CheckForAbort}} from 
CASSANDRA-7392), the iterator is silently truncated by calling \{{stop()}}. If 
this happens inside a range tombstone span, the iterator ends up with an open 
RT marker and no close marker, triggering the \{{IllegalStateException}} in 
\{{RTBoundValidator}}.

CASSANDRA-17810 fixes this by throwing \{{QueryCancelledException}} instead of 
silently stopping, so callers discard the partial response rather than 
serializing a broken iterator. It also adds the partition key and open marker 
deletion time to the error message.

I'm backporting CASSANDRA-17810 to 4.0 and 4.1, plus change "RT" to "Range 
Tombstone" in error messages across all branches.

> Exception for RTBoundValidator
> ------------------------------
>
>                 Key: CASSANDRA-18282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18282
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Observability/Logging
>            Reporter: Brad Schoening
>            Assignee: Pedro Gordo
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 6.x
>
>         Attachments: 18282-logging.patch
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> From the exception RTBoundValidator its not clear what 'RT' refers to. 
> 1.) Exception subject
> Instead of: 'has an illegal RT bounds sequence'
> change to: 'has an illegal Range Tombstone bounds sequence'
> 2.) Why doesn't the (key: %s omdt: [%s]) display in the exception message?
> Example:
> 2023-01-31 18:26:27,480 [ERROR] [ReadStage-9] cluster_id=5 
> ip_address=127.1.1.1 AbstractLocalAwareExecutorService.java:166 - Uncaught 
> exception on thread Thread[ReadStage-9,5,main]
> java.lang.IllegalStateException: MERGED UnfilteredRowIterator for 
> rdhprod.instrument_alias_map has an illegal RT bounds sequence: unexpected 
> end bound or boundary Marker INCL_END_BOUND(T, 
> TBG)@1612002648782856/1612002648
> at 
> org.apache.cassandra.db.transform.RTBoundValidator$RowsTransformation.ise(RTBoundValidator.java:120)
>  ~[apache-cassandra-3.11.11.jar:3.11.11]
> at 
> org.apache.cassandra.db.transform.RTBoundValidator$RowsTransformation.applyToMarker(RTBoundValidator.java:87)
>  ~[apache-cassandra-3.11.11.jar:3.11.11]
> at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:148) 
> ~[apache-cassandra-3.11.11.jar:3.11.11]
> at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:133) 
> ~[apache-cassandra-3.11.11.jar:3.11.11]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to