vldpyatkov commented on code in PR #1493:
URL: https://github.com/apache/ignite-3/pull/1493#discussion_r1064957813
##########
modules/metastorage/README.md:
##########
@@ -0,0 +1,40 @@
+# Metastorage
+
+The module for store and access to metadata.
+
+The storage is distributed to prevent losing data and based of RAFT. In
typical case, the group consists of only several nodes of the
+cluster (amount of nodes have to be odd 3 or 5). The rest of nodes listens
metadata update but does not participant in voting (RAFT
+listeners).
+
+## Threading model
+
+There is only one dedicate thread to notify watches. This is a thread with
prefix metastorage-watch-executor.
+The thread is created from executor in KeyValueStorage:
+
+```java
+private final ExecutorService watchExecutor =
Executors.newSingleThreadExecutor(new
NamedThreadFactory("metastorage-watch-executor",LOG));
+```
+
+Also, the storage internally contains a two threads executor to create a
snapshot:
+
+```java
+private final ExecutorService snapshotExecutor =
Executors.newFixedThreadPool(2,new
NamedThreadFactory("metastorage-snapshot-executor",LOG));
+```
+
+Both of the executors have no a node name in their names. The names are
required to identify threads belonged to different Ignite nodes on
+the shared java machine (TODO: IGNITE-18504 Add nodes name in prefix to
Metastorage executors).
+
+### Interface methods
+
+Various operations (*get()*, *getAll()*, *invoke()*) in Metastorage manager
return futures. Those futures are completed when the matched
Review Comment:
Added link to raft module.
--
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]