Commit cf616c8a authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 191ae761
...@@ -1294,7 +1294,7 @@ def test_wcfs(): ...@@ -1294,7 +1294,7 @@ def test_wcfs():
w_assertPin( {2:at3, 5:at0}, {2:at3, 5:at0}, {2:at2, 5:at0}) w_assertPin( {2:at3, 5:at0}, {2:at3, 5:at0}, {2:at2, 5:at0})
# commit again: # commit again:
# - block is already pinned (#2) -> not notified # - block is already pinned (#2) -> wl3 not notified
# - watch stopped (wl3_) -> watch no longer notified # - watch stopped (wl3_) -> watch no longer notified
# - wlink closed (wl2) -> watch no longer notified # - wlink closed (wl2) -> watch no longer notified
f.assertCache([1,1,1,1,1,1]) f.assertCache([1,1,1,1,1,1])
...@@ -1329,55 +1329,44 @@ def test_wcfs(): ...@@ -1329,55 +1329,44 @@ def test_wcfs():
f.assertBlk(5, '4f', {wl3: {}, wl3_: {}}) f.assertBlk(5, '4f', {wl3: {}, wl3_: {}})
w_assertPin( {2:at3, 3:at2, 5:at0}) w_assertPin( {2:at3, 3:at2, 5:at0})
# XXX advance watch - receives new pins/unpins to @head
# XXX 2 opened watchs for 1 file at the same time
wl3.close() wl3.close()
# XXX commit after current file size -> watch # XXX watch with @at > head - must wait for head to become >= at
# XXX access to block not previously accessed but invalidated in ZODB
# XXX drop file[blk] from cache, access again -> no pin message sent the second time
# XXX no reply to pin - killed # XXX no reply to pin - killed
# XXX blk not initially covered by f.δtail (blk never accessed - f.δtail
# not updated on invalidation). then blk is accessed - what happens with
# watch that should be triggerring for this blk?
# XXX access to block not previously accessed but invalidated in ZODB # XXX similar to ^^^ but with two changes to blk not covered by f.δtail. To
# which @rev blk is pinned on watch? (δtail is missing both and if it will
# be another blk rev < rev1,rev2 - it will be incorrect)
# XXX watch @at when file did not existed -> error
# XXX going not only up, but also down at1 <- at2 <- at3 ? -> forbid?
# XXX watch for 2 files via single watch open
# XXX watch with @at > head - must wait for head to become >= at # XXX watch for 2 files via single wlink
# XXX drop file[blk] from cache, access again -> no pin message sent the second time # XXX going not only up, but also down at1 <- at2 <- at3 ? -> forbid?
# XXX mmap f; change f[blk] on pin message while under pagefault - should get changed page # XXX mmap f; change f[blk] on pin message while under pagefault - should get changed page
# XXX new watch request while previous watch request is in progress (over the same /head/watch handle) # XXX new watch request while previous watch request is in progress (over the same /head/watch handle)
# XXX blk not initially covered by f.δtail (blk never accessed - f.δtail # XXX ZBlk copied from blk1 -> blk2 ; for the same file and for file1 -> file2 (δbtree)
# not updated on invalidation). then blk is accessed - what happens with # XXX ZBlk moved from blk1 -> blk2 ; for the same file and for file1 -> file2 (δbtree)
# watch that should be triggerring for this blk?
# XXX similar to ^^^ but with two changes to blk not covered by f.δtail. To
# which @rev blk is pinned on watch? (δtail is missing both and if it will
# be another blk rev < rev1,rev2 - it will be incorrect)
# XXX pin message when blk data only first appeared after > w.at - pin
# needs to pin to zero (or at0 ?).
# XXX watch @at when file did not existed -> error
# XXX ZBlk copied from blk1 -> blk2 ; for the same file and for file1 -> file2
# XXX ZBlk moved from blk1 -> blk2 ; for the same file and for file1 -> file2
# XXX read file[blk]=hole; then file[blk]=zblk - must be invalidated and # XXX read file[blk]=hole; then file[blk]=zblk - must be invalidated and
# setupWatch must send pins. # setupWatch must send pins. (δbtree)
# ---- misc --- # ---- misc ---
......
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