Don't close when tree is loading, fix peer conditions

This commit is contained in:
mcrakhman 2023-05-29 16:02:59 +02:00
parent f442b21969
commit 1e1f71d700
No known key found for this signature in database
GPG Key ID: DED12CFEF5B8396B
2 changed files with 7 additions and 5 deletions

View File

@ -337,11 +337,13 @@ func (s *space) BuildTree(ctx context.Context, id string, opts BuildTreeOpts) (t
PeerGetter: s.peerManager,
BuildObjectTree: treeBuilder,
}
if t, err = synctree.BuildSyncTreeOrGetRemote(ctx, id, deps); err != nil {
return nil, err
}
s.treesUsed.Add(1)
log.Debug("incrementing counter", zap.String("id", id), zap.Int32("trees", s.treesUsed.Load()), zap.String("spaceId", s.id))
if t, err = synctree.BuildSyncTreeOrGetRemote(ctx, id, deps); err != nil {
s.treesUsed.Add(-1)
log.Debug("decrementing counter, load failed", zap.String("id", id), zap.Int32("trees", s.treesUsed.Load()), zap.String("spaceId", s.id), zap.Error(err))
return nil, err
}
return
}

View File

@ -63,14 +63,14 @@ func (p *peer) NewStream(ctx context.Context, rpc string, enc drpc.Encoding) (dr
}
func (p *peer) Read(b []byte) (n int, err error) {
if n, err = p.sc.Read(b); err != nil {
if n, err = p.sc.Read(b); err == nil {
p.UpdateLastUsage()
}
return
}
func (p *peer) Write(b []byte) (n int, err error) {
if n, err = p.sc.Write(b); err != nil {
if n, err = p.sc.Write(b); err == nil {
p.UpdateLastUsage()
}
return