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

Ariel Weisberg commented on CASSANDRA-9038:
-------------------------------------------

The scope of this ticket is a bit mixed since single row atomicity has nothing 
to do with atomic batches.

I think you can only prove something is thread safe with static analysis and a 
language that supports validation. 

The goal would be to find the easy to find interleavings as well as to catch 
any future changes that break it in a big way.

Some of the linked tests would work as units tests and some would work as 
dtests. That would make it easier to slot into the existing test 
infrastructure. Since there is a dependency on Farsandra dtests are probably 
the easiest way.

I think the goal is to force the various code paths that implement logged 
batched to occur. So if atomic batches work around failure, induce failure and 
then check that the batch completes as promised once the failure condition 
clears. Even a quick test that works is great because it will lay out the 
plumbing for more complex testing.

I recall adding byteman support to dtests so you can use that to create failure 
conditions.

> Atomic batches and single row atomicity appear to have no test coverage
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-9038
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9038
>             Project: Cassandra
>          Issue Type: Test
>            Reporter: Ariel Weisberg
>
> Leaving the solution to this up to the assignee. It seems like this is a 
> guarantee that should be checked.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to