Unconditionally close repositories in RepositoryCache.clear()

Earlier we tried to close the repository before removing it from the
cache, so close only reduced refcount but didn't close it.

Now that we no longer leak usage count on purpose and the usage count is
now ignored anyway, there is no longer a need to run the removal twice.

Change-Id: I8b62cec6d8a3e88c096d1f37a1f7f5a5066c90a0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Matthias Sohn 2016-10-11 15:28:41 +02:00
parent 5a1e147eaa
commit 535f0afd13
1 changed files with 3 additions and 9 deletions

View File

@ -326,15 +326,9 @@ private void clearAllExpired() {
}
private void clearAll() {
for (int stage = 0; stage < 2; stage++) {
for (Iterator<Map.Entry<Key, Reference<Repository>>> i = cacheMap
.entrySet().iterator(); i.hasNext();) {
final Map.Entry<Key, Reference<Repository>> e = i.next();
final Repository db = e.getValue().get();
if (db != null)
db.close();
i.remove();
}
for (Iterator<Map.Entry<Key, Reference<Repository>>> i = cacheMap
.entrySet().iterator(); i.hasNext();) {
unregisterAndCloseRepository(i.next().getKey(), null);
}
}