[ARVADOS] updated: 1.3.0-1720-g0daa251cd

Git user git at public.curoverse.com
Tue Oct 22 17:44:43 UTC 2019


Summary of changes:
 sdk/go/arvados/fs_collection.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

       via  0daa251cdddbef3db6a69b388170fdb2901964c6 (commit)
      from  c8919a8e3a27406d707b4491b5858a34525bdeba (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 0daa251cdddbef3db6a69b388170fdb2901964c6
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Tue Oct 22 13:44:00 2019 -0400

    15652: Fix Release() called prematurely before PutB returns.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>

diff --git a/sdk/go/arvados/fs_collection.go b/sdk/go/arvados/fs_collection.go
index 386408a10..00eee7405 100644
--- a/sdk/go/arvados/fs_collection.go
+++ b/sdk/go/arvados/fs_collection.go
@@ -676,12 +676,14 @@ func (dn *dirnode) commitBlock(ctx context.Context, refs []fnSegmentRef, sync bo
 		block = append(block, seg.buf...)
 		segs = append(segs, seg)
 	}
+	dn.fs.throttle().Acquire()
 	errs := make(chan error, 1)
 	go func() {
 		defer close(done)
 		defer close(errs)
 		locked := map[*filenode]bool{}
 		locator, _, err := dn.fs.PutB(block)
+		dn.fs.throttle().Release()
 		{
 			if !sync {
 				for _, name := range dn.sortedNames() {
@@ -767,8 +769,6 @@ func (dn *dirnode) flush(ctx context.Context, names []string, opts flushOpts) er
 			return
 		}
 		cg.Go(func() error {
-			dn.fs.throttle().Acquire()
-			defer dn.fs.throttle().Release()
 			return dn.commitBlock(cg.Context(), refs, opts.sync)
 		})
 	}

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list