Skip to content
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

Inconsistency in etag calculation #37

Open
untitaker opened this issue Sep 21, 2015 · 3 comments
Open

Inconsistency in etag calculation #37

untitaker opened this issue Sep 21, 2015 · 3 comments

Comments

@untitaker
Copy link

  • When listing items by doing GET /foldername/ the mtime of file.txt is used.
  • When fetching items by doing GET /foldername/file.txt, the mtime of .~file.txt is used.

I guess this issue doesn't always show up because the file has to be PUT at a second (or millisecond?) boundary, otherwise there's no difference between the mtime of the meta file and the mtime of the data file. However, you can test it by touching either meta files or data files.

The following patch fixes this:

diff --git a/lib/stores/file_tree.js b/lib/stores/file_tree.js
index 465f9ce..abb3b6c 100644
--- a/lib/stores/file_tree.js
+++ b/lib/stores/file_tree.js
@@ -184,7 +184,7 @@ FileTree.prototype.get = function(username, path, version, callback) {
       });
     } else {
       self.readFile(dataPath, function(error, blob, modified) {
-        self.readFile(metaPath, function(error, json, modified) {
+        self.readFile(metaPath, function(error, json, _) {
           if (error) {
             release();
             return callback(null, null);

I'll open a PR if you agree with the change @jcoglan

peacekeeper pushed a commit to peacekeeper/debian-node-restore that referenced this issue Oct 21, 2015
@peacekeeper
Copy link

Sometimes when i use http://litewrite.net/ with restore 0.3.0 and access via two browser simultaneously, i end up getting an endless stream of 412 errors, until i close and re-open the browser. wondering if this is related to this issue.

@untitaker
Copy link
Author

Possibly, if it's not a bug in the client.

untitaker added a commit to untitaker/morestore that referenced this issue Nov 6, 2015
@untitaker
Copy link
Author

I've been starting a fork of restore at https://github.com/untitaker/morestore, which contains a bugfix for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants