Commit 79308111 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent f9df7af2
...@@ -1496,7 +1496,7 @@ func (f *BigFile) readPinWatchers(ctx context.Context, blk int64, blkrevMax zodb ...@@ -1496,7 +1496,7 @@ func (f *BigFile) readPinWatchers(ctx context.Context, blk int64, blkrevMax zodb
panic("BUG: readPinWatchers: called for file under @revX/") panic("BUG: readPinWatchers: called for file under @revX/")
} }
// fmt.Printf("S: read #%d -> pin watchers (#%d)\n", blk, len(f.watchTab)) //fmt.Printf("S: read #%d -> pin watchers (#%d)\n", blk, len(f.watchTab))
// make sure that file[blk] on clients side stays as of @w.at state. // make sure that file[blk] on clients side stays as of @w.at state.
...@@ -1568,7 +1568,7 @@ func (f *BigFile) readPinWatchers(ctx context.Context, blk int64, blkrevMax zodb ...@@ -1568,7 +1568,7 @@ func (f *BigFile) readPinWatchers(ctx context.Context, blk int64, blkrevMax zodb
// setupWatch sets up or updates a Watch when client sends `watch <file> @<at>` request. // setupWatch sets up or updates a Watch when client sends `watch <file> @<at>` request.
// //
// XXX sends "pin" notifications; final "ok" must be sent by caller. // It sends "pin" notifications; final "ok" or "error" must be sent by caller.
// //
// XXX called synchronously - only 1 setupWatch call at a time? // XXX called synchronously - only 1 setupWatch call at a time?
func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.Tid) (err error) { func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.Tid) (err error) {
...@@ -1590,7 +1590,6 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T ...@@ -1590,7 +1590,6 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T
defer head.zheadMu.RUnlock() defer head.zheadMu.RUnlock()
headAt := head.zconn.At() headAt := head.zconn.At()
// // XXX δFtail locking? (or ForgetPast is called only with zheadMu.W ? - yes)
if at != zodb.InvalidTid && at < bfdir.δFtail.Tail() { if at != zodb.InvalidTid && at < bfdir.δFtail.Tail() {
return fmt.Errorf("too far away back from head/at (@%s); δt = %s", return fmt.Errorf("too far away back from head/at (@%s); δt = %s",
headAt, headAt.Time().Sub(at.Time().Time)) headAt, headAt.Time().Sub(at.Time().Time))
...@@ -1705,7 +1704,7 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T ...@@ -1705,7 +1704,7 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T
OnlyExplicitlyTracked: true, OnlyExplicitlyTracked: true,
}) })
if err != nil { if err != nil {
panic(err) // XXX return err
} }
for _, δfile := range vδf { for _, δfile := range vδf {
if δfile.Epoch { if δfile.Epoch {
...@@ -1731,7 +1730,7 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T ...@@ -1731,7 +1730,7 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T
toPin[blk], _, err = δFtail.BlkRevAt(ctx, f.zfile, blk, at) toPin[blk], _, err = δFtail.BlkRevAt(ctx, f.zfile, blk, at)
if err != nil { if err != nil {
panic(err) // XXX return err
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment