-
Notifications
You must be signed in to change notification settings - Fork 1
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
Verify that SSH-based STORE operations are done in an "atomic" fashion #102
Comments
For now, I see two principal options of implementing "atomic" STORE-operations (BTW: with "STORE-operations" we refer to
Both approaches have pros and cons, but I would prefer the route of option 1. Pros and cons####### Option 1: Pros for option 1. are: completely encapsulated in the respective Cons for option 1. are: the specific implementation might lead to duplicated implementation of "atomic"-operation functionality; the UrlOperations class might pick up a lot of code that is related to "atomic" implementations, and thus contain code for different aspects. ####### Option 2: Pros for option 2. are: option 2 allows separation of aspects, here of synchronization, and data transfer. Synchronization could be implemented in base-classes, e.g. stat could check wether its Cons for option 2. are: synchronization is limited to using the primitives of the sychronization classes, i.e. it cannot take advantage of efficient and basically atomic operations like "moving a file from a temporary location to a final location". Instantiating an UrlOperation would require to select a proper synchronization class, which makes the use of UrlOperations more complex (one could provide a "default"-synchronization class, but the decision has to be made at some point). The main disadvantage might be that different ria-remote-configurations may use different synchronization endpoints and therefore have no synchronization at all. ######### "My" conclusion: This is "my" conclusion in the sense that you may arrive at another conclusion: I think that the option of an atomic It goes without saying, but we should try to separate the aspects of synchronization and data transport code-wise as much as possible (encapsulation, delegation, ..., and refactoring to keep code-parts that refer to different aspects separate). ######### Open question: Does |
No, I mean the
I am not aware of such a need.
This is also my conclusion, and also the behavior of the I am not certain whether |
The switch to uncurl-style URL handlers forces us to recheck everything. One critical piece is that uploads (also from multiple locations simultaenousely) do not got directly to a key location (to avoid the special remote reporting a key present, although it might take hours before the content is fully uploaded), and that temporary upload locations are connection-specific (in case the same key is uploaded from two or more sites at the same time).
The text was updated successfully, but these errors were encountered: