1197898232
There is a race condition between ConnectionEntry.ttl and FailureCheckAndFlushThread whereby an in-vm connection may get closed inadvertently due to a TTL timeout. This is because ConnectionEntry.ttl is initialized to 60000 and then later set to -1 upon the initial Ping. If this update happens at *just* the right time in FailureCheckAndFlushThread then the connection will be closed. The fix ensures that the ConnectionEntry.ttl is set to -1 for in-vm connections from the start. It also eliminates the possibility of the race in FailureCheckAndFlushThread. This fix is based on static analysis of the code. The timing window is just too small to contruct a reliable test. The failure has only been seen in the wild a handful of times. |
||
---|---|---|
.. | ||
src | ||
pom.xml |