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

Vovodroid commented on CASSANDRA-10377:
---------------------------------------

Here some data from reproduced event:
Log:
{code}
WARN  20:43:25 deleteWithConfirm [CommitLog-5-1442685442574.log] 
WARN  20:43:25 deleteWithConfirm [CommitLog-5-1442685442575.log] 
WARN  20:43:35 deleteWithConfirm [CommitLog-5-1442685442576.log] 
WARN  20:43:35 deleteWithConfirm [CommitLog-5-1442685442577.log] 
WARN  20:43:35 deleteWithConfirm [CommitLog-5-1442685442578.log] 
WARN  20:43:35 deleteWithConfirm [CommitLog-5-1442685442578.log] 
ERROR 20:43:35 ####### not exists CommitLog-5-1442685442578.log
{code}

So we see, that there were two deletion of CommitLog-5-1442685442578, first one 
first successful.
Folder commitlog contains two next logs:
CommitLog-5-1442685442579.log
CommitLog-5-1442685442580.log

Member *CommitLogSegmentManager.activeSegments* contains 
*CommitLog-5-1442685442580.log*.

> AssertionError: attempted to delete non-existing file CommitLog
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-10377
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10377
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: CentOS 7.1/x64
>            Reporter: Vovodroid
>            Priority: Critical
>
> After several hours of script tests (create and drop users, keyspaces and 
> tables) exception is thrown:
> {code}
> ERROR 02:58:39 Failed managing commit log segments. Commit disk failure 
> policy is stop; terminating thread
> java.lang.AssertionError: attempted to delete non-existing file 
> CommitLog-5-1442599226756.log
>       at 
> org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:122) 
> ~[main/:na]
>       at 
> org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:149) 
> ~[main/:na]
>       at 
> org.apache.cassandra.db.commitlog.CommitLogSegment.discard(CommitLogSegment.java:314)
>  ~[main/:na]
>       at 
> org.apache.cassandra.db.commitlog.CommitLogSegmentManager$2.run(CommitLogSegmentManager.java:374)
>  ~[main/:na]
>       at 
> org.apache.cassandra.db.commitlog.CommitLogSegmentManager$1.runMayThrow(CommitLogSegmentManager.java:155)
>  ~[main/:na]
>       at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> [main/:na]
>       at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {code}
> I added some logs to *deleteWithConfirm* and it showed that this file really 
> was deleted by previous delete action, i.e. it was second attempt to delete 
> the same log. Commit log with next number exists in the same time, so log was 
> switched.
> I disabled assert and it seems to have no no bad effect.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to