Closed mniewrzal closed 2 years ago
so to fix the problem we cannot do anything in BeginMoveObject or in uplink because we cannot fix existing uplink release and everything that will be sent to uplink from BeginMoveObject will be broken when metadata is empty (existing key and empty nonce). Removing this two checks (key and nonce) in FinishMoveObject will work but with this there is a chance that in future we can introduce another bug in uplink and we will start sending some broken metadata key and nonce. I'm not 100% sure if thats the best solution but I would:
FinishMoveObject
check for key and nonceUPDATE objects SET...
) we can do something like if metadata is nil then don't set key and nonce
UPDATE
clause should return metadata and if metadata != nil
we should do the same validation for key and nonce in Verify
method to avoid putting broken key and nonce while doing moveChange https://review.dev.storj.io/c/storj/storj/+/7713 mentions this issue.
Looks like https://review.dev.storj.io/c/storj/storj/+/7713 has been merged. @mniewrzal could you please confirm if this will be in the next release?
@heunland Michal is in PTO, but @andriikotko confirmed that it will be there
After recent changes we have regression in server-side move implementation. User is getting "EncryptedMetadataKeyNonce is missing" error while doing move. Test case to reproduce.
We should also verify if similar problem is visible for server-side copy.
Initially reported in https://github.com/storj/customer-issues/issues/50