Found on demo-hp with 0.325.0-rc.1: the store (and so the conversion of an old family.json) opened only on the first family request; a box nobody visits through a family gate kept the session values. OpenFamilyStore from main, one INFO line with the count. TestR1112_StartConvertsTheFamilyFile, TestR1112_MainOpensTheFamilyStore, red-proved. Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
1 parent
94f44931dd
commit
6ed223886d
6 files changed
+82
-2
No files matched your search
@@ -93,6 +93,17 @@ func (s *Server) familyStore() *family.Store {
|
||||
return s.fam.store
|
||||
}
|
||||
|
||||
// OpenFamilyStore opens the family list when the controller starts (R-1112). A family.json written before v0.325.0
|
||||
// holds the session values themselves, and the store converts them to fingerprints when it is OPENED — which was
|
||||
// lazily, on the first family request: on a box where nobody passes a family gate, never (measured on demo-hp 9201,
|
||||
// 2026-10-17: rc.1 up, family.json still in the old shape). Pinned by TestR1112_StartConvertsTheFamilyFile and
|
||||
// cmd/controller TestR1112_MainOpensTheFamilyStore.
|
||||
func (s *Server) OpenFamilyStore() {
|
||||
if n := s.familyStore().ConvertedAtOpen(); n > 0 {
|
||||
s.logger.Printf("[INFO] [web] family store: %d session(s) stored the old way were rewritten as fingerprints (R-1112)", n)
|
||||
}
|
||||
}
|
||||
|
||||
// familyReserve checks whether this visitor or this name is out of tries and, when neither is, counts this try
|
||||
// against both — one step under one lock (R-983, v0.324.0), so parallel tries cannot all pass a check that none of
|
||||
// them has counted yet. Windows slide; a success clears both (familyCleared). It reports whether the try may go ahead.
|
||||
|
||||
Reference in new issue
Block a user