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

pulsar-admin connection to Pulsar Proxy is unstable when TLS is enabled, function jar uploads fail #10906

Closed
lhotari opened this issue Jun 11, 2021 · 0 comments · Fixed by #10907
Labels
type/bug The PR fixed a bug or issue reported a bug

Comments

@lhotari
Copy link
Member

lhotari commented Jun 11, 2021

Describe the bug

pulsar-admin connection to Pulsar Proxy is unstable when TLS is enabled. Large function jar uploads fail frequently.

pulsar-admin output:

Creating func1623409183
Warning: Nashorn engine is planned to be removed from a future JDK release
null

Reason: java.util.concurrent.CompletionException: io.netty.channel.socket.ChannelOutputShutdownException: Channel output shutdown

and logs in broker logs

javax.servlet.ServletException: javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: org.eclipse.jetty.io.EofException: Early EOF
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:162) ~[org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:179) ~[org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) ~[org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) ~[org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) [org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:279) [org.eclipse.jetty-jetty-server-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [org.eclipse.jetty-jetty-io-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [org.eclipse.jetty-jetty-io-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540) [org.eclipse.jetty-jetty-io-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395) [org.eclipse.jetty-jetty-io-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) [org.eclipse.jetty-jetty-io-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [org.eclipse.jetty-jetty-io-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [org.eclipse.jetty-jetty-io-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [org.eclipse.jetty-jetty-util-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [org.eclipse.jetty-jetty-util-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [org.eclipse.jetty-jetty-util-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [org.eclipse.jetty-jetty-util-9.4.39.v20210325.jar:9.4.39.v20210325]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383) [org.eclipse.jetty-jetty-util-9.4.39.v20210325.jar:9.4.39.v20210325]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.63.Final.jar:4.1.63.Final]
	at java.lang.Thread.run(Thread.java:829) [?:?]

To Reproduce

See https://github.com/lhotari/pulsar-playground/tree/master/proxy-tls-issue-repro-2.7.2

Expected behavior

pulsar-admin should be stable

Additional context

Caused by Jetty bug is SSL buffering, jetty/jetty.project#6152 (comment)

@lhotari lhotari added the type/bug The PR fixed a bug or issue reported a bug label Jun 11, 2021
lhotari added a commit to lhotari/pulsar that referenced this issue Jun 11, 2021
merlimat pushed a commit that referenced this issue Jun 11, 2021
codelipenghui pushed a commit that referenced this issue Jun 12, 2021
Fixes #10906

Also addresses CVE-2021-28169

(cherry picked from commit 6c03154)
lhotari added a commit that referenced this issue Jun 14, 2021
Fixes #10906

Also addresses CVE-2021-28169

(cherry picked from commit 6c03154)
eolivelli pushed a commit to datastax/pulsar that referenced this issue Jun 14, 2021
Fixes apache#10906

Also addresses CVE-2021-28169

(cherry picked from commit 6c03154)
(cherry picked from commit 1916324)
yangl pushed a commit to yangl/pulsar that referenced this issue Jun 23, 2021
bharanic-dev pushed a commit to bharanic-dev/pulsar that referenced this issue Mar 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug The PR fixed a bug or issue reported a bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant