[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15140564#comment-15140564 ] Marcus Eriksson commented on CASSANDRA-10697: - bq. We could probably go further and remove Scrubber.isOffline did that in 2.2 as well - and created CASSANDRA-11148 to remove isOffline everywhere in 3.x comments fixed (clean merge 3.0 -> trunk): ||branch||testall||dtest|| |[marcuse/10697|https://github.com/krummas/cassandra/tree/marcuse/10697]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-dtest]| |[marcuse/10697-2.2|https://github.com/krummas/cassandra/tree/marcuse/10697-2.2]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-2.2-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-2.2-dtest]| |[marcuse/10697-3.0|https://github.com/krummas/cassandra/tree/marcuse/10697-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-3.0-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-3.0-dtest]| |[marcuse/10697-trunk|https://github.com/krummas/cassandra/tree/marcuse/10697-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-trunk-dtest]| > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Marcus Eriksson > Fix For: 2.1.x, 2.2.x > > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at >
[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15142136#comment-15142136 ] Stefania commented on CASSANDRA-10697: -- +1, thanks! I restarted dtests on trunk because the build failed but I don't expect any problems since the 3.0 run was successful. The 2.1 and 2.2 dtest builds also failed - in the console output you'll find {{maximum recursion depth exceeded while calling a Python object}} so don't trust the blue success status. Last thing I heard on cassandra-dev (at 10:26 on Feb 10th) is that new jobs should be fine, so we would have to delete the branch and recreate it so that the cassci job also gets recreated or ask a Jenkins admin to edit the job manually. However, I'm quite happy with yesterday's results so that won't be necessary unless you think otherwise. > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Marcus Eriksson > Fix For: 2.1.x, 2.2.x > > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at > org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192) > at > org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127) > at > org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158) > at > org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220) > at > org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15138645#comment-15138645 ] Marcus Eriksson commented on CASSANDRA-10697: - Patch for 2.2 here: https://github.com/krummas/cassandra-dtest/commits/marcuse/10697-2.2 test runs: http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-dtest/ http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-testall/ this is already fixed in 3.0+ bq. the transaction we are using doesn't get committed. The transaction gets committed in the SSTableRewriter we are using when calling finish() > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Marcus Eriksson >Priority: Critical > Fix For: 2.1.x, 2.2.x > > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at > org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192) > at > org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127) > at > org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158) > at > org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220) > at > org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15138560#comment-15138560 ] Marcus Eriksson commented on CASSANDRA-10697: - fix against 2.1 here: https://github.com/krummas/cassandra/commits/marcuse/10697 - benedicts fix above was not enough to get rid of the error messages, we also need to release the self ref when doing offline scrubbing dtest which reproduces the error here: https://github.com/krummas/cassandra-dtest/commits/marcuse/10697 test runs: http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-dtest/ http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10697-testall bq. I found that it looks very much like scrub is not working at all in 2.2 upwards I'll investigate this before merging to 2.2+ > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Marcus Eriksson >Priority: Critical > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at > org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192) > at > org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127) > at > org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158) > at > org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220) > at > org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15138849#comment-15138849 ] Marcus Eriksson commented on CASSANDRA-10697: - and 2.2-test fixed (ScrubTest was telling performScrub that it was running offline, but it is not) > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Marcus Eriksson > Fix For: 2.1.x, 2.2.x > > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at > org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192) > at > org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127) > at > org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158) > at > org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220) > at > org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15138836#comment-15138836 ] Marcus Eriksson commented on CASSANDRA-10697: - a few tests on 2.2 seem to be failing, working on them > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Marcus Eriksson > Fix For: 2.1.x, 2.2.x > > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at > org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192) > at > org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127) > at > org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158) > at > org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220) > at > org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15140244#comment-15140244 ] Stefania commented on CASSANDRA-10697: -- In 2.1: * {{newSstable}} could be null. * We should commit these test sstables as well: {code} modified: test/data/corrupt-sstables/Keyspace1-Standard3-jb-1-Summary.db modified: test/data/corrupt-sstables/Keyspace1-StandardInteger1-ka-2-Summary.db {code} In 2.2: * We could get rid of this overload {{public AllSSTableOpStatus performScrub(final ColumnFamilyStore cfs, final boolean skipCorrupted, final boolean checkData, final boolean offline)}} in {{CompationManager}} since it's always called with the last parameter set to false. In 3.0: * We should change {{testScrubNoIndex}} to also not run offline. The reason it works is because we look at the transaction offline status, which is not offline (it is created in {{CompationManager.parallelAllSSTableOperation()}}. * We could probably go further and remove {{Scrubber.isOffline}} since the information is available in the transaction. > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Marcus Eriksson > Fix For: 2.1.x, 2.2.x > > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at > org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192) > at > org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127) > at > org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158) > at > org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220) > at > org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116) > {code} -- This message
[jira] [Commented] (CASSANDRA-10697) Leak detected while running offline scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15115066#comment-15115066 ] Benedict commented on CASSANDRA-10697: -- I've pushed a fix for this [here|https://github.com/belliottsmith/cassandra/tree/10697-2.1] It would be helpful if test engineering could have a look at the dtest that is meant to check this functionality, to try and get it to exercise this problem. I'm afraid my python is very rusty and I'm only here for a few more days. In the process of merging this patch upwards, I found that it looks very much like scrub is not working at all in 2.2 upwards, as the transaction we are using doesn't get committed. So the newly scrubbed sstables should be being deleted, and the old ones restored. Could test engineering also check why the dtest isn't catching this problem? > Leak detected while running offline scrub > - > > Key: CASSANDRA-10697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10697 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: C* 2.1.9 on Debian Wheezy >Reporter: mlowicki >Assignee: Benedict >Priority: Critical > > I got couple of those: > {code} > ERROR 05:09:15 LEAK DETECTED: a reference > (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class > org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434 > was not released before the reference was garbage collected > {code} > and then: > {code} > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99) > at > org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81) > at > org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397) > at > org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) > at > org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120) > at > org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:645) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165) > at > org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121) > at > org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192) > at > org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127) > at > org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158) > at > org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220) > at > org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)