mirror of https://github.com/citusdata/citus.git
Deferred drop Hello World
parent
bf61fe3565
commit
92b1cdf6c0
|
@ -61,6 +61,8 @@ typedef struct CleanupRecord
|
||||||
CleanupPolicy policy;
|
CleanupPolicy policy;
|
||||||
} CleanupRecord;
|
} CleanupRecord;
|
||||||
|
|
||||||
|
/* operation ID set by StartNewOperationNeedingCleanup */
|
||||||
|
OperationId CurrentOperationId = INVALID_OPERATION_ID;
|
||||||
|
|
||||||
/* declarations for dynamic loading */
|
/* declarations for dynamic loading */
|
||||||
PG_FUNCTION_INFO_V1(citus_cleanup_orphaned_shards);
|
PG_FUNCTION_INFO_V1(citus_cleanup_orphaned_shards);
|
||||||
|
@ -189,6 +191,12 @@ TryDropOrphanedShards(bool waitForLocks)
|
||||||
static int
|
static int
|
||||||
DropOrphanedShardsForCleanup()
|
DropOrphanedShardsForCleanup()
|
||||||
{
|
{
|
||||||
|
/* Only runs on Coordinator */
|
||||||
|
if (!IsCoordinator())
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
List *cleanupRecordList = ListCleanupRecords();
|
List *cleanupRecordList = ListCleanupRecords();
|
||||||
|
|
||||||
int removedShardCountForCleanup = 0;
|
int removedShardCountForCleanup = 0;
|
||||||
|
@ -543,7 +551,7 @@ static bool
|
||||||
TryDropShardOutsideTransaction(char *qualifiedTableName, char *nodeName, int nodePort)
|
TryDropShardOutsideTransaction(char *qualifiedTableName, char *nodeName, int nodePort)
|
||||||
{
|
{
|
||||||
ereport(LOG, (errmsg("dropping shard placement %s "
|
ereport(LOG, (errmsg("dropping shard placement %s "
|
||||||
"on %s:%d after it was moved away",
|
"on %s:%d",
|
||||||
qualifiedTableName, nodeName, nodePort)));
|
qualifiedTableName, nodeName, nodePort)));
|
||||||
|
|
||||||
/* prepare sql query to execute to drop the shard */
|
/* prepare sql query to execute to drop the shard */
|
||||||
|
|
|
@ -92,5 +92,8 @@ ALTER TABLE citus.pg_dist_cleanup SET SCHEMA pg_catalog;
|
||||||
|
|
||||||
|
|
||||||
-- Sequence used to generate an operation ID for use in pg_dist_cleanup_record.
|
-- Sequence used to generate an operation ID for use in pg_dist_cleanup_record.
|
||||||
CREATE SEQUENCE citus.pg_dist_operation_id_seq;
|
CREATE SEQUENCE citus.pg_dist_operationid_seq;
|
||||||
ALTER SEQUENCE citus.pg_dist_operation_id_seq SET SCHEMA pg_catalog;
|
ALTER SEQUENCE citus.pg_dist_operationid_seq SET SCHEMA pg_catalog;
|
||||||
|
|
||||||
|
CREATE SEQUENCE citus.pg_dist_cleanup_recordid_seq;
|
||||||
|
ALTER SEQUENCE citus.pg_dist_cleanup_recordid_seq SET SCHEMA pg_catalog;
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#define PG_CATALOG "pg_catalog"
|
#define PG_CATALOG "pg_catalog"
|
||||||
#define PG_DIST_CLEANUP "pg_dist_cleanup"
|
#define PG_DIST_CLEANUP "pg_dist_cleanup"
|
||||||
#define OPERATIONID_SEQUENCE_NAME "pg_dist_operationid_seq"
|
#define OPERATIONID_SEQUENCE_NAME "pg_dist_operationid_seq"
|
||||||
#define CLEANUPRECORDID_SEQUENCE_NAME "pg_dist_cleanup_record_id_seq"
|
#define CLEANUPRECORDID_SEQUENCE_NAME "pg_dist_cleanup_recordid_seq"
|
||||||
|
|
||||||
#endif /* PG_DIST_CLEANUP_H */
|
#endif /* PG_DIST_CLEANUP_H */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue