Updated on 2024-09-05 GMT+08:00

Viewing Inspection Results

Context

GaussDB(DWS) allows you to inspect the cluster before making any changes like scaling, changing specifications, or upgrading. Simply click Inspect on the relevant page, and the system will check if the cluster's health status and metrics meet the requirements for the change. Once the inspection is passed, you can proceed with the change. If the inspection fails, you can view the inspection details page to see which items did not pass the inspection. From there, you can handle the inspection items based on the details provided. For details about the inspection standards, see Table 1.

  • This feature is supported only in cluster version 8.1.1 or later.
  • If you cannot handle the failed inspection items, contact technical support engineers.

Precautions

  • The inspection plug-in 8.3.1.100 or later has been installed in the cluster.
  • The inspection result is valid for 24 hours, during which you can make the change operation. Once the 24-hour validity period expires, you will need to perform the inspection again.
  • If the cluster has not been inspected within 24 hours before the change, inspect it before making any changes like scaling, changing specifications, or upgrading. Ensure that the inspection is passed before proceeding with the change.

Viewing Inspection Details

  1. Log in to the GaussDB(DWS) console.
  2. In the cluster list, click the name of the target cluster.
  3. On the cluster details page, click Inspection Management.
  4. Click the drop-down button next to its name to check the inspection status, execution progress, inspection result, and pass rate. For more details about these inspection items, click View Details in the task's row.

    Figure 1 Viewing inspection details

    After creating an inspection task on the configuration change page, you can keep track of its progress and view details. You can even stop the inspection from that same page.

Stopping an Inspection Task

  1. Log in to the GaussDB(DWS) console.
  2. In the cluster list, click the name of the target cluster.
  3. On the cluster details page, click Inspection Management.
  4. Locate the row that contains the inspection task and click Stop in the Operation column to stop the inspection task.

Inspection Criteria

Table 1 Inspection criteria

Change Operation

Item

Check Criteria

Scaling operations and typical modifications

CheckTimeZone

The inspection passes if all nodes in the cluster use the same time zone, and fails if they do not.

CheckSpaceUsage

When usage goes beyond the warning threshold (set at 70% by default), a warning is issued. If it goes beyond the NG threshold (set at 90% by default), the inspection fails. The inspection fails if the available space in the GAUSSHOME/PGHOST/GPHOME/GAUSSLOG/tmp/data directory is less than the threshold.

CheckClusterState

It verifies the CM process, fenced UDF, and cluster status. If the CM process is missing, the inspection fails. A warning is issued if the fenced UDF status is down. The inspection passes for a normal cluster status, but fails otherwise.

CheckEnvProfile

It checks the environment variables ($GAUSSHOME, $LD_LIBRARY_PATH, and $PATH) of a node. If these variables exist and are properly configured, the inspection passes. Otherwise, the inspection fails.

CheckReadonlyMode

It checks the value of default_transaction_read_only on all nodes that contain CNs in the cluster. If the value is off, the inspection passes. Otherwise, the inspection fails.

CheckCatchup

It checks whether the CatchupMain function can be found in the gaussdb process stack. If it cannot be found, the inspection passes. Otherwise, the inspection fails.

CheckCollector

It checks whether the information collection is successful. If it is, the inspection passes. Otherwise, the inspection fails.

CheckTrust

If any node is not trusted, the inspection fails. Otherwise, the inspection passes.

CheckBalanceState

It checks the Balanced attribute of the cluster. If it is Yes, the inspection passes. A warning is displayed if it is not. If the query fails, the inspection also fails.

CheckCnNumberSame

It checks if the number of CNs queried by running the /opt/dws/xml/cluster.xml command is different from that queried by running the cm_ctl query -Cv command. If they are different, the inspection passes. If not, the inspection fails.

CheckCMParam

It checks if the value of enable_transaction_read_only is on and if the value of coordinator_heartbeat_timeout is consistent on each node. If both are true, the inspection passes.

