normal_blobs->stream_blobs, proactive->background

This commit is contained in:
Victor Shyba 2021-10-27 14:17:06 -03:00
parent 02994164be
commit a36fd76eb1
2 changed files with 9 additions and 9 deletions

View file

@ -458,13 +458,13 @@ class SQLiteStorage(SQLiteMixin):
"where blob.is_mine=? order by blob.added_on asc", "where blob.is_mine=? order by blob.added_on asc",
(is_mine,) (is_mine,)
) )
normal_blobs = await self.db.execute_fetchall( stream_blobs = await self.db.execute_fetchall(
"select blob.blob_hash, blob.blob_length, blob.added_on " "select blob.blob_hash, blob.blob_length, blob.added_on "
"from blob join stream_blob using (blob_hash) cross join stream using (stream_hash)" "from blob join stream_blob using (blob_hash) cross join stream using (stream_hash)"
"cross join file using (stream_hash) where blob.is_mine=? order by blob.added_on asc", "cross join file using (stream_hash) where blob.is_mine=? order by blob.added_on asc",
(is_mine,) (is_mine,)
) )
return normal_blobs + sd_blobs return stream_blobs + sd_blobs
async def get_stored_blob_disk_usage(self, is_mine: Optional[bool] = None, is_network_blob: bool = False): async def get_stored_blob_disk_usage(self, is_mine: Optional[bool] = None, is_network_blob: bool = False):
sql = "select coalesce(sum(blob_length), 0) " sql = "select coalesce(sum(blob_length), 0) "

View file

@ -575,7 +575,7 @@ class DiskSpaceManagement(CommandTestCase):
self.assertTrue(blobs4.issubset(blobs)) self.assertTrue(blobs4.issubset(blobs))
class TestProactiveDownloaderComponent(CommandTestCase): class TestBackgroundDownloaderComponent(CommandTestCase):
async def get_blobs_from_sd_blob(self, sd_blob): async def get_blobs_from_sd_blob(self, sd_blob):
descriptor = await StreamDescriptor.from_stream_descriptor_blob( descriptor = await StreamDescriptor.from_stream_descriptor_blob(
asyncio.get_running_loop(), self.daemon.blob_manager.blob_dir, sd_blob asyncio.get_running_loop(), self.daemon.blob_manager.blob_dir, sd_blob
@ -612,20 +612,20 @@ class TestProactiveDownloaderComponent(CommandTestCase):
content2 = content2['outputs'][0]['value']['source']['sd_hash'] content2 = content2['outputs'][0]['value']['source']['sd_hash']
self.assertEqual('48', (await self.status())['disk_space']['space_used']) self.assertEqual('48', (await self.status())['disk_space']['space_used'])
proactive_downloader = BackgroundDownloader(self.daemon.conf, self.daemon.storage, self.daemon.blob_manager) background_downloader = BackgroundDownloader(self.daemon.conf, self.daemon.storage, self.daemon.blob_manager)
await self.clear() await self.clear()
self.assertEqual('0', (await self.status())['disk_space']['space_used']) self.assertEqual('0', (await self.status())['disk_space']['space_used'])
self.assertEqual('0', (await self.status())['disk_space']['network_seeding_space_used']) self.assertEqual('0', (await self.status())['disk_space']['network_seeding_space_used'])
await proactive_downloader.download_blobs(content1) await background_downloader.download_blobs(content1)
await self.assertBlobs(content1) await self.assertBlobs(content1)
self.assertEqual('0', (await self.status())['disk_space']['space_used']) self.assertEqual('0', (await self.status())['disk_space']['space_used'])
self.assertEqual('32', (await self.status())['disk_space']['network_seeding_space_used']) self.assertEqual('32', (await self.status())['disk_space']['network_seeding_space_used'])
await proactive_downloader.download_blobs(content2) await background_downloader.download_blobs(content2)
await self.assertBlobs(content1, content2) await self.assertBlobs(content1, content2)
self.assertEqual('0', (await self.status())['disk_space']['space_used']) self.assertEqual('0', (await self.status())['disk_space']['space_used'])
self.assertEqual('48', (await self.status())['disk_space']['network_seeding_space_used']) self.assertEqual('48', (await self.status())['disk_space']['network_seeding_space_used'])
await self.clear() await self.clear()
await proactive_downloader.download_blobs(content2) await background_downloader.download_blobs(content2)
await self.assertBlobs(content2) await self.assertBlobs(content2)
self.assertEqual('0', (await self.status())['disk_space']['space_used']) self.assertEqual('0', (await self.status())['disk_space']['space_used'])
self.assertEqual('16', (await self.status())['disk_space']['network_seeding_space_used']) self.assertEqual('16', (await self.status())['disk_space']['network_seeding_space_used'])
@ -635,11 +635,11 @@ class TestProactiveDownloaderComponent(CommandTestCase):
# tests that an attempt to download something that isn't a sd blob will download the single blob and stop # tests that an attempt to download something that isn't a sd blob will download the single blob and stop
blobs = await self.get_blobs_from_sd_blob(self.reflector.blob_manager.get_blob(content1)) blobs = await self.get_blobs_from_sd_blob(self.reflector.blob_manager.get_blob(content1))
await self.clear() await self.clear()
await proactive_downloader.download_blobs(blobs[0].blob_hash) await background_downloader.download_blobs(blobs[0].blob_hash)
self.assertEqual({blobs[0].blob_hash}, self.daemon.blob_manager.completed_blob_hashes) self.assertEqual({blobs[0].blob_hash}, self.daemon.blob_manager.completed_blob_hashes)
# test that disk space manager doesn't delete orphan network blobs # test that disk space manager doesn't delete orphan network blobs
await proactive_downloader.download_blobs(content1) await background_downloader.download_blobs(content1)
await self.daemon.storage.db.execute_fetchall("update blob set added_on=0") # so it is preferred for cleaning await self.daemon.storage.db.execute_fetchall("update blob set added_on=0") # so it is preferred for cleaning
await self.daemon.jsonrpc_get("content2", save_file=False) await self.daemon.jsonrpc_get("content2", save_file=False)
while (await self.file_list())[0]['status'] != 'stopped': while (await self.file_list())[0]['status'] != 'stopped':