|Pivotal Greenplum (GPDB)||All versions|
ERROR: right sibling's left-link doesn't match: block 163 links to 627 instead of expected 2513 in index "pg_depend_reference_index" (nbtinsert.c:1019) (seg57 sdw5:50009 pid=27178) (cdbdisp.c:1499) ERROR: could not temporarily connect to one or more segments (cdbgang.c:1630)
If there is an on-disk file corruption, it is possible for the indexes on a given segment becomes unreadable. However, a full RCA should be performed to ensure that the issue does not reoccur.
The fix is to connect directly to the segment mentioned under maintenance mode (see GPDB Admin Guide) and to re-index the affected table (in this example above that would be pg_depend).
Often this re-index operation fails. In that case, you can try setting the GUC "zero_damaged_pages" and then performing the reindex. For example;
shell# PGOPTIONS='-c gp_session_role=utility' psql -h sdw5 -p 50009 db_dev db_dev=# set zero_damaged_pages=on ;
db_dev=# reindex table pg_depend; REINDEX
Setting the GUC "zero_damaged_pages" is destructive. It will change any errors related to damaged pages to warnings and then it set that page to zero resulting in data loss. In this situation, however, as we are rebuilding the index, the loss of a page is of little consequence.