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

Flaky H2PriorKnowledgeFeatureParityTest.serverGracefulClose #2378

Closed
idelpivnitskiy opened this issue Sep 29, 2022 · 7 comments
Closed

Flaky H2PriorKnowledgeFeatureParityTest.serverGracefulClose #2378

idelpivnitskiy opened this issue Sep 29, 2022 · 7 comments
Labels
flaky tests Unit tests are flaky

Comments

@idelpivnitskiy
Copy link
Member

Unfortunately, #2375 didn't fix the issue. Saw a new test failure:

https://github.com/apple/servicetalk/runs/8607775207

H2PriorKnowledgeFeatureParityTest.serverGracefulClose(HttpTestExecutionStrategy, boolean) [1] client=NO_OFFLOAD, h2PriorKnowledge=true
java.util.concurrent.TimeoutException: serverGracefulClose(io.servicetalk.http.netty.HttpTestExecutionStrategy, boolean) timed out after 30 seconds
...
	Suppressed: java.lang.InterruptedException
		at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1048)
		at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
		at io.servicetalk.http.netty.H2PriorKnowledgeFeatureParityTest.serverGracefulClose(H2PriorKnowledgeFeatureParityTest.java:1200)
		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		...
@idelpivnitskiy idelpivnitskiy added the flaky tests Unit tests are flaky label Sep 29, 2022
@Scottmitch
Copy link
Member

Scottmitch commented Sep 29, 2022

https://github.com/apple/servicetalk/actions/runs/3147726613/jobs/5117605614

H2PriorKnowledgeFeatureParityTest.serverGracefulClose(HttpTestExecutionStrategy, boolean) [1] client=NO_OFFLOAD, h2PriorKnowledge=true
java.util.concurrent.TimeoutException: serverGracefulClose(io.servicetalk.http.netty.HttpTestExecutionStrategy, boolean) timed out after 30 seconds

	Suppressed: java.lang.InterruptedException
		at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1040)
		at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1345)
		at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
		at io.servicetalk.http.netty.H2PriorKnowledgeFeatureParityTest.serverGracefulClose(H2PriorKnowledgeFeatureParityTest.java:1200)

@idelpivnitskiy
Copy link
Member Author

https://github.com/apple/servicetalk/runs/8648726776

H2PriorKnowledgeFeatureParityTest.serverGracefulClose(HttpTestExecutionStrategy, boolean) [1] client=NO_OFFLOAD, h2PriorKnowledge=true
java.util.concurrent.TimeoutException: serverGracefulClose(io.servicetalk.http.netty.HttpTestExecutionStrategy, boolean) timed out after 30 seconds
...
	Suppressed: java.lang.InterruptedException
		at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1000)
		at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1308)
		at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
		at io.servicetalk.http.netty.H2PriorKnowledgeFeatureParityTest.serverGracefulClose(H2PriorKnowledgeFeatureParityTest.java:1200)
		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

@Scottmitch
Copy link
Member

https://github.com/apple/servicetalk/runs/8974087179

H2PriorKnowledgeFeatureParityTest.serverGracefulClose(HttpTestExecutionStrategy, boolean) [3] client=DEFAULT, h2PriorKnowledge=true
java.util.concurrent.TimeoutException: serverGracefulClose(io.servicetalk.http.netty.HttpTestExecutionStrategy, boolean) timed out after 30 seconds

	Suppressed: java.lang.InterruptedException
		at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1000)
		at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1308)
		at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
		at io.servicetalk.http.netty.H2PriorKnowledgeFeatureParityTest.serverGracefulClose(H2PriorKnowledgeFeatureParityTest.java:1267)
		

@idelpivnitskiy
Copy link
Member Author

https://github.com/apple/servicetalk/pull/2416/checks?check_run_id=9401315527

H2PriorKnowledgeFeatureParityTest.serverGracefulClose(HttpTestExecutionStrategy, boolean) [3] client=DEFAULT, h2PriorKnowledge=true

Suppressed: java.lang.InterruptedException
		at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1048)
		at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
		at io.servicetalk.http.netty.H2PriorKnowledgeFeatureParityTest.serverGracefulClose(H2PriorKnowledgeFeatureParityTest.java:1341)
		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

@Scottmitch
Copy link
Member

https://github.com/apple/servicetalk/pull/2424/checks?check_run_id=9505593566

H2PriorKnowledgeFeatureParityTest.serverGracefulClose(HttpTestExecutionStrategy, boolean) [3] client=DEFAULT, h2PriorKnowledge=true
java.util.concurrent.TimeoutException: serverGracefulClose(io.servicetalk.http.netty.HttpTestExecutionStrategy, boolean) timed out after 30 seconds

	Suppressed: java.lang.InterruptedException
		at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1048)
		at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
		at io.servicetalk.http.netty.H2PriorKnowledgeFeatureParityTest.serverGracefulClose(H2PriorKnowledgeFeatureParityTest.java:1341)
		

@Scottmitch
Copy link
Member

https://github.com/apple/servicetalk/pull/2442/checks?check_run_id=9677302588

H2PriorKnowledgeFeatureParityTest.serverGracefulClose(HttpTestExecutionStrategy, boolean) [3] client=DEFAULT, h2PriorKnowledge=true

java.util.concurrent.TimeoutException: serverGracefulClose(io.servicetalk.http.netty.HttpTestExecutionStrategy, boolean) timed out after 30 seconds

	Suppressed: java.lang.InterruptedException
		at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1040)
		at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1345)
		at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
		at io.servicetalk.http.netty.H2PriorKnowledgeFeatureParityTest.serverGracefulClose(H2PriorKnowledgeFeatureParityTest.java:1341)

Scottmitch added a commit to Scottmitch/servicetalk-1 that referenced this issue Nov 23, 2022
…tor disable offloading

Motivation:
H2PriorKnowledgeFeatureParityTest.serverGracefulClose installs a ConnectionAcceptor which
intercepts messages through the netty pipeline. However the filter is offloaded by default
and may miss events.

Modifications:
- Override `requiredOffloads` when creating the `ConnectionAcceptorFactory` to disable
  offloading.

Fixes:
apple#2378
@Scottmitch
Copy link
Member

I'm not 100% sure that #2444 resolves this issue as I'm not able to reproduce locally but seems likely given the symptoms. If not lets re-open or open a new issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flaky tests Unit tests are flaky
Projects
None yet
Development

No branches or pull requests

2 participants