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