Your latest code is giving me troubles. Integration test killed xrootd, the tail of the log is similar to what you observed intermittently:
[2015-08-27T21:32:13.084-0500] [0x7f92c2df8720] INFO root (build/xrdsvc/
SsiService.cc:142) - Cleaning up scratchDb: qservScratch.
[2015-08-27T21:32:13.086-0500] [0x7f92c2df8720] WARN root (build/wdb/
ChunkResource.cc:302) - memLockStatus LOCKED_OTHER wrong uid. Expected 29962 got 28572 err=
[2015-08-27T21:32:13.086-0500] [0x7f92c2df8720] WARN root (build/wdb/
ChunkResource.cc:316) - Memory tables were not released cleanly! LockStatus=LOCKED_OTHER
[2015-08-27T21:32:13.086-0500] [0x7f92c2df8720] DEBUG root (build/wdb/
ChunkResource.cc:272) - execLockSql CREATE DATABASE IF NOT EXISTS q_memoryLockDb;CREATE TABLE IF NOT EXISTS q_memoryLockDb.memoryLockTbl ( keyId INT UNIQUE, uid INT ) ENGINE = MEMORY;
[2015-08-27T21:32:13.086-0500] [0x7f92c2df8720] DEBUG root (build/wdb/
ChunkResource.cc:272) - execLockSql INSERT INTO q_memoryLockDb.memoryLockTbl (keyId, uid) VALUES(1, 29962 )
[2015-08-27T21:32:13.086-0500] [0x7f92c2df8720] ERROR root (build/wdb/
ChunkResource.cc:373) - Lock failed, exiting. query=INSERT INTO q_memoryLockDb.memoryLockTbl (keyId, uid) VALUES(1, 29962 ) err=Error 1062: Duplicate entry '1' for key 'keyId' Unable to execute query: INSERT INTO q_memoryLockDb.memoryLockTbl (keyId, uid) VALUES(1, 29962 )