New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New chunking: etags on the final MOVE #25682

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

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

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Aug 2, 2016

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?

Member

DeepDiver1975 commented Aug 2, 2016

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

This comment has been minimized.

Show comment
Hide comment
@ogoffart

ogoffart 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

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

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Aug 2, 2016

Member

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

Member

DeepDiver1975 commented Aug 2, 2016

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

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Aug 2, 2016

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

Member

DeepDiver1975 commented Aug 2, 2016

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

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Sep 23, 2016

Member
  • Missing if-match header on move
  • add capability for new chunking
Member

DeepDiver1975 commented Sep 23, 2016

  • Missing if-match header on move
  • add capability for new chunking

DeepDiver1975 added a commit that referenced this issue Oct 13, 2016

DeepDiver1975 added a commit that referenced this issue Oct 13, 2016

@DeepDiver1975 DeepDiver1975 referenced this issue Oct 13, 2016

Merged

Adding chunking capability #26368

3 of 9 tasks complete

DeepDiver1975 added a commit that referenced this issue Oct 20, 2016

@PVince81

This comment has been minimized.

Show comment
Hide comment
@PVince81

PVince81 Oct 28, 2016

Member

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

Member

PVince81 commented Oct 28, 2016

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

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Oct 28, 2016

Member

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

we are done

Member

DeepDiver1975 commented Oct 28, 2016

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