scmstore: fix "memcache singleton" issue by dropping filescmstore along with contentstore

Summary: Previously, accessing both repo.filelog and repo.manifestlog in a test debug command, under buck builds only, would cause a "memcache singleton leaked" error to be printed after the command completes (see https://www.internalfb.com/intern/qa/87181/runtime-warnings-about-memcacheconnectionmanagerim ). There are still some unanswered questions about this issue, as noted in the QA post, but this fixes the main issue at hand.

Reviewed By: sfilipco

Differential Revision: D27297498

fbshipit-source-id: e19665333bae9f91e1c3c6db370962a3aea2727d
This commit is contained in:
Meyer Jacobs 2021-03-24 12:51:48 -07:00 committed by Facebook GitHub Bot
parent 943e3beaa1
commit c04b2a9e11

View File

@ -604,6 +604,7 @@ class remotefileslog(filelog.fileslog):
def commitsharedpacks(self):
"""Persist the dirty data written to the shared packs."""
self.filescmstore = None
self.contentstore = None
self.metadatastore = None
self.makeruststore(self.repo)
@ -623,6 +624,7 @@ class remotefileslog(filelog.fileslog):
"""Used in alternative filelog implementations to throw out pending
additions."""
self.logfetches()
self.filescmstore = None
self.contentstore = None
self.metadatastore = None
self._memcachestore = None