Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Fig.1 shows the class diagram of important classes in the cluster module. For simplicity, class members and class methods are omitted here as they are just too many. Helper classes and utility classes are also ignored, so you would find much more classes in the cluster module.

Class Functionalities

Entry Point

Cluster Main is the main class in the cluster module, which initializes  

Servers

Servers are implementations of Thrift RPC servers, their main concerns are network transport and protocol parsing. Each of them listens on a port and an ip address, accept connection from clients, wrap connections with certain types of Thrift transports, read requests from the transports, parse them with specific protocols, and send the requests to associated RaftMembers. Each node only have one each server.

  • MetaClusterServer: listens on internal_meta_port, receives meta-group-related Raft requests, and forward them to MetaMember. It also starts the underlying IoTDB once it is up.
  • DataClusterServer: listens on internal_data_port, receives data-group-related Raft requests,