ygerzhedovich commented on code in PR #2726: URL: https://github.com/apache/ignite-3/pull/2726#discussion_r1366798659
########## modules/system-view/README.md: ########## @@ -1,3 +1,37 @@ # System view module -This module provides implementation of system views. +This module contains system views manager implementation. +The document provides some low-level implementation details that may be of interest to the maintainers of this module. +For information about using the system views API, see the `system-views-api` module documentation. + +## System views manager + +### Responsibility +1. Registers system views in the cluster. +2. Monitors topology changes and serves as a source of information about which nodes owns a particular system view. +3. Provides system view data sources for the query engine. + +### Registration + +Registration of system views occurs during node startup. +The system view cannot be registered after the system views manager is started. + +System views registration in the cluster involve next steps, which are performed during node startup. + +1. Components register system views using system views manager's `register` method. +2. System views manager starts. + * Executes the `CreateSystemViewCommand` catalog command. This command adds non-existent system views into the catalog. + * Collects a list of names of registered system views as a system node attribute. +3. Raft group service completes joining a node to the cluster by sending a `ClusterNodeMessage`. + with system attributes containing the names of locally residing system views. +4. Each node updates logical nodes in logical topology snapshot with received system attributes. + This way, any node in the cluster knows which nodes have which system views. + +### Execution + +From the query engine perspective the system view is an unmodifiable table that doesn't support transactions. Review Comment: let's explain the meaning of "does not support transactions" -- 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]
