Commit 7f7f25f1 authored by Thomas Munro's avatar Thomas Munro

Revert "Fix race in Parallel Hash Join batch cleanup."

This reverts commit 378802e3.
This reverts commit 3b8981b6.

Discussion: https://postgr.es/m/CA%2BhUKGJmcqAE3MZeDCLLXa62cWM0AJbKmp2JrJYaJ86bz36LFA%40mail.gmail.com
parent 9fd2952c
This diff is collapsed.
This diff is collapsed.
...@@ -4043,8 +4043,8 @@ pgstat_get_wait_ipc(WaitEventIPC w) ...@@ -4043,8 +4043,8 @@ pgstat_get_wait_ipc(WaitEventIPC w)
case WAIT_EVENT_HASH_BUILD_HASH_OUTER: case WAIT_EVENT_HASH_BUILD_HASH_OUTER:
event_name = "HashBuildHashOuter"; event_name = "HashBuildHashOuter";
break; break;
case WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE: case WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATE:
event_name = "HashGrowBatchesReallocate"; event_name = "HashGrowBatchesAllocate";
break; break;
case WAIT_EVENT_HASH_GROW_BATCHES_DECIDE: case WAIT_EVENT_HASH_GROW_BATCHES_DECIDE:
event_name = "HashGrowBatchesDecide"; event_name = "HashGrowBatchesDecide";
...@@ -4058,8 +4058,8 @@ pgstat_get_wait_ipc(WaitEventIPC w) ...@@ -4058,8 +4058,8 @@ pgstat_get_wait_ipc(WaitEventIPC w)
case WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION: case WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION:
event_name = "HashGrowBatchesRepartition"; event_name = "HashGrowBatchesRepartition";
break; break;
case WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE: case WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATE:
event_name = "HashGrowBucketsReallocate"; event_name = "HashGrowBucketsAllocate";
break; break;
case WAIT_EVENT_HASH_GROW_BUCKETS_ELECT: case WAIT_EVENT_HASH_GROW_BUCKETS_ELECT:
event_name = "HashGrowBucketsElect"; event_name = "HashGrowBucketsElect";
......
...@@ -254,32 +254,31 @@ typedef struct ParallelHashJoinState ...@@ -254,32 +254,31 @@ typedef struct ParallelHashJoinState
} ParallelHashJoinState; } ParallelHashJoinState;
/* The phases for building batches, used by build_barrier. */ /* The phases for building batches, used by build_barrier. */
#define PHJ_BUILD_ELECT 0 #define PHJ_BUILD_ELECTING 0
#define PHJ_BUILD_ALLOCATE 1 #define PHJ_BUILD_ALLOCATING 1
#define PHJ_BUILD_HASH_INNER 2 #define PHJ_BUILD_HASHING_INNER 2
#define PHJ_BUILD_HASH_OUTER 3 #define PHJ_BUILD_HASHING_OUTER 3
#define PHJ_BUILD_RUN 4 #define PHJ_BUILD_DONE 4
#define PHJ_BUILD_FREE 5
/* The phases for probing each batch, used by for batch_barrier. */ /* The phases for probing each batch, used by for batch_barrier. */
#define PHJ_BATCH_ELECT 0 #define PHJ_BATCH_ELECTING 0
#define PHJ_BATCH_ALLOCATE 1 #define PHJ_BATCH_ALLOCATING 1
#define PHJ_BATCH_LOAD 2 #define PHJ_BATCH_LOADING 2
#define PHJ_BATCH_PROBE 3 #define PHJ_BATCH_PROBING 3
#define PHJ_BATCH_FREE 4 #define PHJ_BATCH_DONE 4
/* The phases of batch growth while hashing, for grow_batches_barrier. */ /* The phases of batch growth while hashing, for grow_batches_barrier. */
#define PHJ_GROW_BATCHES_ELECT 0 #define PHJ_GROW_BATCHES_ELECTING 0
#define PHJ_GROW_BATCHES_REALLOCATE 1 #define PHJ_GROW_BATCHES_ALLOCATING 1
#define PHJ_GROW_BATCHES_REPARTITION 2 #define PHJ_GROW_BATCHES_REPARTITIONING 2
#define PHJ_GROW_BATCHES_DECIDE 3 #define PHJ_GROW_BATCHES_DECIDING 3
#define PHJ_GROW_BATCHES_FINISH 4 #define PHJ_GROW_BATCHES_FINISHING 4
#define PHJ_GROW_BATCHES_PHASE(n) ((n) % 5) /* circular phases */ #define PHJ_GROW_BATCHES_PHASE(n) ((n) % 5) /* circular phases */
/* The phases of bucket growth while hashing, for grow_buckets_barrier. */ /* The phases of bucket growth while hashing, for grow_buckets_barrier. */
#define PHJ_GROW_BUCKETS_ELECT 0 #define PHJ_GROW_BUCKETS_ELECTING 0
#define PHJ_GROW_BUCKETS_REALLOCATE 1 #define PHJ_GROW_BUCKETS_ALLOCATING 1
#define PHJ_GROW_BUCKETS_REINSERT 2 #define PHJ_GROW_BUCKETS_REINSERTING 2
#define PHJ_GROW_BUCKETS_PHASE(n) ((n) % 3) /* circular phases */ #define PHJ_GROW_BUCKETS_PHASE(n) ((n) % 3) /* circular phases */
typedef struct HashJoinTableData typedef struct HashJoinTableData
......
...@@ -982,12 +982,12 @@ typedef enum ...@@ -982,12 +982,12 @@ typedef enum
WAIT_EVENT_HASH_BUILD_ELECT, WAIT_EVENT_HASH_BUILD_ELECT,
WAIT_EVENT_HASH_BUILD_HASH_INNER, WAIT_EVENT_HASH_BUILD_HASH_INNER,
WAIT_EVENT_HASH_BUILD_HASH_OUTER, WAIT_EVENT_HASH_BUILD_HASH_OUTER,
WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE, WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATE,
WAIT_EVENT_HASH_GROW_BATCHES_DECIDE, WAIT_EVENT_HASH_GROW_BATCHES_DECIDE,
WAIT_EVENT_HASH_GROW_BATCHES_ELECT, WAIT_EVENT_HASH_GROW_BATCHES_ELECT,
WAIT_EVENT_HASH_GROW_BATCHES_FINISH, WAIT_EVENT_HASH_GROW_BATCHES_FINISH,
WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION, WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION,
WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE, WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATE,
WAIT_EVENT_HASH_GROW_BUCKETS_ELECT, WAIT_EVENT_HASH_GROW_BUCKETS_ELECT,
WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT, WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT,
WAIT_EVENT_LOGICAL_SYNC_DATA, WAIT_EVENT_LOGICAL_SYNC_DATA,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment