[ARVADOS] updated: 1.3.0-1716-g15917b2b3
Git user
git at public.curoverse.com
Wed Oct 16 15:59:35 UTC 2019
Summary of changes:
sdk/go/arvados/fs_collection.go | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
via 15917b2b3902994ca4f6b004577b1130ba0fdaf0 (commit)
via 78724c7c38805402c442629d4d678f8145e31d76 (commit)
from b714ab7401074991afe2fdc239c89107b3af6ca1 (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 15917b2b3902994ca4f6b004577b1130ba0fdaf0
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date: Wed Oct 16 11:58:52 2019 -0400
15652: Fix shadowed variable.
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 9aaa3747b..543d89385 100644
--- a/sdk/go/arvados/fs_collection.go
+++ b/sdk/go/arvados/fs_collection.go
@@ -764,13 +764,13 @@ func (dn *dirnode) flush(ctx context.Context, throttle *throttle, names []string
for _, name := range names {
switch node := dn.inodes[name].(type) {
case *dirnode:
- names := node.sortedNames()
- for _, name := range names {
- child := node.inodes[name]
- child.Lock()
- defer child.Unlock()
+ grandchildNames := node.sortedNames()
+ for _, grandchildName := range grandchildNames {
+ grandchild := node.inodes[grandchildName]
+ grandchild.Lock()
+ defer grandchild.Unlock()
}
- cg.Go(func() error { return node.flush(cg.Context(), throttle, node.sortedNames(), opts) })
+ cg.Go(func() error { return node.flush(cg.Context(), throttle, grandchildNames, opts) })
case *filenode:
for idx, seg := range node.segments {
switch seg := seg.(type) {
commit 78724c7c38805402c442629d4d678f8145e31d76
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date: Wed Oct 16 11:55:37 2019 -0400
15652: Fix wrong block offset in async case.
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 3a45dda29..9aaa3747b 100644
--- a/sdk/go/arvados/fs_collection.go
+++ b/sdk/go/arvados/fs_collection.go
@@ -643,6 +643,7 @@ func (dn *dirnode) commitBlock(ctx context.Context, refs []fnSegmentRef, sync bo
done := make(chan struct{})
block := make([]byte, 0, maxBlockSize)
segs := make([]*memSegment, 0, len(refs))
+ offsets := make([]int, 0, len(refs)) // location of segment's data within block
for _, ref := range refs {
seg := ref.fn.segments[ref.idx].(*memSegment)
if seg.flushing != nil && !sync {
@@ -656,6 +657,7 @@ func (dn *dirnode) commitBlock(ctx context.Context, refs []fnSegmentRef, sync bo
// fn's lock until we finish our own writes.
}
seg.flushing = done
+ offsets = append(offsets, len(block))
block = append(block, seg.buf...)
segs = append(segs, seg)
}
@@ -687,7 +689,6 @@ func (dn *dirnode) commitBlock(ctx context.Context, refs []fnSegmentRef, sync bo
errs <- err
return
}
- off := 0
for idx, ref := range refs {
if !sync {
// In async mode, fn's lock was
@@ -717,10 +718,9 @@ func (dn *dirnode) commitBlock(ctx context.Context, refs []fnSegmentRef, sync bo
kc: dn.fs,
locator: locator,
size: len(block),
- offset: off,
+ offset: offsets[idx],
length: len(data),
}
- off += len(data)
ref.fn.memsize -= int64(len(data))
}
}()
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list