Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[JENKINS-36871] Allow a filter to call
completed()
from both the re…
…ceive and send sides without bombing out. Prevents stack traces such as ``` Exception in thread "main" java.lang.IllegalStateException: Filter has already been completed at org.jenkinsci.remoting.protocol.FilterLayer.completed(FilterLayer.java:106) at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.complete(ConnectionHeadersFilterLayer.java:365) at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.doSend(ConnectionHeadersFilterLayer.java:498) at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.doSend(ProtocolStack.java:691) at org.jenkinsci.remoting.protocol.ApplicationLayer.write(ApplicationLayer.java:157) at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.start(ChannelApplicationLayer.java:226) at org.jenkinsci.remoting.protocol.ProtocolStack.init(ProtocolStack.java:202) at org.jenkinsci.remoting.protocol.ProtocolStack.access$700(ProtocolStack.java:107) at org.jenkinsci.remoting.protocol.ProtocolStack$Builder.build(ProtocolStack.java:555) at org.jenkinsci.remoting.engine.JnlpProtocol4PlainHandler.connect(JnlpProtocol4PlainHandler.java:149) at org.jenkinsci.remoting.engine.JnlpProtocolHandler.connect(JnlpProtocolHandler.java:140) at org.jenkinsci.remoting.engine.HandlerLoopbackLoadStress.startClient(HandlerLoopbackLoadStress.java:466) at org.jenkinsci.remoting.engine.HandlerLoopbackLoadStress.main(HandlerLoopbackLoadStress.java:426) 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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) ```
- Loading branch information