fix location log update for copy to 1-node cluster

This commit is contained in:
Joey Hess 2024-06-23 09:53:33 -04:00
parent 5b332a87be
commit 2762f9c4ce
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 11 additions and 15 deletions

View file

@ -303,16 +303,17 @@ proxy proxydone proxymethods servermode (ClientSide clientrunst clientconn) remo
handleGET remoteside message = getresponse (runRemoteSide remoteside) message $
withDATA (relayGET remoteside)
handlePUT (remoteside:[]) k message =
getresponse (runRemoteSide remoteside) message $ \resp -> case resp of
ALREADY_HAVE -> protoerrhandler proxynextclientmessage $
client $ net $ sendMessage resp
ALREADY_HAVE_PLUS _ -> protoerrhandler proxynextclientmessage $
client $ net $ sendMessage resp
PUT_FROM _ ->
getresponse client resp $
withDATA (relayPUT remoteside k)
_ -> protoerr
handlePUT (remoteside:[]) k message
| remoteUUID remoteside == remoteuuid =
getresponse (runRemoteSide remoteside) message $ \resp -> case resp of
ALREADY_HAVE -> protoerrhandler proxynextclientmessage $
client $ net $ sendMessage resp
ALREADY_HAVE_PLUS _ -> protoerrhandler proxynextclientmessage $
client $ net $ sendMessage resp
PUT_FROM _ ->
getresponse client resp $
withDATA (relayPUT remoteside k)
_ -> protoerr
handlePUT [] _ _ =
protoerrhandler proxynextclientmessage $
client $ net $ sendMessage ALREADY_HAVE
@ -474,7 +475,6 @@ proxy proxydone proxymethods servermode (ClientSide clientrunst clientconn) remo
client $ net $ sendMessage $
case concat (catMaybes storeduuids) of
[] -> FAILURE
(_u:[]) -> SUCCESS
us
| protocolversion < 2 -> SUCCESS
| otherwise -> SUCCESS_PLUS us

View file

@ -74,10 +74,6 @@ For June's work on [[design/passthrough_proxy]], implementation plan:
check may fail to realize that dropping from multiple nodes does in fact
make it worse.
* Bug: When a cluster has one node, copying a file to it does not update
location log to say the content is present on it. It's returning SUCCESS
rather than SUCCESS-PLUS.
* Support annex.jobs for clusters.
* On upload to a cluster, as well as fanout to nodes, if the key is