Merge branch 'cassandra-2.1' into cassandra-2.2
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/280da184 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/280da184 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/280da184 Branch: refs/heads/cassandra-3.0 Commit: 280da1843ee4e2da0274b92afeaf0cd66cf8a5ff Parents: 849a438 fccded5 Author: Josh McKenzie <jmcken...@apache.org> Authored: Fri May 13 12:37:36 2016 -0400 Committer: Josh McKenzie <jmcken...@apache.org> Committed: Fri May 13 12:37:36 2016 -0400 ---------------------------------------------------------------------- src/java/org/apache/cassandra/service/GCInspector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/280da184/src/java/org/apache/cassandra/service/GCInspector.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/service/GCInspector.java index 89a4a7e,2d3d4f3..de5acc0 --- a/src/java/org/apache/cassandra/service/GCInspector.java +++ b/src/java/org/apache/cassandra/service/GCInspector.java @@@ -50,32 -48,8 +50,32 @@@ public class GCInspector implements Not private static final Logger logger = LoggerFactory.getLogger(GCInspector.class); final static long MIN_LOG_DURATION = 200; final static long GC_WARN_THRESHOLD_IN_MS = DatabaseDescriptor.getGCWarnThreshold(); - final static long STAT_THRESHOLD = Math.min(GC_WARN_THRESHOLD_IN_MS != 0 ? GC_WARN_THRESHOLD_IN_MS : MIN_LOG_DURATION, MIN_LOG_DURATION); + final static long STAT_THRESHOLD = GC_WARN_THRESHOLD_IN_MS != 0 ? GC_WARN_THRESHOLD_IN_MS : MIN_LOG_DURATION; + /* + * The field from java.nio.Bits that tracks the total number of allocated + * bytes of direct memory requires via ByteBuffer.allocateDirect that have not been GCed. + */ + final static Field BITS_TOTAL_CAPACITY; + + static + { + Field temp = null; + try + { + Class<?> bitsClass = Class.forName("java.nio.Bits"); + Field f = bitsClass.getDeclaredField("totalCapacity"); + f.setAccessible(true); + temp = f; + } + catch (Throwable t) + { + logger.debug("Error accessing field of java.nio.Bits", t); + //Don't care, will just return the dummy value -1 if we can't get at the field in this JVM + } + BITS_TOTAL_CAPACITY = temp; + } + static final class State { final double maxRealTimeElapsed;