Hi, all. Don't ask me why, but I have a stress test that launches 100 simultaneous threads, all of which grab their own connection pool, and send a CREATE TABLE command to the same Derby database. It ignores exceptions saying the table is already created.
This works find on Windows. However, on RHEL, I get a lot of nasties - I get low-level NullPointerException and "operation interrupted" from nio. Bad news all around.
I then put a global lock around my create table operation, and voila, works.
I don't currently have the time to put together a formal reproduction, but I thought I should let you know, perhaps it's something somebody wants to check out - it's pretty easy to write up the test case.
David W. Van Couvering