logger = logging.getLogger("arvados")
- caught_error = False
+ last_error = None
for root, dirs, files in os.walk(target_dir):
for f in files:
try:
if pdh is not None:
# 2. load collection
if pdh not in collections:
+ # 2.1 make sure it is flushed (see #5787 note 11)
+ fd = os.open(real[0], os.O_RDONLY)
+ os.fsync(fd)
+ os.close(fd)
+
+ # 2.2 get collection from API server
collections[pdh] = arvados.collection.CollectionReader(pdh,
api_client=outputcollection._my_api(),
keep_client=outputcollection._my_keep(),
dat = reader.read(64*1024)
except (IOError, OSError) as e:
logger.error(e)
- caught_error = True
+ last_error = e
- return (outputcollection, caught_error)
+ return (outputcollection, last_error)