Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] org.opensearch.remotestore.multipart.RemoteStoreMultipartIT is flaky #11997

Open
reta opened this issue Jan 23, 2024 · 4 comments
Open
Assignees
Labels
bug Something isn't working flaky-test Random test failure that succeeds on second run Storage:Remote v2.15.0 Issues and PRs related to version 2.15.0

Comments

@reta
Copy link
Collaborator

reta commented Jan 23, 2024

Describe the bug

The test case org.opensearch.remotestore.multipart.RemoteStoreMultipartIT.testNoSearchIdleForAnyReplicaCount is flaky:

org.opensearch.remotestore.multipart.RemoteStoreMultipartIT.testNoSearchIdleForAnyReplicaCount

com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an uncaught exception in thread: Thread[id=12912, name=Thread-7889, state=RUNNABLE, group=TGRP-RemoteStoreMultipartIT]
Caused by: org.apache.lucene.store.AlreadyClosedException: this Directory is closed
	at __randomizedtesting.SeedInfo.seed([7E1BDEE57B443ADB]:0)
	at app//org.apache.lucene.store.BaseDirectory.ensureOpen(BaseDirectory.java:50)
	at app//org.opensearch.index.store.FsDirectoryFactory$HybridDirectory.openInput(FsDirectoryFactory.java:175)
	at app//org.apache.lucene.store.FilterDirectory.openInput(FilterDirectory.java:101)
	at app//org.apache.lucene.store.FilterDirectory.openInput(FilterDirectory.java:101)
	at app//org.opensearch.index.store.RemoteDirectory.lambda$uploadBlob$1(RemoteDirectory.java:362)
	at app//org.opensearch.common.blobstore.transfer.RemoteTransferContainer.lambda$getMultipartStreamSupplier$1(RemoteTransferContainer.java:167)
	at app//org.opensearch.common.blobstore.transfer.RemoteTransferContainer.lambda$getTransferPartStreamSupplier$0(RemoteTransferContainer.java:145)
	at app//org.opensearch.common.StreamContext.provideStream(StreamContext.java:69)
	at app//org.opensearch.remotestore.multipart.mocks.MockFsAsyncBlobContainer.lambda$asyncBlobUpload$0(MockFsAsyncBlobContainer.java:60)
	at java.base@21.0.1/java.lang.Thread.run(Thread.java:1583)

Related component

Other

To Reproduce

./gradlew ':server:internalClusterTest' --tests "org.opensearch.remotestore.multipart.RemoteStoreMultipartIT.testNoSearchIdleForAnyReplicaCount" -Dtests.seed=7E1BDEE57B443ADB

Expected behavior

The test must always pass

Additional Details

Plugins
Standard

Screenshots
If applicable, add screenshots to help explain your problem.

Host/Environment (please complete the following information):

  • CI

Additional context

@peternied
Copy link
Member

[Triage - attendees 1 2 3]
@reta Thanks for filing

@andrross
Copy link
Member

REPRODUCE WITH: ./gradlew ':server:internalClusterTest' --tests "org.opensearch.remotestore.multipart.RemoteStoreMultipartIT.testOverriddenBufferInterval" -Dtests.seed=56DCBC16E3B2A344 -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=uk -Dtests.timezone=Asia/Baghdad -Druntime.java=21

org.opensearch.remotestore.multipart.RemoteStoreMultipartIT > testOverriddenBufferInterval FAILED
    com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an uncaught exception in thread: Thread[id=10413, name=Thread-7230, state=RUNNABLE, group=TGRP-RemoteStoreMultipartIT]

        Caused by:
        org.apache.lucene.store.AlreadyClosedException: this Directory is closed
            at __randomizedtesting.SeedInfo.seed([56DCBC16E3B2A344]:0)
            at app//org.apache.lucene.store.BaseDirectory.ensureOpen(BaseDirectory.java:50)
            at app//org.opensearch.index.store.FsDirectoryFactory$HybridDirectory.openInput(FsDirectoryFactory.java:175)
            at app//org.apache.lucene.store.FilterDirectory.openInput(FilterDirectory.java:101)
            at app//org.apache.lucene.store.FilterDirectory.openInput(FilterDirectory.java:101)
            at app//org.opensearch.index.store.RemoteDirectory.lambda$uploadBlob$1(RemoteDirectory.java:362)
            at app//org.opensearch.common.blobstore.transfer.RemoteTransferContainer.lambda$getMultipartStreamSupplier$1(RemoteTransferContainer.java:167)
            at app//org.opensearch.common.blobstore.transfer.RemoteTransferContainer.lambda$getTransferPartStreamSupplier$0(RemoteTransferContainer.java:145)
            at app//org.opensearch.common.StreamContext.provideStream(StreamContext.java:69)
            at app//org.opensearch.remotestore.multipart.mocks.MockFsAsyncBlobContainer.lambda$asyncBlobUpload$0(MockFsAsyncBlobContainer.java:60)
            at java.****@21.0.2/java.lang.Thread.run(Thread.java:1583)

https://build.ci.opensearch.org/job/gradle-check/32595/consoleText

@andrross andrross changed the title [BUG] org.opensearch.remotestore.multipart.RemoteStoreMultipartIT.testNoSearchIdleForAnyReplicaCount is flaky [BUG] org.opensearch.remotestore.multipart.RemoteStoreMultipartIT is flaky Jan 24, 2024
@andrross andrross removed the Other label Feb 21, 2024
@linuxpi
Copy link
Collaborator

linuxpi commented May 2, 2024

[Storage Triage - attendees 1 2 3 4 5 6 7 8 9 10 11 12 13]

@vikasvb90 Updating the release target to 2.15. Feel free to get in touch with folks if you need any help

@sohami
Copy link
Collaborator

sohami commented Jun 25, 2024

Another test is flaky in the same class:

REPRODUCE WITH: ./gradlew ':server:internalClusterTest' --tests "org.opensearch.remotestore.multipart.RemoteStoreMultipartIT.testAsyncDurabilityThrowsExceptionWhenRestrictSettingTrue" -Dtests.seed=5083B88EA28AD82D -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=el-POLYTON -Dtests.timezone=America/Adak -Druntime.java=21


com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an uncaught exception in thread: Thread[id=4818, name=Thread-1060, state=RUNNABLE, group=TGRP-RemoteStoreMultipartIT]
Caused by: org.apache.lucene.store.AlreadyClosedException: this Directory is closed
	at __randomizedtesting.SeedInfo.seed([5083B88EA28AD82D]:0)
	at app//org.apache.lucene.store.BaseDirectory.ensureOpen(BaseDirectory.java:50)
	at app//org.opensearch.index.store.FsDirectoryFactory$HybridDirectory.openInput(FsDirectoryFactory.java:175)
	at app//org.apache.lucene.store.FilterDirectory.openInput(FilterDirectory.java:101)
	at app//org.apache.lucene.store.FilterDirectory.openInput(FilterDirectory.java:101)
	at app//org.opensearch.index.store.RemoteDirectory.lambda$uploadBlob$2(RemoteDirectory.java:377)
	at app//org.opensearch.common.blobstore.transfer.RemoteTransferContainer.lambda$getMultipartStreamSupplier$1(RemoteTransferContainer.java:207)
	at app//org.opensearch.common.blobstore.transfer.RemoteTransferContainer.lambda$getTransferPartStreamSupplier$0(RemoteTransferContainer.java:185)
	at app//org.opensearch.common.StreamContext.provideStream(StreamContext.java:69)
	at app//org.opensearch.remotestore.multipart.mocks.MockFsAsyncBlobContainer.lambda$asyncBlobUpload$0(MockFsAsyncBlobContainer.java:60)
	at java.base@21.0.3/java.lang.Thread.run(Thread.java:1583)

CI: https://build.ci.opensearch.org/job/gradle-check/41593/testReport/junit/org.opensearch.remotestore.multipart/RemoteStoreMultipartIT/testAsyncDurabilityThrowsExceptionWhenRestrictSettingTrue/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working flaky-test Random test failure that succeeds on second run Storage:Remote v2.15.0 Issues and PRs related to version 2.15.0
Projects
Status: Now(This Quarter)
Status: Planned work items
Development

No branches or pull requests

8 participants