CheckUtilslib

It checks for the existence of the $GAUSSHOME/utilslib directory. If it exists, the inspection fails. If it does not exist, the inspection passes.

CheckPgxcgroup

It checks the number of records in the pgxc_group table where in_redistribution is Y. If the number is 0, the inspection passes. If the number is greater than 0, the inspection fails.

CheckLockState

It checks whether the cluster is locked. If the cluster is not locked, the inspection passes. If it is locked, the inspection fails.

CheckDBConnection

It checks whether the database can be connected. If it can, the inspection passes. Otherwise, the inspection fails.

CheckGUCConsistent

It checks whether the GUC parameters of CNs and DNs are consistent. If they are consistent, the inspection passes. Otherwise, the inspection fails.

CheckTDDate

The inspection fails if the ORC table in the TD database exists and has columns of the date type.

CheckPgxcRedistb

If any temporary table remains in the database after data redistribution, the inspection fails.

CheckMetaData

If metadata in the system table is consistent, the inspection passes. Otherwise, the inspection fails.

CheckGUCSetting

If the GUC parameters in postgresql.conf are consistent with those in pg_settings, the inspection passes. Otherwise, the inspection fails.

CheckProacl

The inspection fails if proacl in the pg_proc system table has usernames with only digits. Otherwise, it passes.

CheckMetaDataConsistency

If the data in the system table between CN and DN is consistent, the inspection passes. Otherwise, the inspection fails.

CheckReturnType

If the return value is invalid, the inspection fails. Otherwise, the inspection passes.

CheckUltraWideTable

If a table with more than 996 columns exists, the inspection fails. Otherwise, the inspection passes.

CheckDataRedisSchema

If a data_redis schema exists in the database and the owner name is not redisuser, the inspection fails. Otherwise, the inspection passes.

CheckDiskSpaceLimited

If the disk space of the user is limited, the inspection fails. Otherwise, the inspection passes.

CheckTableCollate

The inspection fails if the database has a PCK table or a column-store partitioned table with a collate field. Otherwise, it passes.

CheckDefaultOrientation

It checks the GUC parameter. If both the database and default_orientation are set to row storage, the inspection passes. Otherwise, the inspection fails.

CheckReplicationUuid

The inspection passes if there is no replicated table that uses the default UUID. Otherwise, it fails.

CheckUserStatementTimeout

If statement_timeout is not set or is set to 0, the inspection passes. Otherwise, the inspection fails.

CheckJsonb

Run the select attrelid::regclass from pg_attribute a join pg_type t on a.atttypid = t.oid and t.typname = 'jsonb' group by 1 SQL statement. If the jsonb type is used, the inspection fails. Otherwise, the inspection passes.

CheckLengthOfIndex

Run the SELECT length(pg_get_indexdef(indexrelid)) FROM pg_index order by 1 desc limit 1 SQL statement. If the result is greater than 192 x 1024, the inspection fails. Otherwise, the inspection passes.

CheckLengthOfTable

Run the select c.oid from pg_class c,pg_namespace n where c.relnamespace=n.oid and relkind='r' and n.nspname not in ('cstore') and length(n.nspname||'.'||c.relname)>=64; SQL statement. If the result is not empty, the inspection fails. Otherwise, the inspection passes.

CheckUseWorkloadManager

Run the show use_workload_manager SQL statement. If the result is on, the inspection passes. Otherwise, the inspection fails. This inspection item is not included in version 8.1.3.320 and beyond. Meaning, it has been verified and passed in later versions.

CheckNecessarySchema

It checks whether the necessary schema(public) exists. If schema(public) does not exist, the check fails.

CheckCMParamConsistency

To pass this check, ensure that the parameter settings in the cm.conf file obtained from both the active and standby CM nodes are consistent. The check will pass if they are consistent and fail if they are not.

CheckSQLCompatibility

