[arvados] updated: 2.6.0-576-g64ebdb367f

git repository hosting git at public.arvados.org
Mon Sep 11 20:10:24 UTC 2023


Summary of changes:
 sdk/python/arvados/commands/arv_copy.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

       via  64ebdb367f035c3882c471e5f764bfb04b18ed9e (commit)
      from  65b6c03be4dc6fae47c1c70d564c950decfe6365 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 64ebdb367f035c3882c471e5f764bfb04b18ed9e
Author: Peter Amstutz <peter.amstutz at curii.com>
Date:   Mon Sep 11 16:10:08 2023 -0400

    20937: Set limit on 'put' queue
    
    Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>

diff --git a/sdk/python/arvados/commands/arv_copy.py b/sdk/python/arvados/commands/arv_copy.py
index 00625cb950..0efef7b8b5 100755
--- a/sdk/python/arvados/commands/arv_copy.py
+++ b/sdk/python/arvados/commands/arv_copy.py
@@ -582,8 +582,15 @@ def copy_collection(obj_uuid, src, dst, args):
     # again and build dst_manifest
 
     lock = threading.Lock()
+
+    # the get queue should be unbounded because we'll add all the
+    # block hashes we want to get, but these are small
     get_queue = queue.Queue()
-    put_queue = queue.Queue()
+
+    # the put queue contains full data blocks
+    # and if 'get' is faster than 'put' we could end up consuming
+    # a great deal of RAM if it isn't bounded.
+    put_queue = queue.Queue(4)
     transfer_error = []
 
     def get_thread():

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list