1. 05 Jul, 2020 2 commits
  2. 03 Jul, 2020 2 commits
  3. 20 Jun, 2020 1 commit
  4. 09 Jun, 2020 2 commits
  5. 02 Jun, 2020 1 commit
  6. 31 May, 2020 1 commit
  7. 11 May, 2020 1 commit
  8. 14 Apr, 2020 1 commit
  9. 05 Apr, 2020 4 commits
  10. 04 Mar, 2020 1 commit
  11. 14 Feb, 2020 2 commits
  12. 10 Feb, 2020 5 commits
    • Kirill Smelkov's avatar
      Merge branch 'master' into t · a6a767c9
      Kirill Smelkov authored
      * master: (79 commits)
        go/zodb/zodbtools: Regenerate test data + fix
        go/zodb/fs1: Regenerate
        go/neo/proto: Regenerate
        go/neo/proto: Fix protogen to work without prior `go install`
        go/*: Add Unwrap to custom errors that have Cause
        go/zodb/btree: Represent a tree node - either BTree or Bucket - by Node
        go/zodb: Cosmetics
        go/zodb: LiveCache: Reclassify all objects on cache control change
        go/zodb: LiveCache: Allow objects to be pinned / omitted from the cache
        go/zodb: Prepare to rework/fix LiveCache control
        go/zodb: persistent tests: Factor test database setup out of TestPersistentDB
        go/zodb: persistent test: Fix thinko in tPersistentDB.checkObj
        go/zodb: Don't expose LiveCache internal organization onto its users
        go/zodb: OpenStorage -> Open
        go/zodb: LastTid -> Sync + Head
        go/zodb: DB: preserve δtail not to go down to ø slice on seldom commits
        go/zodb: ΔTail += Data()
        go/zodb/*: Cosmetics, typos, ...
        go/zodb: Connection.Resync
        go/zodb: DB: handle invalidations
        ...
      a6a767c9
    • Kirill Smelkov's avatar
      go/zodb/zodbtools: Regenerate test data + fix · 84845c97
      Kirill Smelkov authored
      The only change is extra LF that is appended to end of 1.zdump.pyok due
      to nexedi/zodbtools@624aeb09.
      
      Correspondingly fix dump on zodbtools/go side.
      84845c97
    • Kirill Smelkov's avatar
      go/zodb/fs1: Regenerate · 968f9555
      Kirill Smelkov authored
      The only update comes from
      
      b@8c9698d6
      968f9555
    • Kirill Smelkov's avatar
      go/neo/proto: Regenerate · 461f0bdf
      Kirill Smelkov authored
      Rerun `go generate` for this package. Updates come due to updated
      `stringer`. zproto-marshal.go stays the same.
      461f0bdf
    • Kirill Smelkov's avatar
      go/neo/proto: Fix protogen to work without prior `go install` · 227c1260
      Kirill Smelkov authored
      When trying to regenerate zproto-marshal.go on a fresh go workspace I
      got:
      
          (neo) (z-dev) (g.env) kirr@deco:~/src/neo/src/lab.nexedi.com/kirr/neo/go/neo/proto$ go generate
          typecheck: ../../zodb/zodb.go:174:2: could not import lab.nexedi.com/kirr/go123/mem (can't find import: "lab.nexedi.com/kirr/go123/mem")
          exit status 1
          proto.go:57: running "sh": exit status 1
      
      Digging around a bit this turned out to be due to that
      importer.Default() is using packages in only binary installed form:
      
          https://github.com/golang/go/issues/19334#issuecomment-283430322
          https://github.com/golang/go/issues/11415
      
      Fix it by using "source" importer which always looks at sources.
      
      (zproto-marshal.go stays unchanged after `go generate` rerun)
      227c1260
  13. 16 Jan, 2020 1 commit
  14. 15 Jan, 2020 1 commit
  15. 12 Jan, 2020 4 commits
  16. 07 Jul, 2019 1 commit
  17. 06 Jun, 2019 2 commits
  18. 24 May, 2019 1 commit
  19. 12 Apr, 2019 2 commits
  20. 02 Apr, 2019 2 commits
  21. 12 Mar, 2019 3 commits
    • Kirill Smelkov's avatar
      go/zodb: Cosmetics · adb2ada3
      Kirill Smelkov authored
      More comments, typos, ...
      adb2ada3
    • Kirill Smelkov's avatar
      go/zodb: LiveCache: Reclassify all objects on cache control change · 1e6aeeee
      Kirill Smelkov authored
      If cache control changes, all objects needs to go through new cache
      control as what was e.g. pinned before could be in other class
      from the point of view of new cache control.
      
      Tests pending...
      1e6aeeee
    • Kirill Smelkov's avatar
      go/zodb: LiveCache: Allow objects to be pinned / omitted from the cache · 4357db3f
      Kirill Smelkov authored
      We already have LiveCacheControl and policy to keep object state in live
      cache. However that state is currently kept only until the object is
      present in the cache, and the object is there currently only until there
      are live pointers to the object from anywhere. If all such pointers go
      away, LiveCache currently discards the object.
      
      Add a way (PCachePinObject) to tell live cache that it must retain an
      object even if there are no other pointers to it. This is needed for
      Wendelin.core which semantically relies on some objects to be present in
      live cache, even if in ghost state, for propagating ZODB invalidations
      into OS pagecache:
      
      https://lab.nexedi.com/kirr/wendelin.core/blob/000bf16359/wcfs/wcfs.go#L245
      
      For symmetry add a way (PCacheDropObject) to tell live cache that it
      must not retain an object. This makes sense for objects that are read in
      large only once to avoid needlessly evicting all other objects while
      making the room for what won't be soon used again.
      
      For completeness add also a way (PCacheDropState) to tell live cache
      that the state of this object should not be cached. This can make sense
      even for objects that are pinned: for example Wendelin.core pins ZBlk
      objects to rely on volatile metadata it attaches to them, but have to
      drop ZBlk state that was loaded from database: that state is propagated
      to be cached in OS pagecache, and keeping it also in ZODB live cache
      would just waste RAM.
      
      Finally add test to cover LiveCache/LiveCacheControl functionality in
      detail.
      4357db3f