How does DataMiner connect to a Cassandra cluster? Does it connect to one node or all nodes in the cluster?
How does the SLCassandraHealth log file retrieve information about the state of the various nodes in the cluster? Does DataMiner query one of the Cassandra nodes to know the state of the cluster, or is it DataMiner that checks this by trying to connect to all nodes in the cluster?
Also, how is the SLCassandraHealth log file correlated to the SLDBConnection file? I ask this because, for example, when I see the state change to yellow, I can't find the log entry on the SLDBconnection log file that matches the loss of a node.
Hi Catarina,
DataMiner connects to Cassandra cluster by using the Cassandra C# driver, DataMiner provides a list of endpoints which is configured in DB.xml.
For retrieving the various statusses of the nodes in the Cassandra cluster DataMiner uses the information that the Cassandra C# reports in it's list of nodes. I assume this is internally polled, DataMiner counts the amount of nodes that are reported as up and the amount of nodes that are reported as down. When a node changes it's status, the Cassandra C# driver gives a signal which is intercepted in SLDataGateway to recalculate the total status.
SLCassandraHealth and SLDBConnection are both populated by the SLDataGateway process. Depending on the version of DataMiner that is running something should be logged in SLDBConnection along the lines of "[OnNodeAvailabilityChanged] node statuses: [...]", on a debug level. This logging was only fixed fairly recently.
The log fix for which the mentioned logging should be visible is 10.4.6