Closed RussellJoyce closed 4 years ago
Second option seems most fair. Having three explicit board states instead of two: locked, in-use and free. In-use state may still need a timeout though, although this could be far longer than a lock. A least-recently used ordering would also make things more fair (and share the board load better).
Currently when a lock expires its associated board is unlocked in the database, but the user can remain connected until that board is randomly reallocated, at which point their connection is suddenly killed.
Two better alternatives would be: