9701: Use a collection.OrderedDict instead of a simple dict to hold bufferblocks...
authorLucas Di Pentima <lucas@curoverse.com>
Mon, 10 Oct 2016 11:18:05 +0000 (08:18 -0300)
committerLucas Di Pentima <lucas@curoverse.com>
Mon, 10 Oct 2016 11:18:05 +0000 (08:18 -0300)
sdk/python/arvados/arvfile.py
sdk/python/tests/test_collections.py

index 3d5e9215eff4ecd80f82c94b7f78677f1e211c67..85366d2fdcbc0c5c120c8fb38c036f4436f1754a 100644 (file)
@@ -10,6 +10,7 @@ import copy
 import errno
 import re
 import logging
+import collections
 
 from .errors import KeepWriteError, AssertionError, ArgumentError
 from .keep import KeepLocator
@@ -405,7 +406,7 @@ class _BlockManager(object):
     def __init__(self, keep, copies=None):
         """keep: KeepClient object to use"""
         self._keep = keep
-        self._bufferblocks = {}
+        self._bufferblocks = collections.OrderedDict()
         self._put_queue = None
         self._put_threads = None
         self._prefetch_queue = None
index 0767f2a3f60dfd1399f8bc75857e47fc4f480c34..8d3e9d62a1c32cf15c17fa3e264c58d19cd6f9ee 100644 (file)
@@ -1119,7 +1119,7 @@ class NewCollectionTestCaseWithServers(run_test_server.TestCaseWithServers):
             big.write("x" * 1024 * 1024 * 33) # 33 MB > KEEP_BLOCK_SIZE/2
         self.assertEqual(
             c.manifest_text("."),
-            '. 2d303c138c118af809f39319e5d507e9+34603008 e62e558e58131771aae2fd0175cdbf2a+13 0:34603008:bigfile.txt 34603011:10:count.txt 34603008:3:foo.txt\n')
+            '. 2d303c138c118af809f39319e5d507e9+34603008 a8430a058b8fbf408e1931b794dbd6fb+13 0:34603008:bigfile.txt 34603008:10:count.txt 34603018:3:foo.txt\n')
 
 
 class CollectionCreateUpdateTest(run_test_server.TestCaseWithServers):