-
Bug
-
Resolution: Done
-
Critical
-
1.0.20.Final, 1.0.21.Final
-
None
Invoking an remote EJB method via http whose marshaled stream length is exactly 1024 throws UT000103 exception. Haven't tested other multiples of 1024 but it seems they would all produce the same result. The problem appears to be that the full buffer is written to streamSinkChannel before the WildflyClientOutputStream is closed. The code in the channel listener's handleEvent at line 69 "if (closed && (pooledBuffer ...)" attempts to deal with this situation but the state of the channel isn't correct. In this situation streamSinkChannel.writeFinal is never called.
I've fixed the problem by commenting out the following lines 172-174:
} else {
buffer.put(b, currentOff, currentLen);
// if (buffer.remaining() == 0) {
// runWriteTask();
// }
return;
}
Exception thrown from AbstractFramedStreamSinkChannel line 218:
UndertowLogger.ROOT_LOGGER.listenerNotProgressing();
- is cloned by
-
JBEAP-19760 [GSS](7.3.z) WEJBHTTP-45 - UT000103 thrown when WildflyClientOutputStream size is exactly 1024 bytes
- Closed
- is incorporated by
-
JBEAP-19761 [GSS](7.2.z) UT000103 thrown when WildflyClientOutputStream size is exactly 1024 bytes
- Closed