[
https://issues.apache.org/jira/browse/CASSANDRA-8568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14363960#comment-14363960
]
Benedict commented on CASSANDRA-8568:
-------------------------------------
I've force pushed an update to my repository that fixes a couple of minor bugs,
and introduces a FaultInjectionTestRunner based on ByteMan. It is a work in
progress, with the goal state being complete coverage of all possible
interleavings of different pathways. Right now it is testing a majority of
simple single failures that can occur during an online SSTableRewriter action.
I intend to extend this to the complete set of single failures in the normal
path (if a failure point can be hit multiple times, I intend also ensure each
possible time is tried, to test all intermediate states), and also failures
during recovery.
My hope is we can roll the new FaultInjectionTestRunner out into a number of
other places in the codebase as well.
> Impose new API on data tracker modifications that makes correct usage obvious
> and imposes safety
> ------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-8568
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8568
> Project: Cassandra
> Issue Type: Bug
> Reporter: Benedict
> Assignee: Benedict
>
> DataTracker has become a bit of a quagmire, and not at all obvious to
> interface with, with many subtly different modifiers. I suspect it is still
> subtly broken, especially around error recovery.
> I propose piggy-backing on CASSANDRA-7705 to offer RAII (and GC-enforced, for
> those situations where a try/finally block isn't possible) objects that have
> transactional behaviour, and with few simple declarative methods that can be
> composed simply to provide all of the functionality we currently need.
> See CASSANDRA-8399 for context
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)