In MySQL compatibility mode, redistribution of temporary tables with indexes is slow. If the SHOW sql_compatibility value is set to mysql in the service database and the disable_including_all_mysql enumerated value is not present in the behavior_compat_options, this item will not pass the check. However, if the enumerated value is included, the item will pass the check.

CheckBinaryUpgrade

Check whether the corresponding backup file exists in the /DWS/manager/upgrade_backup/directory. If the backup file exists, the check fails. Otherwise, the check is passed.

CheckColdTableSpace

Checks whether cold and hot tables exist in all databases. If yes, this item fails the check. If no, this item passes the check.

CheckXFS

View the /etc/os-release file to obtain the version information. If EulerOS is used and the version is 4.19.87 or earlier, XFS bugs are involved and the check is not passed. Otherwise, the check is passed.

CheckGTMConfigConsistency

It obtains the parameters in the configuration files of the active and standby GTMs. If the parameter settings are consistent, this item passes the check.

CheckColversion

If there are column-store tables that are not marked as 1.0 and the current default column-store table is 2.0, this item fails the check. Otherwise, this item passes the check.

CheckTopSqlSize

It checks the size of the topsql table. If the size exceeds 50 GB, the check fails.

CheckDeltaTable

It checks the existence of the delta table. If the table exist, this item fails the check.

CheckMaxDatanode

It checks the value of comm_max_dataode. If the value is not equal to the actual number of primary DataNodes, this item fails the check.

CheckSSHIP

To pass this check, ensure that the parameter settings in the cm.conf file obtained from both the active and standby CM nodes are consistent. The check will pass if they are consistent and fail if they are not.

CheckTimeZoneLink

Run the ll /etc/localtime command in the sandbox. If the file path to which the link points contains /var/chroot, the check is not passed.

CheckSpecialFile

Checks whether files in the program directory (GAUSSHOME) contain special characters and files of non-Ruby users. If no, this item passes the check.

CheckSysSchemaTable

If a user-created table exists in the system schema, the check fails. Otherwise, the check is successful.

Pre-upgrade health check

CheckClusterParams

The cluster configuration parameters (IP address, port, and path parameters) specified in postgresql.conf or pgxc_node should match those in the static configuration file. Otherwise, the inspection fails.

CheckCNNum

It checks the number of CNs in the cluster. If the number is greater than 2 and no more 10, the inspection passes. Otherwise, the inspection fails.

CheckDDL

Start a transaction to delete schemas and tables. If the transaction can be committed, the inspection passes. Otherwise, the inspection fails.

CheckTimeZone

The inspection passes if all nodes in the cluster use the same time zone, and fails if they do not.

CheckXidEpoch

It checks the XID consumption. If the value is greater than or equal to 2 to the power of 32, the inspection fails.

CheckCnNumberSame

It checks if the number of CNs queried by running the /opt/dws/xml/cluster.xml command is different from that queried by running the cm_ctl query -Cv command. If they are different, the inspection passes. If not, the inspection fails.

CheckGaussVer

The inspection passes if the binary files in the $GAUSSHOME/bin directory on each node have identical versions.

CheckPsort

The inspection fails if the psort index exists.

CheckCatchup

It checks whether the CatchupMain function can be found in the gaussdb process stack. If it cannot be found, the inspection passes. Otherwise, the inspection fails.

CheckClusterState

It verifies the CM process, fenced UDF, and cluster status. If the CM process is missing, the inspection fails. A warning is issued if the fenced UDF status is down. The inspection passes for a normal cluster status, but fails otherwise.

CheckMetaDataConsistency

If the data in the system table between CN and DN is consistent, the inspection passes. Otherwise, the inspection fails.

CheckDependSystemObj

If self-created objects depend on system objects, the inspection fails. Otherwise, the inspection passes.

CheckPgKeyWords

If names of tables, columns, functions, or data types are new reserved keywords, the inspection fails. Otherwise, the inspection passes.

CheckReadonlyMode

