Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-1624

AbstractFramedStreamSinkChannel listener check for loop fails with EJB over HTTP

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 2.0.29.Final
    • None
    • Core
    • None
    • Hide

      We need to replace the check by a check that verifies we are not writing data. If that's the case, we close the channel. If not, we just let the listener be called as many times as necessary.

      Show
      We need to replace the check by a check that verifies we are not writing data. If that's the case, we close the channel. If not, we just let the listener be called as many times as necessary.

      There is a check for a loop in the listener triggered by AbstractFramedStreamSinkChannel.resumeWritesInternal:

                              if (loopCount++ == 100) {
                                  //should never happen
                                  UndertowLogger.ROOT_LOGGER.listenerNotProgressing();
                                  IoUtils.safeClose(AbstractFramedStreamSinkChannel.this);
                                  return;
                              }
      

      This loop count can reach 100 if we are using EJB over HTTP, and close the connection unexpectedly.

              flaviarnn Flavia Rainone
              flaviarnn Flavia Rainone
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: