Hi folks.
Is the following proper upspinfs
behavior?
I’m doing some admittedly unholy things with upspin, but perhaps you can forgive me. I noticed that the contents of a file created on one machine is not visible on another, seemingly indefinitely. But its name is visible.
Is this expected? If yes, how does one handle this situation? Is caching a no-no in this scenario?
To wit:
Machine 1:
╰─>$ cat u/f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite
W/3_indexAnnotationsByFileAnnotationLocationsCREATE UNIQUE INDEX AnnotationsByFile
ON
AnnotationLocations(
Workspace,
Path,
Line
)-33tableAnnotationLocationsAnnotationLocationsCREATE TABLE AnnotationLocations (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
Workspace TEXT NOT NULL,
Path TEXT NOT NULL,
Line INTEGER,
AnnId INTEGER,
FOREIGN KEY(AnnId) REFERENCES Annotations(Id)
ON DELETE CASCADE
)P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)##UtableAnnotationsAnnotationsCREATE TABLE Annotations (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
FUSE logs say this. All expected, but no call to the store server.
2024/04/04 05:51:44.044821 FUSE <- Open [ID=0x4402 Node=0x6 Uid=89956 Gid=89939 Pid=3851612] dir=true fl=OpenReadOnly+OpenDirectory+OpenNonblock
2024/04/04 05:51:44.044920 dir/remote("upspin.hdlfactory.com:443").Glob("f...@hdlfactory.com/cfg/f+cfg/pcc/db/*")
2024/04/04 05:51:44.045265 rpc/dirserver: "f+...@hdlfactory.com": dir.Glob("f...@hdlfactory.com/cfg/f+cfg/pcc/db/*")
2024/04/04 05:51:44.045301 dir/dircache: Glob "f...@hdlfactory.com/cfg/f+cfg/pcc/db/*"
2024/04/04 05:51:44.045519 FUSE -> [ID=0x4402] Open 0x7 fl=0
2024/04/04 05:51:44.045698 FUSE <- Getattr [ID=0x4404 Node=0x6 Uid=89956 Gid=89939 Pid=3851612] 0x0 fl=0
2024/04/04 05:51:44.045724 Attr f...@hdlfactory.com/cfg/f+cfg/pcc/db 0x6 valid=1m0s ino=6 size=0 mode=drwx------ 2024-04-04 05:46:39 +0000 UTC
2024/04/04 05:51:44.045734 FUSE -> [ID=0x4404] Getattr valid=1m0s ino=6 size=0 mode=drwx------
2024/04/04 05:51:44.045869 FUSE <- Read [ID=0x4406 Node=0x6 Uid=89956 Gid=89939 Pid=3851612] 0x7 4096 @0x0 dir=true fl=0 lock=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2024/04/04 05:51:44.045894 FUSE -> [ID=0x4406] Read 40
2024/04/04 05:51:44.045989 FUSE <- Release [ID=0x4408 Node=0x6 Uid=0 Gid=0 Pid=0] 0x7 fl=OpenReadOnly+OpenDirectory+OpenNonblock rfl=0 owner=0x0
2024/04/04 05:51:44.046000 FUSE -> [ID=0x4408] Release
2024/04/04 05:51:44.063683 FUSE <- Open [ID=0x440a Node=0x6 Uid=89956 Gid=89939 Pid=3851612] dir=true fl=OpenReadOnly+OpenDirectory+OpenNonblock
2024/04/04 05:51:44.063721 dir/remote("upspin.hdlfactory.com:443").Glob("f...@hdlfactory.com/cfg/f+cfg/pcc/db/*")
2024/04/04 05:51:44.063888 rpc/dirserver: "f+...@hdlfactory.com": dir.Glob("f...@hdlfactory.com/cfg/f+cfg/pcc/db/*")
2024/04/04 05:51:44.063902 dir/dircache: Glob "f...@hdlfactory.com/cfg/f+cfg/pcc/db/*"
2024/04/04 05:51:44.064058 FUSE -> [ID=0x440a] Open 0x7 fl=0
2024/04/04 05:51:44.064224 FUSE <- Getattr [ID=0x440c Node=0x6 Uid=89956 Gid=89939 Pid=3851612] 0x0 fl=0
2024/04/04 05:51:44.064243 Attr f...@hdlfactory.com/cfg/f+cfg/pcc/db 0x6 valid=1m0s ino=6 size=0 mode=drwx------ 2024-04-04 05:46:39 +0000 UTC
2024/04/04 05:51:44.064283 FUSE -> [ID=0x440c] Getattr valid=1m0s ino=6 size=0 mode=drwx------
2024/04/04 05:51:44.064394 FUSE <- Read [ID=0x440e Node=0x6 Uid=89956 Gid=89939 Pid=3851612] 0x7 4096 @0x0 dir=true fl=0 lock=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2024/04/04 05:51:44.064412 FUSE -> [ID=0x440e] Read 40
2024/04/04 05:51:44.064508 FUSE <- Release [ID=0x4410 Node=0x6 Uid=0 Gid=0 Pid=0] 0x7 fl=OpenReadOnly+OpenDirectory+OpenNonblock rfl=0 owner=0x0
2024/04/04 05:51:44.064518 FUSE -> [ID=0x4410] Release
2024/04/04 05:51:45.687575 FUSE <- Lookup [ID=0x4412 Node=0x6 Uid=89956 Gid=89939 Pid=3851613] "db.sqlite"
2024/04/04 05:51:45.687656 Attr f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite 0x29 valid=1m0s ino=41 size=20480 mode=-rwx------ 2024-04-04 05:46:39 +0000 UTC
2024/04/04 05:51:45.687677 FUSE -> [ID=0x4412] Lookup 0x7 gen=3 valid=1m0s attr={valid=1m0s ino=41 size=20480 mode=-rwx------}
2024/04/04 05:51:45.687856 FUSE <- Access [ID=0x4414 Node=0x7 Uid=89956 Gid=89939 Pid=3851613] mask=0x0
2024/04/04 05:51:45.687870 FUSE -> [ID=0x4414] Access
2024/04/04 05:51:45.691758 FUSE <- Open [ID=0x4416 Node=0x7 Uid=89956 Gid=89939 Pid=3851615] dir=false fl=OpenReadOnly
2024/04/04 05:51:45.691794 FUSE -> [ID=0x4416] Open 0x7 fl=0
2024/04/04 05:51:45.691966 FUSE <- Read [ID=0x4418 Node=0x7 Uid=89956 Gid=89939 Pid=3851615] 0x7 4096 @0x0 dir=false fl=0 lock=0 ffl=OpenReadOnly
2024/04/04 05:51:45.692057 FUSE -> [ID=0x4418] Read 4096
2024/04/04 05:51:45.692211 FUSE <- Read [ID=0x441a Node=0x7 Uid=89956 Gid=89939 Pid=3851615] 0x7 4096 @0x1000 dir=false fl=0 lock=0 ffl=OpenReadOnly
2024/04/04 05:51:45.692290 FUSE -> [ID=0x441a] Read 4096
2024/04/04 05:51:45.692454 FUSE <- Read [ID=0x441c Node=0x7 Uid=89956 Gid=89939 Pid=3851615] 0x7 4096 @0x2000 dir=false fl=0 lock=0 ffl=OpenReadOnly
2024/04/04 05:51:45.692526 FUSE -> [ID=0x441c] Read 4096
2024/04/04 05:51:45.692620 FUSE <- Read [ID=0x441e Node=0x7 Uid=89956 Gid=89939 Pid=3851615] 0x7 4096 @0x3000 dir=false fl=0 lock=0 ffl=OpenReadOnly
2024/04/04 05:51:45.692683 FUSE -> [ID=0x441e] Read 4096
2024/04/04 05:51:45.692775 FUSE <- Read [ID=0x4420 Node=0x7 Uid=89956 Gid=89939 Pid=3851615] 0x7 4096 @0x4000 dir=false fl=0 lock=0 ffl=OpenReadOnly
2024/04/04 05:51:45.692848 FUSE -> [ID=0x4420] Read 4096
2024/04/04 05:51:45.693746 FUSE <- Flush [ID=0x4422 Node=0x7 Uid=89956 Gid=89939 Pid=3851615] 0x7 fl=0x0 lk=0xbcfc996faae383cb
2024/04/04 05:51:45.693759 FUSE -> [ID=0x4422] Flush
2024/04/04 05:51:45.693935 FUSE <- Release [ID=0x4424 Node=0x7 Uid=0 Gid=0 Pid=0] 0x7 fl=OpenReadOnly rfl=0 owner=0x0
2024/04/04 05:51:45.693948 FUSE -> [ID=0x4424] Release
Machine 2:
┬─[fmil@fmil4:~]─[10:51:10 PM]
╰─>$ cat u/f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite
cat: u/f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite: No such file or directory
And logs confirm. Call to store server fails - blob not found.
2024/04/04 05:54:02.577737 FUSE <- Lookup [ID=0x88a34 Node=0x1 Uid=89956 Gid=89939 Pid=1938092] "f...@hdlfactory.com"
2024/04/04 05:54:02.577836 Attr f...@hdlfactory.com/ 0x2 valid=1m0s ino=2 size=5769 mode=drwx------ 2024-04-04 05:39:51 +0000 UTC
2024/04/04 05:54:02.577857 FUSE -> [ID=0x88a34] Lookup 0x2 gen=0 valid=1m0s attr={valid=1m0s ino=2 size=5769 mode=drwx------}
2024/04/04 05:54:02.577996 FUSE <- Lookup [ID=0x88a36 Node=0x2 Uid=89956 Gid=89939 Pid=1938092] "cfg"
2024/04/04 05:54:02.578019 Attr f...@hdlfactory.com/cfg 0x3 valid=1m0s ino=3 size=1459 mode=drwx------ 2024-04-04 05:40:18 +0000 UTC
2024/04/04 05:54:02.578030 FUSE -> [ID=0x88a36] Lookup 0x3 gen=0 valid=1m0s attr={valid=1m0s ino=3 size=1459 mode=drwx------}
2024/04/04 05:54:02.578179 FUSE <- Lookup [ID=0x88a38 Node=0x3 Uid=89956 Gid=89939 Pid=1938092] "f+cfg"
2024/04/04 05:54:02.578227 Attr f...@hdlfactory.com/cfg/f+cfg 0x4 valid=1m0s ino=4 size=621 mode=drwx------ 2024-04-04 05:21:51 +0000 UTC
2024/04/04 05:54:02.578242 FUSE -> [ID=0x88a38] Lookup 0x4 gen=0 valid=1m0s attr={valid=1m0s ino=4 size=621 mode=drwx------}
2024/04/04 05:54:02.578380 FUSE <- Lookup [ID=0x88a3a Node=0x4 Uid=89956 Gid=89939 Pid=1938092] "pcc"
2024/04/04 05:54:02.578403 Attr f...@hdlfactory.com/cfg/f+cfg/pcc 0x5 valid=1m0s ino=5 size=1120 mode=drwx------ 2024-04-04 05:21:50 +0000 UTC
2024/04/04 05:54:02.578413 FUSE -> [ID=0x88a3a] Lookup 0x5 gen=0 valid=1m0s attr={valid=1m0s ino=5 size=1120 mode=drwx------}
2024/04/04 05:54:02.578560 FUSE <- Lookup [ID=0x88a3c Node=0x5 Uid=89956 Gid=89939 Pid=1938092] "db"
2024/04/04 05:54:02.578586 Attr f...@hdlfactory.com/cfg/f+cfg/pcc/db 0xa valid=1m0s ino=10 size=0 mode=drwx------ 2024-04-04 05:46:39 +0000 UTC
2024/04/04 05:54:02.578596 FUSE -> [ID=0x88a3c] Lookup 0x9 gen=1 valid=1m0s attr={valid=1m0s ino=10 size=0 mode=drwx------}
2024/04/04 05:54:02.578724 FUSE <- Open [ID=0x88a3e Node=0x9 Uid=89956 Gid=89939 Pid=1938092] dir=true fl=OpenReadOnly+OpenDirectory+OpenNonblock
2024/04/04 05:54:02.578766 dir/remote("upspin.hdlfactory.com:443").Glob("f...@hdlfactory.com/cfg/f+cfg/pcc/db/*")
2024/04/04 05:54:02.579284 rpc/dirserver: "f+...@hdlfactory.com": dir.Glob("f...@hdlfactory.com/cfg/f+cfg/pcc/db/*")
2024/04/04 05:54:02.579319 dir/dircache: Glob "f...@hdlfactory.com/cfg/f+cfg/pcc/db/*"
2024/04/04 05:54:02.579566 FUSE -> [ID=0x88a3e] Open 0x6 fl=0
2024/04/04 05:54:02.579752 FUSE <- Read [ID=0x88a40 Node=0x9 Uid=89956 Gid=89939 Pid=1938092] 0x6 4096 @0x0 dir=true fl=0 lock=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2024/04/04 05:54:02.579779 FUSE -> [ID=0x88a40] Read 40
2024/04/04 05:54:02.579885 FUSE <- Release [ID=0x88a42 Node=0x9 Uid=0 Gid=0 Pid=0] 0x6 fl=OpenReadOnly+OpenDirectory+OpenNonblock rfl=0 owner=0x0
2024/04/04 05:54:02.579899 FUSE -> [ID=0x88a42] Release
2024/04/04 05:54:03.957217 FUSE <- Lookup [ID=0x88a44 Node=0x9 Uid=89956 Gid=89939 Pid=1938093] "db.sqlite"
2024/04/04 05:54:03.957310 Attr f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite 0x18 valid=1m0s ino=24 size=20480 mode=-rwx------ 2024-04-04 05:46:39 +0000 UTC
2024/04/04 05:54:03.957335 FUSE -> [ID=0x88a44] Lookup 0xa gen=3 valid=1m0s attr={valid=1m0s ino=24 size=20480 mode=-rwx------}
2024/04/04 05:54:03.957457 FUSE <- Access [ID=0x88a46 Node=0xa Uid=89956 Gid=89939 Pid=1938093] mask=0x0
2024/04/04 05:54:03.957470 FUSE -> [ID=0x88a46] Access
2024/04/04 05:54:03.961659 FUSE <- Open [ID=0x88a48 Node=0xa Uid=89956 Gid=89939 Pid=1938095] dir=false fl=OpenReadOnly
2024/04/04 05:54:03.961707 dir/remote("upspin.hdlfactory.com:443").Lookup("f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite")
2024/04/04 05:54:03.961982 rpc/dirserver: "f+...@hdlfactory.com": dir.Lookup("f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite")
2024/04/04 05:54:03.962007 dir/dircache: Lookup "f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite"
2024/04/04 05:54:03.962393 FUSE => InvalidateNode 0xa Off:0 Size:0
2024/04/04 05:54:03.962411 FUSE => InvalidateNode 0xa Off:0 Size:-1
2024/04/04 05:54:03.962688 store/remote("upspin.hdlfactory.com:443").Get("0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8")
2024/04/04 05:54:03.963104 rpc/storeserver: "f+...@hdlfactory.com": store.Get("0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8")
2024/04/04 05:54:03.963126 store/storecache: Get "0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8"
2024/04/04 05:54:03.963159 store/remote("upspin.hdlfactory.com:443").Get("0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8")
2024/04/04 05:54:04.424009 store/storecache: Get "0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8" failed: store/server.Get: item does not exist:
file does not exist
2024/04/04 05:54:04.424052 rpc/storeserver: "f+...@hdlfactory.com": store.Get("0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8")
2024/04/04 05:54:04.424418 Open: f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite: item does not exist:
cache.open:
store/storecache.Get "0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8":
store/server.Get:
file does not exist
2024/04/04 05:54:04.424466 FUSE -> [ID=0x88a48] Open error=ENOENT: Open: f...@hdlfactory.com/cfg/f+cfg/pcc/db/db.sqlite: item does not exist:
cache.open:
store/storecache.Get "0703B49E8C3A816823351BA6E19B52343052A5BD40E3DD165D2315B18400FAE8":
store/server.Get:
file does not exist
Two possibilities I can think of:1) Machine 1 never managed to get the blocks written to the store at some point in the past. What I'm seeing here is it just reading them from its cache. The store cache is different from upasfs's cache by the way so you are dealing with two caches.2) Machine 2 is missing some permissions for reading blocks on the store.I would suggest testing from simplest to most complicated. First factor out upasfs on both sides. Access via the upas cmd and see what you get. Do it both with the existing file and with a new one. They try it without the store cache on one side and the other. Then upasfs without the storecache on one side or the other. It is an unfortunately too complicated system.
--
You received this message because you are subscribed to the Google Groups "Upspin" group.
To unsubscribe from this group and stop receiving emails from it, send an email to upspin+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/upspin/CAKaOXihTv2PL4kbBAurgMLh_P%3DaNH-YVwxjagXwL9O_2-ukvEg%40mail.gmail.com.
1) Machine 1 never managed to get the blocks written to the store at some point in the past. What I'm seeing here is it just reading them from its cache. The store cache is different from upasfs's cache by the way so you are dealing with two caches.2) Machine 2 is missing some permissions for reading blocks on the store.
Yes, there's quite a bunch of stuff there, around 50 files.FOn Fri, Apr 5, 2024 at 10:26 AM David Presotto <pres...@gmail.com> wrote:on the machine with the file in its cache, under your upsin caches directory, do you have one for "storewritebackqueue" and if so is there anything in it?On Fri, Apr 5, 2024 at 8:06 AM David Presotto <pres...@gmail.com> wrote:I'll take a look at the conditions under which the cache server gives up trying to put the blocks. I may have screwed up somehow.