[
https://issues.apache.org/jira/browse/CASSANDRA-14826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16689483#comment-16689483
]
Marcus Eriksson edited comment on CASSANDRA-14826 at 11/16/18 2:36 PM:
-----------------------------------------------------------------------
patches to bulk-add the sstables instead of one-by-one
3.0: https://github.com/krummas/cassandra/commits/marcuse/14826-3.0
3.11: https://github.com/krummas/cassandra/commits/marcuse/14826-3.11
trunk: https://github.com/krummas/cassandra/commits/marcuse/14826-trunk
tests:
3.0:
https://circleci.com/gh/krummas/workflows/cassandra/tree/marcuse%2F14826-3.0
3.11:
https://circleci.com/gh/krummas/workflows/cassandra/tree/marcuse%2F14826-3.11
trunk:
https://circleci.com/gh/krummas/workflows/cassandra/tree/marcuse%2F14826-trunk
do you have a test system where could you try the patch out [~ingard]?
edit: note that it slightly changes behaviour when mutating the level on an
sstable fails - it used to just add it to L0 which would eventually make
compaction stop for the table (since we wouldn't remove it from L0 when the
compaction finished and we could then pick the same non-existing sstable again
and that would fail). Now that sstable is marked suspect and won't be picked
for any future compactions (until restart)
was (Author: krummas):
patches to bulk-add the sstables instead of one-by-one
3.0: https://github.com/krummas/cassandra/commits/marcuse/14826-3.0
3.11: https://github.com/krummas/cassandra/commits/marcuse/14826-3.11
trunk: https://github.com/krummas/cassandra/commits/marcuse/14826-trunk
tests:
3.0:
https://circleci.com/gh/krummas/workflows/cassandra/tree/marcuse%2F14826-3.0
3.11:
https://circleci.com/gh/krummas/workflows/cassandra/tree/marcuse%2F14826-3.11
trunk:
https://circleci.com/gh/krummas/workflows/cassandra/tree/marcuse%2F14826-trunk
do you have a test system where could you try the patch out [~ingard]?
edit: note that it slightly changes behaviour when mutating the level on an
sstable changes - it used to just add it to L0 which would eventually make
compaction stop for the table (since we wouldn't remove it from L0 when the
compaction finished and we could then pick the same non-existing sstable again
and that would fail). Now that sstable is marked suspect and won't be picked
for any future compactions (until restart)
> cassandra spinning forever on 1 thread while initializing keyspace
> ------------------------------------------------------------------
>
> Key: CASSANDRA-14826
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14826
> Project: Cassandra
> Issue Type: Bug
> Components: Lifecycle
> Reporter: ingard mevåg
> Assignee: Marcus Eriksson
> Priority: Major
> Fix For: 3.0.x, 3.11.x, 4.x
>
> Attachments: Screen Shot 2018-10-16 at 14.51.27.png
>
>
> When starting cassandra 3.0.17 it takes a long time to initialize a keyspace.
> top shows 1 thread spinning at 100% cpu. Thread dump shows:
> {code:java}
> "main" - Thread t@1
> java.lang.Thread.State: RUNNABLE
> at java.util.TimSort.mergeHi(TimSort.java:850)
> at java.util.TimSort.mergeAt(TimSort.java:516)
> at java.util.TimSort.mergeCollapse(TimSort.java:441)
> at java.util.TimSort.sort(TimSort.java:245)
> at java.util.Arrays.sort(Arrays.java:1512)
> at java.util.ArrayList.sort(ArrayList.java:1454)
> at java.util.Collections.sort(Collections.java:175)
> at
> org.apache.cassandra.db.compaction.LeveledManifest.canAddSSTable(LeveledManifest.java:243)
> at
> org.apache.cassandra.db.compaction.LeveledManifest.add(LeveledManifest.java:146)
> - locked <c89b563> (a
> org.apache.cassandra.db.compaction.LeveledManifest)
> at
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy.addSSTable(LeveledCompactionStrategy.java:298)
> at
> org.apache.cassandra.db.compaction.CompactionStrategyManager.startup(CompactionStrategyManager.java:135)
> at
> org.apache.cassandra.db.compaction.CompactionStrategyManager.reload(CompactionStrategyManager.java:187)
> - locked <742bfce7> (a
> org.apache.cassandra.db.compaction.CompactionStrategyManager)
> at
> org.apache.cassandra.db.compaction.CompactionStrategyManager.<init>(CompactionStrategyManager.java:75)
> at
> org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:408)
> at
> org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:363)
> at
> org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:579)
> - locked <4e4f20d2> (a java.lang.Class)
> at
> org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:556)
> at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:368)
> at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:305)
> at org.apache.cassandra.db.Keyspace.open(Keyspace.java:129)
> - locked <5318346c> (a java.lang.Class)
> at org.apache.cassandra.db.Keyspace.open(Keyspace.java:106)
> at
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:262)
> at
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:569)
> at
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:697)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]