java.nio.channels.WritePendingException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • The new async BOSH logic cannot handle larger packets (seems like about > 64 KB) and fails to deliver correct responses to the client: {noformat} java.nio.channels.WritePendingException at org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624) at org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479) at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142) at org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135) at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166) at org.eclipse.jetty.server.Response.closeOutput(Response.java:1017) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:724) {noformat} The reason is, that the AsyncContext.complete() method is called, while a write operation is still in progress. As a consequence, clients only receive a partial response and will fail to parse it correctly.
    via by csh,
  • The new async BOSH logic cannot handle larger packets (seems like about > 64 KB) and fails to deliver correct responses to the client: {noformat} java.nio.channels.WritePendingException at org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624) at org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479) at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142) at org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135) at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166) at org.eclipse.jetty.server.Response.closeOutput(Response.java:1017) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:724) {noformat} The reason is, that the AsyncContext.complete() method is called, while a write operation is still in progress. As a consequence, clients only receive a partial response and will fail to parse it correctly.
    via by csh,
  • The new async BOSH logic cannot handle larger packets (seems like about > 64 KB) and fails to deliver correct responses to the client: {noformat} java.nio.channels.WritePendingException at org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624) at org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479) at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142) at org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135) at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166) at org.eclipse.jetty.server.Response.closeOutput(Response.java:1017) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:724) {noformat} The reason is, that the AsyncContext.complete() method is called, while a write operation is still in progress. As a consequence, clients only receive a partial response and will fail to parse it correctly.
    via by csh,
  • GitHub comment 163#44892584
    via GitHub by jmatsushita
    ,
    • java.nio.channels.WritePendingException at org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624) at org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479) at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142) at org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135) at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166) at org.eclipse.jetty.server.Response.closeOutput(Response.java:1017) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:724)

    Users with the same issue

    Unknown visitor
    Unknown visitor1 times, last one,