X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2a83439d6054fe983546aa32e4f5695cb168c48f..16b445f3d52952d284dbaac603e70a7196d9a3e9:/tools/test-collection-create/test-collection-create.py diff --git a/tools/test-collection-create/test-collection-create.py b/tools/test-collection-create/test-collection-create.py index 13754381e1..c8eae240d2 100644 --- a/tools/test-collection-create/test-collection-create.py +++ b/tools/test-collection-create/test-collection-create.py @@ -16,6 +16,8 @@ import arvados.collection logger = logging.getLogger('arvados.test_collection_create') logger.setLevel(logging.INFO) +max_manifest_size = 127*1024*1024 + opts = argparse.ArgumentParser(add_help=False) opts.add_argument('--min-files', type=int, default=30000, help=""" Minimum number of files on each directory. Default: 30000. @@ -381,7 +383,7 @@ def create_substreams(depth, base_stream_name, max_filesize, data_loc, args, cur current_size += len(current_stream) streams = [current_stream] - if current_size >= (128 * 1024 * 1024): + if current_size >= max_manifest_size: logger.debug("Maximum manifest size reached -- finishing early at {}".format(base_stream_name)) elif depth == 0: logger.debug("Finished stream {}".format(base_stream_name)) @@ -391,7 +393,7 @@ def create_substreams(depth, base_stream_name, max_filesize, data_loc, args, cur substreams = create_substreams(depth-1, stream_name, max_filesize, data_loc, args, current_size) current_size += sum([len(x) for x in substreams]) - if current_size >= (128 * 1024 * 1024): + if current_size >= max_manifest_size: break streams.extend(substreams) return streams @@ -421,20 +423,20 @@ def main(arguments=None): '.', max_filesize, data_loc, args) manifest = '' for s in streams: - if len(manifest)+len(s) > (1024*1024*128)-2: + if len(manifest)+len(s) > max_manifest_size: logger.info("Skipping stream {} to avoid making a manifest bigger than 128MiB".format(s.split(' ')[0])) break manifest += s + '\n' try: - coll = api.collections().create(body={ - "ensure_unique_name": True, - "collection": { - "name": get_random_name(False), + coll_name = get_random_name(False) + coll = api.collections().create( + body={"collection": { + "name": coll_name, "manifest_text": manifest }, }).execute() except: - logger.info("ERROR trying manifest:\n'{}...'\nSize: {}".format(manifest[0:1024], len(manifest))) + logger.info("ERROR creating collection with name '{}' and manifest:\n'{}...'\nSize: {}".format(coll_name, manifest[0:1024], len(manifest))) raise logger.info("Created collection {} - manifest size: {}".format(coll["uuid"], len(manifest))) return 0