Open uberlinuxguy opened 5 years ago
Part of EPIC #33
Client will send a "sess " request with their session ID from the master to the storage machine in front of each request.
Storage sends a "sess verify " and Master replies either "OK " or "Err" If OK, the storage server saves the timestamp in memory for that client, and processes the client's request. If master errors, kick the client.
Client can check in to the master side-channel (maybe via a separate heartbeat thread), which will update the timestamp with the master. Upon expire, the storage server can check with the master again upon the next request and get a new timestamp or "Err" to denote the expire of the session. Possible race if the client doesn't check in fast enough, but may be good enough for MVP.
part of #31
Relates to #5 but allows for authorization by the master server of the client who wants to use this storage server.