cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8568) Impose new API on data tracker modifications that makes correct usage obvious and imposes safety
Date Mon, 16 Mar 2015 21:14:39 GMT

    [ 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)

Mime
View raw message