It checks the value of default_transaction_read_only on all nodes that contain CNs in the cluster. If the value is off, the inspection passes. Otherwise, the inspection fails.

CheckMetaData

If metadata in the system table is consistent, the inspection passes. Otherwise, the inspection fails.

CheckGUCSetting

If the GUC parameters in postgresql.conf are consistent with those in pg_settings, the inspection passes. Otherwise, the inspection fails.

CheckPgxcgroup

It checks the number of records in the pgxc_group table where in_redistribution is Y. If the number is 0, the inspection passes. If the number is greater than 0, the inspection fails.

CheckCmserverStandby

If the value of cm_server in the cluster is standby, the inspection passes. Otherwise, a warning is displayed.

CheckSpaceUsage

When usage goes beyond the warning threshold (set at 70% by default), a warning is issued. If it goes beyond the NG threshold (set at 90% by default), the inspection fails. The inspection fails if the available space in the GAUSSHOME/PGHOST/GPHOME/GAUSSLOG/tmp/data directory is less than the threshold.

CheckEnvProfile

It checks the environment variables ($GAUSSHOME, $LD_LIBRARY_PATH, and $PATH) of a node. If these variables exist and are properly configured, the inspection passes. Otherwise, the inspection fails.

CheckBalanceState

It checks the Balanced attribute of the cluster. If it is Yes, the inspection passes. A warning is displayed if it is not. If the query fails, the inspection also fails.

CheckTDDate

The inspection fails if the ORC table in the TD database exists and has columns of the date type.

CheckCatalog

If there is a custom database object in pg_catalog, the inspection fails. Otherwise, the inspection passes.

CheckPgauthid

If the most significant bit of oid in pg_authid is 1, the inspection fails. Otherwise, the inspection passes.

CheckSysdate

If the sysdate view is used in tables, views, and stored procedures, the inspection fails. Otherwise, the inspection passes.

CheckFilesNumber

If the number of tmp files in the GAUSSHOME/PGHOST/GPHOME directory is greater than 10,000, the inspection fails. Otherwise, the inspection passes.

CheckKeyFilesExist

If the upgrade_version, conf, control, and data files exist in key directories, the inspection passes. Otherwise, the inspection fails.

CheckReturnType

If the return value is invalid, the inspection fails. Otherwise, the inspection passes.

CheckTrust

If any node is not trusted, the inspection fails. Otherwise, the inspection passes.

CheckEnumGUCValue

It checks whether some parameters in pg_postgres.conf contain quotation marks. If single quotation marks are missing, this item fails the check.

CheckSpecialFile

It checks whether files in the program directory (GAUSSHOME) contain special characters and files of non-Ruby users. If no, this item passes the check.

CheckNecessarySchema

It checks the existence of the necessary schemas (public).

CheckUserDefinedDataType

It connects to all databases. Run the select count(*) from pg_type t,pg_namespace n,PG_ATTRIBUTE a where t.typnamespace=n.oid and t.oid=a.atttypid and t.typname ='time_stamp' and n.nspname='information_schema' and a.atttypid> 16384; SQL statement . If the result is empty, the check is passed.

CheckCMParamConsistency

To pass this check, ensure that the parameter settings in the cm.conf file obtained from both the active and standby CM nodes are consistent. The check will pass if they are consistent and fail if they are not.

CheckLightProxy

It checks the enable_light_proxy parameter. If the value is off and behavior_compat_options does not contain the enumerated value enable_force_add_batch, the item fails the check.

CheckSSHIP

To pass this check, ensure that the parameter settings in the cm.conf file obtained from both the active and standby CM nodes are consistent. The check will pass if they are consistent and fail if they are not.

CheckSysSchemaTable

If a user-created table exists in the system schema, the check fails. Otherwise, the check is successful.

CheckTimeZoneLink

Run the ll /etc/localtime command in the sandbox. If the file path to which the link points contains /var/chroot, the check is not passed.