I have not looked at this JMX object in a while, however the
compaction manager can support multiple threads. Also it moves from
0-filesize each time it has to compact a set of files.

That is more useful for showing current progress rather then lifetime history.



On Fri, Oct 5, 2012 at 7:27 PM, Bryan Talbot <btal...@aeriagames.com> wrote:
> I've recently added compaction rate (in bytes / second) to my monitors for
> cassandra and am seeing some odd values.  I wasn't expecting the values for
> TotalBytesCompacted to sometimes decrease from one reading to the next.  It
> seems that the value should be monotonically increasing while a server is
> running -- obviously it would start again at 0 when the server is restarted
> or if the counter rolls over (unlikely for a 64 bit long).
>
> Below are two samples taken 60 seconds apart: the value decreased by
> 2,954,369,012 between the two readings.
>
> reported_metric=[timestamp:1349476449, status:200,
> request:[mbean:org.apache.cassandra.db:type=CompactionManager,
> attribute:TotalBytesCompacted, type:read], value:7548675470069]
>
> previous_metric=[timestamp:1349476389, status:200,
> request:[mbean:org.apache.cassandra.db:type=CompactionManager,
> attribute:TotalBytesCompacted, type:read], value:7551629839081]
>
>
> I briefly looked at the code for CompactionManager and a few related classes
> and don't see anyplace that is performing subtraction explicitly; however,
> there are many additions of signed long values that are not validated and
> could conceivably contain a negative value thus causing the
> totalBytesCompacted to decrease.  It's interesting to note that the all of
> the differences I've seen so far are more than the overflow value of a
> signed 32 bit value.  The OS (CentOS 5.7) and sun java vm (1.6.0_29) are
> both 64 bit.  JNA is enabled.
>
> Is this expected and normal?  If so, what is the correct interpretation of
> this metric?  I'm seeing the negatives values a few times per hour when
> reading it once every 60 seconds.
>
> -Bryan
>

Reply via email to