Avoid server crash when worker registration fails at execution time.
Avoid server crash when worker registration fails at execution time.

The previous coding attempts to destroy the DSM in this case, but
child nodes might have stored data there and still be holding onto
pointers in this case.  So don't do that.

Also, free the reader array instead of leaking it.

Extracted from two different patch versions both by Amit Kapila.

greenplum-db/gpdb,lisakowen/gpdb,adam8157/gpdb,50wu/gpdb,lisakowen/gpdb,adam8157/gpdb,jmcatamney/gpdb,greenplum-db/gpdb,ashwinstar/gpdb,50wu/gpdb,adam8157/gpdb,xinzweb/gpdb,jmcatamney/gpdb,50wu/gpdb,lisakowen/gpdb,50wu/gpdb,jmcatamney/gpdb,adam8157/gpdb,ashwinstar/gpdb,ashwinstar/gpdb,adam8157/gpdb,jmcatamney/gpdb,greenplum-db/gpdb,adam8157/gpdb,50wu/gpdb,greenplum-db/gpdb,lisakowen/gpdb,lisakowen/gpdb,lisakowen/gpdb,ashwinstar/gpdb,jmcatamney/gpdb,ashwinstar/gpdb,lisakowen/gpdb,ashwinstar/gpdb,greenplum-db/gpdb,50wu/gpdb,xinzweb/gpdb,greenplum-db/gpdb,xinzweb/gpdb,xinzweb/gpdb,50wu/gpdb,jmcatamney/gpdb,xinzweb/gpdb,adam8157/gpdb,xinzweb/gpdb,ashwinstar/gpdb,adam8157/gpdb,xinzweb/gpdb,50wu/gpdb,jmcatamney/gpdb,xinzweb/gpdb,jmcatamney/gpdb,greenplum-db/gpdb,ashwinstar/gpdb,lisakowen/gpdb,greenplum-db/gpdb