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=8&rev2=9

--------------------------------------------------

  ||Units ||Notes ||
  ||integer >=0, tasks ||The number of tasks waiting in the queue to be 
executed. ||
  
+ 
+ <<Anchor(org.apache.cassandra.concurrent.AE-SERVICE-STAGE)>>
  == org.apache.cassandra.concurrent.AE-SERVICE-STAGE ==
  Per src/java/org/apache/cassandra/service/AntiEntropyService.java,
  {{{
@@ -58, +60 @@

  
  Tree comparison and repair triggering occur in the single threaded 
AE_SERVICE_STAGE.
  }}}
- == org.apache.cassandra.concurrent.AE-SERVICE-STAGE ==
- <<Anchor(org.apache.cassandra.concurrent.AE-SERVICE-STAGE)>>
+ <<Anchor(org.apache.cassandra.concurrent.CONSISTENCY-MANAGER)>>
- == org.apache.cassandra.concurrent.COMMITLOG ==
- <<Anchor(org.apache.cassandra.concurrent.COMMITLOG)>>
  == org.apache.cassandra.concurrent.CONSISTENCY-MANAGER ==
+ Per src/java/org/apache/cassandra/service/StorageService.java,
+ {{{
+ /* This thread pool does consistency checks when the client doesn't care 
about consistency */
+ }}}
+ 
+ The CONSISTENCY-MANAGER executor is responsible for passive read repair, for 
example after a read with ConsistencyLevel.ONE.
+ 
- <<Anchor(org.apache.cassandra.concurrent.CONSISTENCY-MANAGER)>>
+ <<Anchor(org.apache.cassandra.concurrent.FILEUTILS-DELETE-POOL)>>
  == org.apache.cassandra.concurrent.FILEUTILS-DELETE-POOL ==
