[
https://issues.apache.org/jira/browse/CASSANDRA-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12752812#action_12752812
]
Jonathan Ellis commented on CASSANDRA-414:
------------------------------------------
03
Replace sstableLock with SSTableTracker, which performs updates to the
sstable list atomically
without readers ever having to block. (Readers will always either see the
old list, or the new.)
We avoid a race on the delete of the old SSTable files on-disk by using a
ReferenceQueue:
when the last reference is gone, a PhantomReference is added to the queue
and can do cleanup.
In case Cassandra is killed between compaction and this cleanup, a
-Compacted empty file
is written to disk; Cassandra removes any files thus tagged on startup.
02
convert ssTables_ to a Set, since the filename is encapsulated in the SSTR
object now
01
CASSANDRA-414 combine addToList and storeLocation; rename to addSSTable
ready for review.
there is a good summary of how PhantomReference and ReferenceQueue work here:
http://www.kdgregory.com/index.php?page=java.refobj
> remove sstableLock
> ------------------
>
> Key: CASSANDRA-414
> URL: https://issues.apache.org/jira/browse/CASSANDRA-414
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments:
> 0001-CASSANDRA-414-combine-addToList-and-storeLocation-ren.txt,
> 0001-CASSANDRA-414-combine-addToList-and-storeLocation-ren.txt,
> 0001-CASSANDRA-414-combine-addToList-and-storeLocation-ren.txt,
> 0002-convert-ssTables_-to-a-Set-since-the-filename-is-enca.txt,
> 0002-remove-sstableLock.-re-order-a-few-ops-so-that-we-can.txt,
> 0002-remove-sstableLock.-re-order-a-few-ops-so-that-we-can.txt,
> 0003-Replace-sstableLock-with-SSTableTracker-which-perform.txt
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.