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

Sam Tunnicliffe commented on CASSANDRA-18675:
---------------------------------------------

PR LGTM, so +1 assuming CI is good 

> (Accord): C* stores table in Range which will cause ranges to be removed from 
> Accord when DROP TABLE is performed
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18675
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18675
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Accord
>            Reporter: David Capwell
>            Assignee: David Capwell
>            Priority: Normal
>             Fix For: 5.x
>
>          Time Spent: 3h 50m
>  Remaining Estimate: 0h
>
> When translating the C* model to Accord we store the keyspace in the Range, 
> this has the side effect that DROP KEYSPACE will cause Accord to see ranges 
> removed between epoch versions.  When this is enabled in BurnTest we see that 
> there are cases where we stop making progress and can loop forever (until we 
> OOM).
> Example
> {code}
> Failed on seed -1330125844737109546
> accord.burn.SimulationException: Failed on seed -1330125844737109546
> java.lang.OutOfMemoryError: GC overhead limit exceeded
>       at java.util.HashMap.newNode(HashMap.java:1774)
>       at java.util.HashMap.putVal(HashMap.java:632)
>       at java.util.HashMap.put(HashMap.java:613)
>       at 
> accord.impl.InMemoryCommandStore$InMemorySafeStore.addCommandInternal(InMemoryCommandStore.java:582)
>       at 
> accord.impl.InMemoryCommandStore$InMemorySafeStore.addCommandInternal(InMemoryCommandStore.java:557)
>       at 
> accord.impl.AbstractSafeCommandStore$$Lambda$516/1241529534.accept(Unknown 
> Source)
>       at 
> accord.impl.AbstractSafeCommandStore.getIfLoaded(AbstractSafeCommandStore.java:84)
>       at 
> accord.impl.AbstractSafeCommandStore.getInternalIfLoadedAndInitialised(AbstractSafeCommandStore.java:91)
>       at 
> accord.local.SafeCommandStore.ifLoadedAndInitialised(SafeCommandStore.java:194)
>       at accord.local.Commands.lambda$updateWaitingOn$3(Commands.java:687)
>       at accord.local.Commands$$Lambda$514/809300666.accept(Unknown Source)
>       at accord.utils.SimpleBitSet.reverseForEach(SimpleBitSet.java:358)
>       at 
> accord.local.Command$WaitingOn$Update.forEachWaitingOnCommit(Command.java:1280)
>       at accord.local.Commands.updateWaitingOn(Commands.java:685)
>       at accord.local.Commands.initialiseWaitingOn(Commands.java:675)
>       at accord.local.Commands.apply(Commands.java:481)
>       at accord.messages.Apply.apply(Apply.java:121)
>       at accord.messages.Apply.apply(Apply.java:34)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to