+ Code is defined in src/java/org/apache/cassandra/io/DeletionService.java, but 
use cases are not commented there. This executor is responsible for deleting 
files, such as obsolete sstables and obsolete commitlog segments.
+ 
- <<Anchor(org.apache.cassandra.concurrent.FILEUTILS-DELETE-POOL)>>
+ <<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,
+ {{{
+      * 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.FLUSH-SORTER-POOL)>>
+ <<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,
+ {{{
+      * 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.FLUSH-WRITER-POOL)>>
+ <<Anchor(org.apache.cassandra.concurrent.GMFD)>>
  == org.apache.cassandra.concurrent.GMFD ==
+ The thread pool executor for the [[ArchitectureGossip|Gossiper]].
+ 
- <<Anchor(org.apache.cassandra.concurrent.GMFD)>>
+ <<Anchor(org.apache.cassandra.concurrent.HINTED-HANDOFF-POOL)>>
  == org.apache.cassandra.concurrent.HINTED-HANDOFF-POOL ==
+ Per src/java/org/apache/cassandra/db/HintedHandOffManager.java,
+ {{{
+  * For each table (keyspace), there is a row in the system hints CF.
+  * SuperColumns in that row are keys for which we have hinted data.
+  * Subcolumns names within that supercolumn are host IPs. Subcolumn values 
are always empty.
+  * Instead, we store the row data "normally" in the application table it 
belongs in.
+  *
+  * So when we deliver hints we look up endpoints that need data delivered
+  * on a per-key basis, then read that entire row out and send it over.
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.HINTED-HANDOFF-POOL)>>
+ <<Anchor(org.apache.cassandra.concurrent.LB-OPERATIONS)>>
  == org.apache.cassandra.concurrent.LB-OPERATIONS ==
+ See Also : [[#org.apache.cassandra.concurrent.LB-TARGET|LB-TARGET]]. Per 
src/java/org/apache/cassandra/service/StorageLoadBalancer.java,
+ {{{
+ /* This thread pool is used for initiating load balancing operations */
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.LB-OPERATIONS)>>
+ <<Anchor(org.apache.cassandra.concurrent.LB-TARGET)>>
  == org.apache.cassandra.concurrent.LB-TARGET ==
+ See Also : [[#org.apache.cassandra.concurrent.LB-OPERATIONS|LB-OPERATIONS]]. 
Per src/java/org/apache/cassandra/service/StorageLoadBalancer.java,
+ {{{
+ /* This thread pool is used by target node to leave the ring. */
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.LB-TARGET)>>
+ <<Anchor(org.apache.cassandra.concurrent.LOAD-BALANCER-STAGE)>>
  == org.apache.cassandra.concurrent.LOAD-BALANCER-STAGE ==
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.LOAD-BALANCER-STAGE)>>
+ <<Anchor(org.apache.cassandra.concurrent.MEMTABLE-POST-FLUSHER)>>
  == org.apache.cassandra.concurrent.MEMTABLE-POST-FLUSHER ==
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.MEMTABLE-POST-FLUSHER)>>
+ <<Anchor(org.apache.cassandra.concurrent.MESSAGE-DESERIALIZER-POOL)>>
  == org.apache.cassandra.concurrent.MESSAGE-DESERIALIZER-POOL ==
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.MESSAGE-DESERIALIZER-POOL)>>
+ <<Anchor(org.apache.cassandra.concurrent.MESSAGE-STREAMING-POOL)>>
  == org.apache.cassandra.concurrent.MESSAGE-STREAMING-POOL ==
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.MESSAGE-STREAMING-POOL)>>
+ <<Anchor(org.apache.cassandra.concurrent.RESPONSE-STAGE)>>
  == org.apache.cassandra.concurrent.RESPONSE-STAGE ==
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.RESPONSE-STAGE)>>
+ <<Anchor(org.apache.cassandra.concurrent.ROW-MUTATION-STAGE)>>
  == org.apache.cassandra.concurrent.ROW-MUTATION-STAGE ==
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.ROW-MUTATION-STAGE)>>
+ <<Anchor(org.apache.cassandra.concurrent.ROW-READ-STAGE)>>
  == org.apache.cassandra.concurrent.ROW-READ-STAGE ==
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
+ 
- <<Anchor(org.apache.cassandra.concurrent.ROW-READ-STAGE)>>
+ <<Anchor(org.apache.cassandra.concurrent.STREAM-STAGE)>>
  == org.apache.cassandra.concurrent.STREAM-STAGE ==
- <<Anchor(org.apache.cassandra.concurrent.STREAM-STAGE)>>
+ Per src/java/org/apache/cassandra/service/
+ {{{
+ }}}
  
  <<Anchor(org.apache.cassandra.db.CommitLog)>> 
<<Anchor(org.apache.cassandra.db.CommitLog.Attributes.ActiveCount)>> 
<<Anchor(org.apache.cassandra.db.CommitLog.Attributes.CompletedTasks)>> 
<<Anchor(org.apache.cassandra.db.CommitLog.Attributes.PendingTasks)>> 
<<Anchor(org.apache.cassandra.db.CompactionManager.Attributes.BytesCompacted)>> 
<<Anchor(org.apache.cassandra.db.CompactionManager.Attributes.BytesTotalInProgress)>>
 
<<Anchor(org.apache.cassandra.db.CompactionManager.Attributes.ColumnFamilyInProgress)>>
 
<<Anchor(org.apache.cassandra.db.CompactionManager.Attributes.MaximumCompactionThreshold)>>
 
<<Anchor(org.apache.cassandra.db.CompactionManager.Attributes.MinmumCompactionThreshold)>>
 <<Anchor(org.apache.cassandra.db.CompactionManager.Attributes.PendingTasks)>> 
<<Anchor(org.apache.cassandra.db.CompactionManager)>> 
<<Anchor(org.apache.cassandra.gms)>> 
<<Anchor(org.apache.cassandra.gms.FailureDetector.Operations.dumpInterArrivalTimes)>>
 <<Anchor(org.apache.cassandra.service.StorageProxy)>> 
<<Anchor(org.apache.cassandra.service.StorageProxy.Attributes.RangeLatency)>> 
<<Anchor(org.apache.cassandra.service.StorageProxy.Attributes.RangeOperations)>>
 <<Anchor(org.apache.cassandra.service.StorageProxy.Attributes.ReadLatency)>> 
<<Anchor(org.apache.cassandra.service.StorageProxy.Attributes.WriteLatency)>> 
<<Anchor(org.apache.cassandra.service.StorageProxy.Attributes.WriteOperations)>>
 <<Anchor(org.apache.cassandra.service.StorageService)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Attributes.CurrentGenerationNumber)>>
 <<Anchor(org.apache.cassandra.service.StorageService.Attributes.LiveNodes)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Attributes.LoadMap)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Attributes.LoadString)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Attributes.RangeToEndPointMap)>>
 <<Anchor(org.apache.cassandra.service.StorageService.Attributes.Token)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Attributes.UnreachableNodes)>>
 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.clearSnapshot)>>
 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.decommission)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.forceTableCleanup)>>
 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.forceTableCompaction)>>
 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.forceTableFlush)>>
 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.forceTableRepair)>>
 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.getLiveNaturalEndpoints)>>
 <<Anchor(org.apache.cassandra.service.StorageService.Operations.loadBalance)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.move)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.removeToken)>> 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.setLog4jLevel)>>
 
<<Anchor(org.apache.cassandra.service.StorageService.Operations.takeAllSnapshot)>>
 <<Anchor(org.apache.cassandra.service.StorageService.Operations.takeSnapshot)>>
  

Reply via email to