keith-turner commented on issue #3670:
URL: https://github.com/apache/accumulo/issues/3670#issuecomment-2176937770
While working on trying to determine the best angle to get started with
this, one important thing I realized is that a tablet only has the following
types of threads that interact with it.
* Scan thread
* Write thread
* Minor compaction thread
* Refresh thread
* Close thread
* Instantiation thread that creates a tablet on a tserver
Prior to elasticity there were more types of threads to worry about. The
threads above need to synchronize on different in memory state and this
interleaved with I/O. Started experimenting with [this
structure](https://github.com/keith-turner/accumulo/blob/60b129d1f0999ff56942d793e74bab5ba012ee65/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletState.java).
The idea behind this structure is that each of the thread type uses a
coordination object to interact with the shared in memory state of the tablet.
Maybe this structure would cleanly separate the in memory state+sync from the
I/O+compute code, not sure though.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]