We're working on this in https://issues.apache.org/jira/browse/CASSANDRA-1014
On Tue, Apr 27, 2010 at 12:28 PM, Daniel Gimenez <danie...@gmail.com> wrote: > Hi everyone, > several days ago I was doing some tests in a Cassandra installation and > everything was right (few inserts, few deletions, few reads). > > Yesterday I started with "stress testing", inserting 10M rows of a > relational database in a KeySpace. I used 200 threads working in parallel in > a Large instance (Amazon ec2) to do these inserts. > > When the java client I have implemented has inserted almost 5M rows, > Cassandra server dies returning the message "concurrent mode failure". I > have monitorized the JVM with Jconsole and the problem is that "old > generation memory" has crossed the memory that I have specified in the > JVM_OPTS as you can see in the attached image. > > That's my storage-conf.xml > > <Storage> > <ClusterName>tr_cluster</ClusterName> > <AutoBootstrap>false</AutoBootstrap> > <Keyspaces> > <Keyspace Name="Keyspace1"> > <ColumnFamily Name="Standard1" CompareWith="BytesType"/> > <ColumnFamily Name="Standard2" > CompareWith="UTF8Type" > KeysCached="100%"/> > <ColumnFamily Name="StandardByUUID1" CompareWith="TimeUUIDType" /> > <ColumnFamily Name="Super1" > ColumnType="Super" > CompareWith="BytesType" > CompareSubcolumnsWith="BytesType" /> > <ColumnFamily Name="Super2" > ColumnType="Super" > CompareWith="UTF8Type" > CompareSubcolumnsWith="UTF8Type" > RowsCached="10000" > KeysCached="50%" > Comment="A column family with supercolumns, whose column > and subcolumn names are UTF8 strings"/> > > <ReplicaPlacementStrategy>org.apache.cassandra.locator.RackUnawareStrategy</ReplicaPlacementStrategy> > <ReplicationFactor>1</ReplicationFactor> > > <EndPointSnitch>org.apache.cassandra.locator.EndPointSnitch</EndPointSnitch> > > </Keyspace> > <Keyspace Name="tr"> > <ColumnFamily ColumnType="Super" > CompareWith="UTF8Type" > CompareSubcolumnsWith="UTF8Type" > Name="Ads" > Coment="List of ads in tr"/> > <ColumnFamily CompareWith="TimeUUIDType" Name="States"/> > > <ReplicaPlacementStrategy>org.apache.cassandra.locator.RackUnawareStrategy</ReplicaPlacementStrategy> > <ReplicationFactor>1</ReplicationFactor> > > <EndPointSnitch>org.apache.cassandra.locator.EndPointSnitch</EndPointSnitch> > </Keyspace> > </Keyspaces> > > <Authenticator>org.apache.cassandra.auth.AllowAllAuthenticator</Authenticator> > <Partitioner>org.apache.cassandra.dht.RandomPartitioner</Partitioner> > <InitialToken></InitialToken> > <CommitLogDirectory>/opt/space/cassandra/commitlog</CommitLogDirectory> > <DataFileDirectories> > <DataFileDirectory>/opt/space/cassandra/data</DataFileDirectory> > </DataFileDirectories> > <Seeds> > <Seed>domU-12-31-39-0E-2A-11</Seed> > </Seeds> > <RpcTimeoutInMillis>10000</RpcTimeoutInMillis> > <CommitLogRotationThresholdInMB>128</CommitLogRotationThresholdInMB> > <ListenAddress></ListenAddress> > <StoragePort>7000</StoragePort> > <ThriftAddress></ThriftAddress> > <ThriftPort>9160</ThriftPort> > <ThriftFramedTransport>false</ThriftFramedTransport> > <DiskAccessMode>auto</DiskAccessMode> > <RowWarningThresholdInMB>512</RowWarningThresholdInMB> > <SlicedBufferSizeInKB>128</SlicedBufferSizeInKB> > <FlushDataBufferSizeInMB>32</FlushDataBufferSizeInMB> > <FlushIndexBufferSizeInMB>8</FlushIndexBufferSizeInMB> > <ColumnIndexSizeInKB>64</ColumnIndexSizeInKB> > <MemtableThroughputInMB>16</MemtableThroughputInMB> > <BinaryMemtableThroughputInMB>64</BinaryMemtableThroughputInMB> > <MemtableOperationsInMillions>0.1</MemtableOperationsInMillions> > <MemtableFlushAfterMinutes>10</MemtableFlushAfterMinutes> > <ConcurrentReads>8</ConcurrentReads> > <ConcurrentWrites>400</ConcurrentWrites> > <CommitLogSync>periodic</CommitLogSync> > <CommitLogSyncPeriodInMS>10000</CommitLogSyncPeriodInMS> > <GCGraceSeconds>864000</GCGraceSeconds> > </Storage> > > > And those are the parameters I am using for the JVM: > > JVM_OPTS=" \ > -ea \ > -Xms2G \ > -Xmx2G \ > -XX:NewSize=666m -XX:MaxNewSize=666m \ > -XX:TargetSurvivorRatio=90 \ > -XX:+AggressiveOpts \ > -XX:+UseConcMarkSweepGC > -XX:+CMSIncrementalMode \ > -XX:+CMSIncrementalPacing \ > -XX:+UseParNewGC \ > -XX:+CMSParallelRemarkEnabled \ > -XX:+HeapDumpOnOutOfMemoryError \ > -XX:HeapDumpPath=/opt/space/ \ > -XX:SurvivorRatio=128 \ > -XX:MaxTenuringThreshold=0 \ > -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps > -XX:PrintCMSStatistics=2 -XX:+PrintGCApplicationStoppedTime \ > -Djava.rmi.server.hostname=xxx.compute-1.amazonaws.com \ > -Dcom.sun.management.jmxremote.ssl=false \ > -Dcom.sun.management.jmxremote.port=9876 \ > -Dcom.sun.management.jmxremote.authenticate=false" > > > Thank's for all! > Daniel Gimenez. > -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of Riptano, the source for professional Cassandra support http://riptano.com