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

Stefania commented on CASSANDRA-10286:
--------------------------------------

There are at least two problems from what I can see:

1. We need to wait for the cfs to flush all the sstables before streaming them, 
it seems on Windows we are much slower and there isn't much to stream
2. {{SSTableTxnWriter}} should commit or abort the writer before the txn is 
committed or aborted, or else the writer still has the file channel open and 
the txn cannot delete temporary files on Windows.

With the [patch 
attached|https://github.com/stef1927/cassandra/commits/10286-3.0] the test 
passed 5 consecutive times on Windows.

CI:

http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10286-3.0-dtest/
http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10286-3.0-testall/


> Windows utest 3.0: 
> org.apache.cassandra.io.sstable.SSTableLoaderTest.testLoadingIncompleteSSTable
> -------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10286
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10286
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Philip Thompson
>            Assignee: Stefania
>             Fix For: 3.x
>
>
> Distinct error message from CASSANDRA-10210.
> {code}
> junit.framework.AssertionFailedError: 
>       at 
> org.apache.cassandra.io.sstable.SSTableLoaderTest.testLoadingIncompleteSSTable(SSTableLoaderTest.java:186)
> {code}
> which I believe is from
> {code}
> ERROR 22:05:57 Unable to delete 
> D:\temp\1441663555277-0\SSTableLoaderTest\Standard2\ma-1-big-Data.db
> java.nio.file.AccessDeniedException: 
> D:\temp\1441663555277-0\SSTableLoaderTest\Standard2\ma-1-big-Data.db
>       at 
> sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83) 
> ~[na:1.8.0_51]
>       at 
> sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
> ~[na:1.8.0_51]
>       at 
> sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) 
> ~[na:1.8.0_51]
>       at 
> sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
>  ~[na:1.8.0_51]
>       at 
> sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
>  ~[na:1.8.0_51]
>       at java.nio.file.Files.delete(Files.java:1126) ~[na:1.8.0_51]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog.delete(TransactionLog.java:792)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog.access$100(TransactionLog.java:97)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionFile.lambda$deleteRecord$108(TransactionLog.java:504)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionFile$$Lambda$108/1799732569.accept(Unknown
>  Source) [main/:na]
>       at java.util.Arrays$ArrayList.forEach(Arrays.java:3880) [na:1.8.0_51]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionFile.deleteRecord(TransactionLog.java:504)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionFile$$Lambda$88/744169296.accept(Unknown
>  Source) [main/:na]
>       at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) 
> [na:1.8.0_51]
>       at 
> java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) 
> [na:1.8.0_51]
>       at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1540) 
> [na:1.8.0_51]
>       at 
> java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) 
> [na:1.8.0_51]
>       at 
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) 
> [na:1.8.0_51]
>       at 
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) 
> [na:1.8.0_51]
>       at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
>  [na:1.8.0_51]
>       at 
> java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
> [na:1.8.0_51]
>       at 
> java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) 
> [na:1.8.0_51]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionFile.deleteRecords(TransactionLog.java:490)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionData.removeUnfinishedLeftovers(TransactionLog.java:622)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionTidier.run(TransactionLog.java:837)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog$TransactionTidier.tidy(TransactionLog.java:822)
>  [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Ref$GlobalState.release(Ref.java:294) 
> [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Ref$State.ensureReleased(Ref.java:172) 
> [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Ref.ensureReleased(Ref.java:92) 
> [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog.complete(TransactionLog.java:950)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.TransactionLog.doAbort(TransactionLog.java:969)
>  [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:144)
>  [main/:na]
>       at 
> org.apache.cassandra.db.lifecycle.LifecycleTransaction.doAbort(LifecycleTransaction.java:256)
>  [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:144)
>  [main/:na]
>       at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.doAbort(SSTableTxnWriter.java:72)
>  [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:144)
>  [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:192)
>  [main/:na]
>       at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.close(Transactional.java:158)
>  [main/:na]
> {code}
> http://cassci.datastax.com/view/win32/job/cassandra-3.0_utest_win32/42/testReport/



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

Reply via email to