Make GIN's cleanup pending list process interruptable
Make GIN's cleanup pending list process interruptable

Cleanup process could be called by ordinary insert/update and could take a lot
of time. Add vacuum_delay_point() to make this process interruptable. Under
vacuum this call will also throttle a vacuum process to decrease system load,
called from insert/update it will not throttle, and that reduces a latency.

Backpatch for all supported branches.

Jeff Janes <jeff.janes@gmail.com>

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