Fix for the deadlock appeared in the last daily build.
The root cause is a concurrent access to the db resource of the
changelog server when the shutdown() method is called.
[testng] Java stack information for the threads listed above:
[testng] ===================================================
[testng] "Changelog Server 11 zone35.gridzones.com:43150 dc=example,dc=com reader":
[testng] at com.sleepycat.je.Database.removeCursor(Database.java:1055)
[testng] - waiting to lock <0xf4f36310> (a com.sleepycat.je.Database)
[testng] at com.sleepycat.je.Cursor.close(Cursor.java:254)
[testng] - locked <0xf4f36430> (a com.sleepycat.je.Cursor)
[testng] at org.opends.server.synchronization.changelog.ChangelogDB.readFirstChange(ChangelogDB.java:212)
[testng] at org.opends.server.synchronization.changelog.DbHandler.<init>(DbHandler.java:103)
[testng] at org.opends.server.synchronization.changelog.Changelog.newDbHandler(Changelog.java:600)
[testng] at org.opends.server.synchronization.changelog.ChangelogCache.put(ChangelogCache.java:167)
[testng] - locked <0xf4f57688> (a java.util.concurrent.ConcurrentHashMap)
[testng] at org.opends.server.synchronization.changelog.ServerReader.run(ServerReader.java:111)
[testng] "main":
[testng] at com.sleepycat.je.Cursor.close(Cursor.java:251)
[testng] - waiting to lock <0xf4f36430> (a com.sleepycat.je.Cursor)
[testng] at com.sleepycat.je.Database.closeInternal(Database.java:273)
[testng] at com.sleepycat.je.Database.close(Database.java:238)
[testng] - locked <0xf4f36310> (a com.sleepycat.je.Database)
[testng] at com.sleepycat.je.Environment.close(Environment.java:273)
[testng] - locked <0xf4f124a8> (a com.sleepycat.je.Environment)
[testng] at org.opends.server.synchronization.changelog.ChangelogDbEnv.shutdown(ChangelogDbEnv.java:234)
[testng] at org.opends.server.synchronization.changelog.Changelog.shutdown(Changelog.java:583)
[testng] at org.opends.server.synchronization.changelog.ChangelogTest.changelogChaining(ChangelogTest.java:724)