Skip to content

Handle server deletes better #25

@ajx42

Description

@ajx42

Pasting some of our conversation here, so that we can think about all this later.

TZU-TAO CHANG Yesterday 11:17 PM
Consider this case:
A opens F
A writes 0 to F
A closes F
B deletes F
A opens F
A reads F

I suppose A should see that F is empty, but seems like our implementation will create F on server, while keep using local cache, so A will see 0?
[Yesterday 11:27 PM] Aditya Jain
A opens F
A writes F
B deletes F
A writes more to F (call this version v2)
A2 opens F (A2 is on same machine as A)
A2 shouldn't fetch F, it should see local v2 version of F)

[Yesterday 11:28 PM] Aditya Jain
it is hard to basically figure if a file was deleted at the server before or after our writes, if multiple processes are using it.

[Yesterday 11:29 PM] Aditya Jain
The thing is that a delete on the server does not imply a delete of a file from the caches of clients that are using it or may have cached the file

[Yesterday 11:31 PM] Aditya Jain
Aditya JainThe thing is that a delete on the server does not imply a delete of a file from the caches of clients that are using it or may have cached the fileThis is an interesting case, thinking about how caches work, there could be a mechanism to invalidate cached copies on connected clients. The server could. RPC back to clients, but that seems out of the scope of the project for now
like 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions