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

Wei-Chiu Chuang commented on HDDS-17514:
----------------------------------------

Saw again in 
https://github.com/apache/ozone/actions/runs/40319503657/job/121568438064?pr=11776

[ERROR] Tests run: 27, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.689 
s <<< FAILURE! -- in 
org.apache.hadoop.hdds.utils.db.TestRocksDatabaseGetUpdatesSince
[ERROR] 
org.apache.hadoop.hdds.utils.db.TestRocksDatabaseGetUpdatesSince.closesDbWithoutRetryOnOtherErrors(RocksDBException)[4]
 -- Time elapsed: 0.033 s <<< ERROR!
org.junit.platform.commons.JUnitException: Failed to close extension context
        at java.base/java.util.Optional.ifPresent(Optional.java:178)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
        at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
        at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
        at 
java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:315)
        at 
java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
        at 
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:803)
        at 
java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
        at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
        at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
        at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
        at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
        at 
java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
        at 
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
        at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
        at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
        at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
        at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
        at 
java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at 
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
        at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
        at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
        at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
        at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
        at 
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:511)
        at 
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1450)
        at 
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2019)
        at 
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
Caused by: java.io.IOException: Failed to delete temp directory 
/tmp/junit-1708550290996155897. The following paths could not be deleted (see 
suppressed exceptions for details): <root>
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
        at 
java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
        at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261)
        at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261)
        at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:571)
        at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
        at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
        at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
        ... 47 more
        Suppressed: java.nio.file.DirectoryNotEmptyException: 
/tmp/junit-1708550290996155897
                at 
java.base/sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:269)
                at 
java.base/sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:105)
                at java.base/java.nio.file.Files.delete(Files.java:1052)
                at java.base/java.nio.file.Files.walkFileTree(Files.java:2560)
                at java.base/java.nio.file.Files.walkFileTree(Files.java:2609)
                ... 58 more

> Intermittent failure in TestRocksDatabaseGetUpdatesSince
> --------------------------------------------------------
>
>                 Key: HDDS-17514
>                 URL: https://issues.apache.org/jira/browse/HDDS-17514
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Ivan Andika
>            Assignee: Ivan Andika
>            Priority: Major
>
> https://github.com/ivandika3/ozone/actions/runs/40436443731/job/121974763832
> The errors affect {{closesDbWithoutRetryOnOtherErrors}} cases {{[6]}} and 
> {{{}[8]{}}}. JUnit could not delete their temporary directories 
> ({{{}DirectoryNotEmptyException{}}}).
> The code shows a cleanup race:
>  * RocksDB error handling starts a background {{DBCloser}} thread and 
> immediately marks the database closed.
>  * Test teardown in TestRocksDatabaseGetUpdatesSince.java calls 
> {{{}db.close(){}}}, which returns immediately because that flag is already 
> set.
>  * JUnit deletes the directory while native database cleanup may still be 
> running.
> The fix should make teardown wait for asynchronous close completion before 
> releasing resources and deleting the directory.
>  



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to