Description
AsyncWriter of FSHLog might throw ArrayIndexOutOfBoundsException because of the following code in AsyncWriter#run():
} } if (!hasIdleSyncer) { int idx = (int)this.lastWrittenTxid % asyncSyncers.length; asyncSyncers[idx].setWrittenTxid(this.lastWrittenTxid); } }
In obove code, "this.lastWrittenTxid % asyncSyncers.length" might become negative when this.lastWrittenTxid is bigger than Interger.MAX_VALUE where this.lastWrittenTxid is a long. The attachment gives a quick fix.