StreamObserverTest.maxActiveStreamsViolationError test failure
- Dominant language
- Java
- Stars
- 1k
- Forks
- 229
- Avg merge
- 23h 23m
- Merged PRs (30d)
- 16
Description
https://github.com/apple/servicetalk/pull/1258/checks?check_run_id=1531757582
```
Wanted but not invoked:
clientReadObserver.readCancelled();
-> at io.servicetalk.http.netty.StreamObserverTest.maxActiveStreamsViolationError(StreamObserverTest.java:169)
However, there was exactly 1 interaction with this mock:
clientReadObserver.requestedToRead(1L);
-> at io.servicetalk.transport.api.CatchAllTransportObserver$CatchAllReadObserver.lambda$requestedToRead$0(CatchAllTransportObserver.java:203)
at io.servicetalk.http.netty.StreamObserverTest.maxActiveStreamsViolationError(StreamObserverTest.java:169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at io.servicetalk.concurrent.internal.ServiceTalkTestTimeout$TimeoutStatement$CallableStatement.call(ServiceTalkTestTimeout.java:171)
at io.servicetalk.concurrent.internal.ServiceTalkTestTimeout$TimeoutStatement$CallableStatement.call(ServiceTalkTestTimeout.java:163)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
```
Contributor guide
Research direction
Start with StreamObserverTest.maxActiveStreamsViolationError at StreamObserverTest.java:169 and reproduce the failure from the linked check. Read CatchAllTransportObserver.java around CatchAllReadObserver.requestedToRead and trace the observer interaction. Done means the test's expected interaction matches the implemented behavior and the test passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- networking, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100