Issue with Undertow Client and SSL
by Thomas Segismont
Hi,
Openshift Origin uses Hawkular Metrics to store node and container data. In
this scenario, Hawkular Metrics calls the Kubernetes master server over
HTTPS to validate the client identity. This is implemented with Undertow
Client, as part of a ServletExtension (inside Wildfly 10) [1]. Works fine
in development and testing.
Now the Openshit team sees errors in the logs [2][3]. I couldn't reproduce
yet. Errors come in pair, first the "UT005001: An exception occurred
processing the request: java.lang.IllegalStateException: XNIO000017: Buffer
was already freed", and just after "XNIO001007: A channel event listener
threw an exception: java.lang.NullPointerException".
Does that ring a bell? I haven't been able to find a starting point by
looking into the source the code.
Thanks
--
Thomas Segismont
JBoss ON Engineering Team
[1] https://git.io/vrNyP
[2] https://issues.jboss.org/browse/HWKMETRICS-408
[3] https://issues.jboss.org/secure/attachment/12405779/hawkular.log
1 week, 5 days
Correctly shutting down a websocket handler
by Robin Anil
When a client disconnects, I see that onClose is not being fired. The only
way this seems to be firing if client sents a close frame.
Is there any way to detect disconnection and immediately close all the
opened resources.
Robin
Robin Anil | Software Engineer
2 years, 5 months
Undertow.js and failed MySQL queries keep connection occupied?
by the outsider
We try to use undertow.js for database interactions and this works well as
long as the queries do not fail.
But in case something breaks, the JDBC connection seems to stall in wildfly
and can not be closed in any matter.
(There isn't even a connection.close() statement available in undertow.js ?
)
Function demo() {
var db = $undertow.resolve("config");
try{
var query = "select ID as maxID
from null"; // this will fail for sure
var dbresult =
db.selectOne(query);
// now undertow.js will jump to the catch() block
result.db = dbresult['maxID'];
return result;
}catch(ex){
print(ex.toString());
}
}
Every time we call the above function the JDBC driver will make a new
connection to the database and the old ones will remain connected and will
never be cleared.
This continues until the Max Pool Size: is reached.
Systems tested: Wildfly 10 /11 on Windows and Linux
7 years, 5 months