@SystemInformation

Documentation

VoltDB Home » Documentation » Using VoltDB

@SystemInformation

@SystemInformation — Returns configuration information about VoltDB and the individual nodes of the database cluster.

Synopsis

@SystemInformation

@SystemInformation String component

Description

The @SystemInformation system procedure returns information about the configuration of the VoltDB database or the individual nodes of the database cluster, depending upon the component keyword you specify. The following are the allowable values of component:

"DEPLOYMENT"

Returns information about the configuration of the database. In particular, this keyword returns information about the various features and settings enabled through the configuration file, such as export, snapshots, K-safety, and so on. These properties are returned in a single VoltTable of name/value pairs.

"OVERVIEW"

Returns information about the individual servers in the database cluster, including the host name, the IP address, the version of VoltDB running on the server, as well as the path to the configuration file in use. The overview also includes entries for the start time of the server and length of time the server has been running.

If you do not specify a component, @SystemInformation returns the results of the OVERVIEW component (to provide compatibility with previous versions of the procedure).

Return Values

Returns one of two VoltTables depending upon which component is requested.

For the DEPLOYMENT component, the VoltTable has the columns specified in the following table.

NameDatatypeDescription
PROPERTYSTRINGThe name of the deployment property being reported.
VALUESTRINGThe corresponding value of that property in the configuration file (either explicitly or by default).

For the OVERVIEW component, information is reported for each server in the cluster, so an additional column is provided identifying the host node.

NameDatatypeDescription
HOST_IDINTEGERA numeric identifier for the host node.
KEYSTRINGThe name of the system attribute being reported.
VALUESTRINGThe corresponding value of that attribute for the specified host.

Examples

The first example displays information about the individual servers in the database cluster:

$ sqlcmd
1> exec @SystemInformation overview;

The following program example uses @SystemInformation to display information about the nodes in the cluster and then about the database itself.

VoltTable[] results = null;
try {
     results = client.callProcedure("@SystemInformation",
               "OVERVIEW").getResults();
     System.out.println("Information about the database cluster:");
     for (VoltTable node : results) System.out.println(node.toString());

     results = client.callProcedure("@SystemInformation",
               "DEPLOYMENT").getResults();
     System.out.println("Information about the database configuration:");
     for (VoltTable node : results) System.out.println(node.toString());

}
catch (Exception e) {
     e.printStackTrace();
}