New chunking: etags on the final MOVE #25682

Closed
ogoffart opened this Issue Aug 2, 2016 · 7 comments

Projects

None yet

3 participants

@ogoffart
ogoffart commented Aug 2, 2016

The MOVE command of the .file from the uploads to the taget folder does not return the new etag as a header (ETag, or better, OC-ETag)
This is required so the client know the etag for which a specific file is uploaded.

Also, if we specify the If-Match header of the expected destination etag, we get a 412 precondition failed when the etag match

@DeepDiver1975 DeepDiver1975 self-assigned this Aug 2, 2016
@DeepDiver1975 DeepDiver1975 added this to the 9.2 milestone Aug 2, 2016
@DeepDiver1975 DeepDiver1975 added the bug label Aug 2, 2016
@DeepDiver1975
Member

Also, if we specify the If-Match header of the expected destination etag, we get a 412 precondition failed when the etag match

where do you get the expected etag from?
etags are server generated - or am I missing anything?

@ogoffart
ogoffart commented Aug 2, 2016

The expected etag comes from the client database,or the previous PROPFIND.
The client sees that the server has the file.txt with the etag "abcd", that's the same as the one in the DB and deduce that the file has not been modified on the server. The client sees that the local file has een modified. It should upload the file, no conflict.
However, if at the same time, another client uploads or change the file, we should have a conflict situation.
By checking the if-match, the server can make sure that no other client has changed the file in between the last PROPFIND and the actual MOVE

@DeepDiver1975
Member

I see - it's the etag of the previous destination. I'll have a look

@DeepDiver1975
Member

Hmmm ... the if match logic is only applied to the source of the MOVE request but not on the destination.

I guess we need to invent something on our own here ...

@dragotin

@DeepDiver1975 DeepDiver1975 reopened this Sep 23, 2016
@DeepDiver1975
Member
  • Missing if-match header on move
  • add capability for new chunking
@DeepDiver1975 DeepDiver1975 added a commit that referenced this issue Oct 13, 2016
@DeepDiver1975 DeepDiver1975 Add precondition check If-Destination-Match for move - refs #25682 43fc468
@DeepDiver1975 DeepDiver1975 added a commit that referenced this issue Oct 13, 2016
@DeepDiver1975 DeepDiver1975 Adding capability about new chunking - refs #25682 82d238b
@DeepDiver1975 DeepDiver1975 referenced this issue Oct 13, 2016
Merged

Adding chunking capability #26368

3 of 9 tasks complete
@DeepDiver1975 DeepDiver1975 added a commit that referenced this issue Oct 20, 2016
@DeepDiver1975 DeepDiver1975 Adding capability about new chunking - refs #25682 2278d7d
@PVince81
Collaborator

I see merged PRs, is this solved or is there more to it ?

@DeepDiver1975
Member

I see merged PRs, is this solved or is there more to it ?

we are done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment