From 0b56c798fda6020e038f9c9941f8e3db3baa6848 Mon Sep 17 00:00:00 2001 From: Philip Monk Date: Wed, 24 Jul 2019 15:57:28 -0700 Subject: [PATCH] fix lat uni order in clay to break recursion --- bin/solid.pill | 4 ++-- pkg/arvo/sys/vane/clay.hoon | 32 ++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/bin/solid.pill b/bin/solid.pill index c364f9f41..ff55cad3a 100644 --- a/bin/solid.pill +++ b/bin/solid.pill @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d46350623e56ebb6fa15761632923b99339088278d87e221657d64c3c5d501e3 -size 9349402 +oid sha256:90b243439895853eb7aa5d3074d41276ebc5d199aff5f7021b27edf236536ae1 +size 9450000 diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index 905a594e1..973d0c9d0 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -2396,15 +2396,20 @@ :: :: Update the object store with new blobs. :: + :: Must uni the old-lat into the new-lat so that if we recreate + :: the same blob hash, we use the old blob not the new one. Else + :: you get mutually recurring %delta blobs. + :: ++ add-blobs |= [new-blobs=(map path blob) old-lat=(map lobe blob)] ^- (map lobe blob) - %- ~(uni by old-lat) - %- malt - %+ turn - ~(tap by new-blobs) - |= [=path =blob] - [p.blob blob] + =/ new-lat=(map lobe blob) + %- malt + %+ turn + ~(tap by new-blobs) + |= [=path =blob] + [p.blob blob] + (~(uni by new-lat) old-lat) :: :: Apply a change list, creating the commit and applying it to :: the current state. @@ -4143,10 +4148,17 @@ [[[hen %slip %d %flog req] ~] ..^$] :: %drop - =^ mos ruf - =/ den ((de our now ski hen ruf) our des.req) - abet:drop-me:den - [mos ..^$] + ?: =(~ act.ruf) + ~& %clay-idle + [~ ..^$] + ~& :- %clay-cancelling + ?> ?=(^ act.ruf) + [hen -.req -.eval-data]:u.act.ruf + =. act.ruf ~ + ?~ cue.ruf + [~ ..^$] + =/ =duct duct:(need ~(top to cue.ruf)) + [[duct %pass /queued-request %b %wait now]~ ..^$] :: %info ?: =(%$ des.req)