Fix RefDirectory not closing resources
When repositories are opened using the RepositoryCache, they are kept in memory and when the repository usage counter reaches 0, the Repository.close method is called which then calls close method on its reference and object databases. The problem is that RefDirectory.close method was a no-op and the reference database was kept in memory. This problem is only happening when opening a repository using the RepositoryCache because it never evicts repositories, it's just calling the close method. Change-Id: Iacb961de8e8b1f5b37824bf0d1a4caf4c6f1233f Signed-off-by: Hugo Arès <hugo.ares@ericsson.com>
This commit is contained in:
parent
83235432e7
commit
53ea86cd7b
|
@ -203,10 +203,10 @@ public void create() throws IOException {
|
|||
|
||||
@Override
|
||||
public void close() {
|
||||
// We have no resources to close.
|
||||
clearReferences();
|
||||
}
|
||||
|
||||
void rescan() {
|
||||
private void clearReferences() {
|
||||
looseRefs.set(RefList.<LooseRef> emptyList());
|
||||
packedRefs.set(PackedRefList.NO_PACKED_REFS);
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ void rescan() {
|
|||
@Override
|
||||
public void refresh() {
|
||||
super.refresh();
|
||||
rescan();
|
||||
clearReferences();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue