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-7964) cassandra-stress over schema should support multiple simultaneous inserts over the same seed
Date Thu, 18 Sep 2014 18:57:36 GMT

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

Benedict commented on CASSANDRA-7964:
-------------------------------------

Patch available [here|https://github.com/belliottsmith/cassandra/tree/7964-simultinserts]

It does some reasonably non-trivial refactoring so that the various bits of state can be maintained.
The basic idea, though, is very simple: whenever we setup an iterator for a partition we're
writing to, we check the current position of the seed, establish a limit we will visit for
this iterator and immediately cas the position we have to this new limit; if we succeed, we
now own that range exclusively, but another writer can still come and operate over the remainder
of the range. We don't immediately validate that the range exists, we just operate over averages,
and corroborate after adoption. If it doesn't exist, we attempt to cas the position again
to an existing position, and then another limit, until we exhaust the partition, at which
point we abort and ask for a new seed. 

This somewhat complicates the iteration logic, and increases coupling of seed generation to
the iterator, but it's pretty inescapable unfortunately.

> cassandra-stress over schema should support multiple simultaneous inserts over the same
seed
> --------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7964
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7964
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Tools
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Minor
>
> This constraint makes testing contention essentially impossible



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

Mime
View raw message