Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.
The "JmxInterface" page has been changed by RobertColi. http://wiki.apache.org/cassandra/JmxInterface?action=diff&rev1=9&rev2=10 -------------------------------------------------- <<Anchor(org.apache.cassandra.concurrent.FLUSH-SORTER-POOL)>> == org.apache.cassandra.concurrent.FLUSH-SORTER-POOL == - See Also : [[#org.apache.cassandra.concurrent.FLUSH-WRITER-POOL|FLUSH-WRITER-POOL]]. Per src/java/org/apache/cassandra/db/ColumnFamilyStore.java, + See Also : [[#org.apache.cassandra.concurrent.FLUSH-WRITER-POOL|FLUSH-WRITER-POOL]] and [[#org.apache.cassandra.concurrent.MEMTABLE-POST-FLUSHER|MEMTABLE-POST-FLUSHER]]. Per src/java/org/apache/cassandra/db/ColumnFamilyStore.java, {{{ * submitFlush first puts [Binary]Memtable.getSortedContents on the flushSorter executor, * which then puts the sorted results on the writer executor. This is because sorting is CPU-bound, @@ -94, +94 @@ <<Anchor(org.apache.cassandra.concurrent.FLUSH-WRITER-POOL)>> == org.apache.cassandra.concurrent.FLUSH-WRITER-POOL == - See Also : [[#org.apache.cassandra.concurrent.FLUSH-SORTER-POOL|FLUSH-SORTER-POOL]]. Per src/java/org/apache/cassandra/db/ColumnFamilyStore.java, + See Also : [[#org.apache.cassandra.concurrent.FLUSH-SORTER-POOL|FLUSH-SORTER-POOL]] and [[#org.apache.cassandra.concurrent.MEMTABLE-POST-FLUSHER|MEMTABLE-POST-FLUSHER]]. Per src/java/org/apache/cassandra/db/ColumnFamilyStore.java, {{{ * submitFlush first puts [Binary]Memtable.getSortedContents on the flushSorter executor, * which then puts the sorted results on the writer executor. This is because sorting is CPU-bound, @@ -150, +150 @@ <<Anchor(org.apache.cassandra.concurrent.MEMTABLE-POST-FLUSHER)>> == org.apache.cassandra.concurrent.MEMTABLE-POST-FLUSHER == - Per src/java/org/apache/cassandra/service/ + See Also : [[#org.apache.cassandra.concurrent.FLUSH-SORTER-POOL|FLUSH-SORTER-POOL]] and [[#org.apache.cassandra.concurrent.FLUSH-WRITER-POOL|FLUSH-WRITER-POOL]]. Per src/java/org/apache/cassandra/db/ColumnFamilyStore.java, {{{ + * submitFlush first puts [Binary]Memtable.getSortedContents on the flushSorter executor, + * which then puts the sorted results on the writer executor. This is because sorting is CPU-bound, + * and writing is disk-bound; we want to be able to do both at once. When the write is complete, + * we turn the writer into an SSTableReader and add it to ssTables_ where it is available for reads. + * + * For BinaryMemtable that's about all that happens. For live Memtables there are two other things + * that switchMemtable does (which should be the only caller of submitFlush in this case). + * First, it puts the Memtable into memtablesPendingFlush, where it stays until the flush is complete + * and it's been added as an SSTableReader to ssTables_. Second, it adds an entry to commitLogUpdater + * that waits for the flush to complete, then calls onMemtableFlush. This allows multiple flushes + * to happen simultaneously on multicore systems, while still calling onMF in the correct order, + * which is necessary for replay in case of a restart since CommitLog assumes that when onMF is + * called, all data up to the given context has been persisted to SSTables. }}} - <<Anchor(org.apache.cassandra.concurrent.MESSAGE-DESERIALIZER-POOL)>> == org.apache.cassandra.concurrent.MESSAGE-DESERIALIZER-POOL == - Per src/java/org/apache/cassandra/service/ + Per src/java/org/apache/cassandra/net/MessagingService.java, {{{ + // read executor puts messages to deserialize on this. }}} <<Anchor(org.apache.cassandra.concurrent.MESSAGE-STREAMING-POOL)>> == org.apache.cassandra.concurrent.MESSAGE-STREAMING-POOL == + FIXME: How does this relate to MESSAGE-DESERIALIZER-POOL? - Per src/java/org/apache/cassandra/service/ - {{{ - }}} <<Anchor(org.apache.cassandra.concurrent.RESPONSE-STAGE)>> == org.apache.cassandra.concurrent.RESPONSE-STAGE ==
