[ 
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]

Reply via email to