diff options
author | 2017-09-06 17:07:49 -0400 | |
---|---|---|
committer | 2017-09-06 17:19:07 -0400 | |
commit | 087612ed842c060ee1749b5967a226708870546b (patch) | |
tree | 807d15d0e8e1dcb3c7a9d940971956adf3b676bb /doc/todo | |
parent | f69b019a04bbad2061ea3cfd069b502cdbcc8871 (diff) |
fix consistency bug reading from export database
The export database has writes made to it and then expects to read back
the same data immediately. But, the way that Database.Handle does
writes, in order to support multiple writers, makes that not work, due
to caching issues. This resulted in export re-uploading files it had
already successfully renamed into place.
Fixed by allowing databases to be opened in MultiWriter or SingleWriter
mode. The export database only needs to support a single writer; it does
not make sense for multiple exports to run at the same time to the same
special remote.
All other databases still use MultiWriter mode. And by inspection,
nothing else in git-annex seems to be relying on being able to
immediately query for changes that were just written to the database.
This commit was supported by the NSF-funded DataLad project.
Diffstat (limited to 'doc/todo')
-rw-r--r-- | doc/todo/export.mdwn | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/doc/todo/export.mdwn b/doc/todo/export.mdwn index 24b49ca85..abfa52005 100644 --- a/doc/todo/export.mdwn +++ b/doc/todo/export.mdwn @@ -28,6 +28,8 @@ Work is in progress. Todo list: export from another repository also doesn't work right, because the export database is not populated. So, seems that the export database needs to get populated based on the export log in these cases. -* Efficient handling of renames. +* Currently all modified/deleted files are renamed to temp files, + even when they won't be used. Avoid doing this unless the + temp file will be renamed to the new filename. * Support export to aditional special remotes (S3 etc) * Support export to external special remotes. |