Running gprecoverseg with the -i option fails to recover the failed segments, errors out with the message:
gprecoverseg failed. (Reason=''list' object has no attribute 'getSegmentDbId'') exiting.
The complete command used and error provided:
gprecoverseg -i gprecoverseg_file 20170817:11:06:15:609016 gprecoverseg:mdw:gpadmin-[INFO]:-Starting gprecoverseg with args: -i gprecoverseg_file 20170817:11:06:15:609016 gprecoverseg:mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.3.9.1 build commit:095e92e4ecbbbb6764897ca98b1cb7705ad0c805' 20170817:11:06:15:609016 gprecoverseg:mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15 (Greenplum Database 4.3.9.1 build commit:095e92e4ecbbbb6764897ca98b1cb7705ad0c805) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Aug 24 2016 06:30:45' 20170817:11:06:15:609016 gprecoverseg:mdw:gpadmin-[INFO]:-Checking if segments are ready to connect 20170817:11:06:15:609016 gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20170817:11:06:36:609016 gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20170817:11:06:45:609016 gprecoverseg:mdw:gpadmin-[CRITICAL]:-gprecoverseg failed. (Reason=''list' object has no attribute 'getSegmentDbId'') exiting...
This is a known issue in 4.3.9.1 due to an import issue.
Upgrade to GPDB to 4.3.10.1 or above to fix this issue.