mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

pgamba
30.45.2007 499a9cf70ba31cc7a7589a75fc28ac64cc7ef04d
refs
author pgamba <pgamba@localhost>
Tuesday, January 30, 2007 15:45 +0100
committer pgamba <pgamba@localhost>
Tuesday, January 30, 2007 15:45 +0100
commit499a9cf70ba31cc7a7589a75fc28ac64cc7ef04d
tree b0b2db55dd459528d96d100bf4451ac7dc9d2708 tree | zip | gz
parent 7a20cce80d4c077ed896de32a3e5b67052439cea view | diff
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)


1 files modified
10 ■■■■ changed files
opendj-sdk/opends/src/server/org/opends/server/synchronization/changelog/ChangelogCache.java 10 ●●●● diff | view | raw | blame | history