The test uses multiple threads and does not take into account that some threads might:
1. fail to perform remove() due to an immediate WriteSkewException. I only expected this exception at commit time but it seems for local caches this can also happen immediately.
2. some threads might fail to remove() altogether because the key is already gone and will not get any exception that causes a rollback
See attached log.