Athena
Athena copied to clipboard
Make Athena concurrent
Athena should support concurrent finds, adds, and (eventually) modifications, and deletions.
Right now Athena uses non-concurrent datastructures internally, which is likely to cause intermittent ConcurrentModificaitonExceptions if a Store is accessed from multiple threads.
Obviously making Athena concurrent is about more than just using ConcurrentHashMaps instead of HashMaps - we need to think about how we can ensure Athena supports concurrent operations.
We'd need an interface for it to make things sane.
Some kind of staging object, where all queries go. Then it could provide thread handling, which will allow us to keep track of what queries are doing and what stage the rows they're affecting are at.
Not sure I understand, isn't this the Store object? Everything goes through that.
I guess that makes sense. However, I was talking more along the lines of row-level locking for concurrency.