cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolai Grigoriev (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7956) "nodetool compactionhistory" crashes because of low heap size (GC overhead limit exceeded)
Date Thu, 18 Sep 2014 19:04:34 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-7956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14139342#comment-14139342
] 

Nikolai Grigoriev commented on CASSANDRA-7956:
----------------------------------------------

I think that setting is not effective for "nodetool status" because of the GC settings. I
have seen it before in other apps that the default GC settings may be very ineffective. Mostly
it was due to the parallel GC not being enabled. Maybe trying to put "-XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled" would be enough. Although, of course, in that case nodetool
will use more CPU resources.



> "nodetool compactionhistory" crashes because of low heap size (GC overhead limit exceeded)
> ------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7956
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7956
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra 2.0.8
>            Reporter: Nikolai Grigoriev
>            Priority: Trivial
>             Fix For: 2.0.11
>
>         Attachments: 7956.txt, nodetool_compactionhistory_128m_heap_output.txt.gz
>
>
> {code}
> ]# nodetool compactionhistory
> Compaction History:
> Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
>         at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:967)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1782)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>         at java.util.HashMap.readObject(HashMap.java:1180)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>         at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
>         at javax.management.openmbean.TabularDataSupport.readObject(TabularDataSupport.java:912)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>         at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:325)
>         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:174)
>         at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
>         at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)
>         at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:906)
>         at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:267)
>         at com.sun.proxy.$Proxy3.getCompactionHistory(Unknown Source)
> {code}
> nodetool starts with -Xmx32m. This seems to be not enough at least in my case to show
the history. I am not sure what would the appropriate amount be but increasing it to 128m
definitely solves the problem. Output from modified nodetool attached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message