Dyre Tjeldvoll posted some results on
DERBY-3092 that indicated that some types of load might cause contention on XactFactory.tranId (a shared long), and suggested that it was replaced with a java.util.concurrent.atomic.AtomicLong on the platforms that support java.util.concurrent.*.
I'm splitting this issue out from
DERBY-3092 so that the two possible improvements reported there can be addressed independently.