Checking for Failed Segments

posted Sep 13, 2012, 7:42 PM by Sachchida Ojha
With mirroring enabled, you may have failed segments in the system without interruption of service or any indication that a failure has occurred. One way to verify the status of your system is to use the gpstate utility. This utility provides the status of each individual component of a Greenplum Database system (primary segments, mirror segments, master, and standby master).

To check for failed segments

1.On the master, run the gpstate utility with the -e option. This will show any segments with error conditions:
$ gpstate -e

2.Segments that are in Change Tracking mode indicate that the corresponding mirror segment is down.
A segment that is not in its preferred role means that the segment is not operating in the role it was assigned at system initialization time. This means that the system is in a potentially unbalanced state, as some segment hosts may have more active segments that is optimal for top system performance. See “To return all segments to their preferred role” on page 184 for instructions on how to fix this situation.

3.To get detailed information about a failed segment, look it up in the gp_segment_configuration catalog table. For example:
$ psql -c "SELECT * FROM gp_segment_configuration WHERE status='d';"

4.For failed segment instances, note the host, port, preferred role, and data directory. This will help you determine the host and segment instances to troubleshoot.

5.To see the primary to mirror segment instance mapping, run:
$ gpstate -m