I've posted 1.50a; this changes only the software (no new bitstream) and has three main features:
1. Fixes a rare but serious bug that can cause a lot of stales
2. Maintains a single pool of signcrypted work (which means work loads faster, which means fewer stales)
3. Eliminates "false negatives" when detecting errors, which helps the clock converge faster
I've marked this as 1.50a instead of 1.51 since it hasn't received the amount of testing I normally do before a release, but the garbage collection bug was important enough that I wanted to get this out there. I am running 1.50a on my own cluster.
http://www.tricone-mining.com/tml/tml-1.50a.jar
. . . . . . . . . . . . . . . . . . . . . . . . .
Details:
1. Google MapMaker is a nifty library, and the fact that you can make it act like a WeakHashMap simply by calling weakKeys() is really neat. Except that's not how it works. The semantics for Google MapMaker aren't the same as the semantics for WeakHashMap. In fairness to the people who wrote it this
is in the documentation, but it's subtle and dangerous enough that I would have put it in big red bold