Close ReceiveCommands in OpenRepo when created ad-hoc
When an OpenRepo instance is initialized via its static open() method,
the ChainReceiveCommands are instantiated internally
(i.e., not provided by the caller).
Since these commands are managed within OpenRepo, they must be
explicitly closed in the OpenRepo.close() method to prevent resource
leaks.
Release-Notes: skip
Forward-Compatible: checked
Change-Id: I3485db2d62fcb944333d5deb3227d9f62294e413
diff --git a/java/com/google/gerrit/server/notedb/OpenRepo.java b/java/com/google/gerrit/server/notedb/OpenRepo.java
index c5aec40..18d7c2b 100644
--- a/java/com/google/gerrit/server/notedb/OpenRepo.java
+++ b/java/com/google/gerrit/server/notedb/OpenRepo.java
@@ -66,6 +66,7 @@
return new OpenRepo(repo, rw, ins, new ChainedReceiveCommands(repo), true) {
@Override
public void close() {
+ cmds.close();
reader.close();
super.close();
}