11684: Instead of fiddling with ArvadosFile object's internals from the BlockManager
authorLucas Di Pentima <lucas@curoverse.com>
Mon, 29 May 2017 16:59:14 +0000 (13:59 -0300)
committerLucas Di Pentima <lucas@curoverse.com>
Mon, 29 May 2017 16:59:14 +0000 (13:59 -0300)
commit1ceeafd5411b47834b836019dfd21d4050158171
tree57f53475c5fd9addeee8df74349fefc4f4cede5e
parentd094ae4ee58f26e0585445eccb3be2d019ab020f
11684: Instead of fiddling with ArvadosFile object's internals from the BlockManager
put threads to update the segments locators when committing synchronously a block
built from smaller blocks, take advantage of ArvadosFile.flush() existing mechanism
to update unrealized segments locators by building a list of bufferblock owners
and calling all owner's flush() method on commit_all().
To avoid calling delete_bufferblock() many times on a single bufferblock, added
a flag on flush() and delete the bufferblock after flushing all owners.
sdk/python/arvados/arvfile.py