Merge pull request #1208 from citusdata/remove_job_id_seq

Stop using a sequence to generate job IDs
pull/1938/head
Marco Slot 2017-04-18 12:02:07 +02:00 committed by GitHub
commit 065d167d2e
269 changed files with 239 additions and 508 deletions

View File

@ -225,8 +225,7 @@ MultiRealTimeExecute(Job *job)
*/
if (taskFailed)
{
ereport(ERROR, (errmsg("failed to execute job " UINT64_FORMAT, job->jobId),
errdetail("Failure due to failed task %u", failedTaskId)));
ereport(ERROR, (errmsg("failed to execute task %u", failedTaskId)));
}
else if (QueryCancelPending)
{

View File

@ -150,7 +150,6 @@ MultiTaskTrackerExecute(Job *job)
ListCell *taskAndExecutionCell = NULL;
uint32 taskTrackerCount = 0;
uint32 topLevelTaskCount = 0;
uint64 failedJobId = 0;
uint32 failedTaskId = 0;
bool allTasksCompleted = false;
bool taskFailed = false;
@ -279,7 +278,6 @@ MultiTaskTrackerExecute(Job *job)
taskFailed = TaskExecutionFailed(taskExecution);
if (taskFailed)
{
failedJobId = taskExecution->jobId;
failedTaskId = taskExecution->taskId;
break;
}
@ -336,7 +334,6 @@ MultiTaskTrackerExecute(Job *job)
taskTransmitFailed = TaskExecutionFailed(taskExecution);
if (taskTransmitFailed)
{
failedJobId = taskExecution->jobId;
failedTaskId = taskExecution->taskId;
break;
}
@ -415,13 +412,11 @@ MultiTaskTrackerExecute(Job *job)
*/
if (taskFailed)
{
ereport(ERROR, (errmsg("failed to execute job " UINT64_FORMAT, failedJobId),
errdetail("Failure due to failed task %u", failedTaskId)));
ereport(ERROR, (errmsg("failed to execute task %u", failedTaskId)));
}
else if (clusterFailed)
{
ereport(ERROR, (errmsg("failed to execute job " UINT64_FORMAT, job->jobId),
errdetail("Too many task tracker failures")));
ereport(ERROR, (errmsg("failed to execute task %u", failedTaskId)));
}
else if (QueryCancelPending)
{

View File

@ -22,6 +22,7 @@
#include "access/heapam.h"
#include "access/nbtree.h"
#include "access/skey.h"
#include "access/xlog.h"
#include "catalog/pg_am.h"
#include "catalog/pg_operator.h"
#include "catalog/pg_type.h"
@ -63,6 +64,7 @@
/* Policy to use when assigning tasks to worker nodes */
int TaskAssignmentPolicy = TASK_ASSIGNMENT_GREEDY;
bool EnableUniqueJobIds = true;
/*
@ -1693,41 +1695,61 @@ ChildNodeList(MultiNode *multiNode)
/*
* UniqueJobId allocates and returns a unique jobId for the job to be executed.
* This allocation occurs both in shared memory and in write ahead logs; writing
* to logs avoids the risk of having jobId collisions.
*
* Please note that the jobId sequence wraps around after 2^32 integers. This
* leaves the upper 32-bits to slave nodes and their jobs.
* The resulting job ID is built up as:
* <16-bit group ID><24-bit process ID><1-bit secondary flag><23-bit local counter>
*
* When citus.enable_unique_job_ids is off then only the local counter is
* included to get repeatable results.
*/
static uint64
UniqueJobId(void)
{
text *sequenceName = cstring_to_text(JOBID_SEQUENCE_NAME);
Oid sequenceId = ResolveRelationId(sequenceName);
Datum sequenceIdDatum = ObjectIdGetDatum(sequenceId);
Datum jobIdDatum = 0;
int64 jobId = 0;
int64 localizedJobId = 0;
int64 localGroupId = GetLocalGroupId();
Oid savedUserId = InvalidOid;
int savedSecurityContext = 0;
static uint32 jobIdCounter = 0;
GetUserIdAndSecContext(&savedUserId, &savedSecurityContext);
SetUserIdAndSecContext(CitusExtensionOwner(), SECURITY_LOCAL_USERID_CHANGE);
uint64 jobId = 0;
uint64 jobIdNumber = 0;
uint64 processId = 0;
uint64 localGroupId = 0;
/* generate new and unique jobId from sequence */
jobIdDatum = DirectFunctionCall1(nextval_oid, sequenceIdDatum);
jobId = DatumGetInt64(jobIdDatum);
jobIdCounter++;
if (EnableUniqueJobIds)
{
/*
* Add the local group id information to the jobId to
* prevent concurrent jobs on different groups to conflict.
*/
localGroupId = GetLocalGroupId() & 0xFF;
jobId = jobId | (localGroupId << 48);
/*
* Add the current process ID to distinguish jobs by this
* backends from jobs started by other backends. Process
* IDs can have at most 24-bits on platforms supported by
* Citus.
*/
processId = MyProcPid & 0xFFFFFF;
jobId = jobId | (processId << 24);
/*
* Add an extra bit for secondaries to distinguish their
* jobs from primaries.
*/
if (RecoveryInProgress())
{
jobId = jobId | (1 << 23);
}
}
/*
* Add the local group id information to the jobId to
* prevent concurrent jobs on different groups to conflict.
* Use the remaining 23 bits to distinguish jobs by the
* same backend.
*/
localizedJobId = jobId | (localGroupId << 32);
jobIdNumber = jobIdCounter & 0x1FFFFFF;
jobId = jobId | jobIdNumber;
SetUserIdAndSecContext(savedUserId, savedSecurityContext);
return localizedJobId;
return jobId;
}
@ -2144,8 +2166,7 @@ SubquerySqlTaskList(Job *job)
sqlTask->dependedTaskList = dataFetchTaskList;
/* log the query string we generated */
ereport(DEBUG4, (errmsg("generated sql query for job " UINT64_FORMAT
" and task %d", sqlTask->jobId, sqlTask->taskId),
ereport(DEBUG4, (errmsg("generated sql query for task %d", sqlTask->taskId),
errdetail("query string: \"%s\"", sqlQueryString->data)));
sqlTask->anchorShardId = AnchorShardId(fragmentCombination, anchorRangeTableId);
@ -2260,8 +2281,7 @@ SqlTaskList(Job *job)
sqlTask->dependedTaskList = dataFetchTaskList;
/* log the query string we generated */
ereport(DEBUG4, (errmsg("generated sql query for job " UINT64_FORMAT
" and task %d", sqlTask->jobId, sqlTask->taskId),
ereport(DEBUG4, (errmsg("generated sql query for task %d", sqlTask->taskId),
errdetail("query string: \"%s\"", sqlQueryString->data)));
sqlTask->anchorShardId = INVALID_SHARD_ID;

View File

@ -634,6 +634,18 @@ RegisterCitusConfigVariables(void)
GUC_NO_SHOW_ALL,
NULL, NULL, NULL);
DefineCustomBoolVariable(
"citus.enable_unique_job_ids",
gettext_noop("Enables unique job IDs by prepending the local process ID and "
"group ID. This should usually be enabled, but can be disabled "
"for repeatable output in regression tests."),
NULL,
&EnableUniqueJobIds,
true,
PGC_USERSET,
GUC_SUPERUSER_ONLY | GUC_NO_SHOW_ALL,
NULL, NULL, NULL);
/* warn about config items in the citus namespace that are not registered above */
EmitWarningsOnPlaceholders("citus");
}

View File

@ -28,7 +28,6 @@
/* Definitions local to the physical planner */
#define JOBID_SEQUENCE_NAME "pg_dist_jobid_seq"
#define ARRAY_OUT_FUNC_ID 751
#define NON_PRUNABLE_JOIN -1
#define RESERVED_HASHED_COLUMN_ID MaxAttrNumber
@ -244,6 +243,8 @@ typedef struct OperatorCacheEntry
/* Config variable managed via guc.c */
extern int TaskAssignmentPolicy;
extern bool EnableUniqueJobIds;
/* Function declarations for building physical plans and constructing queries */
extern MultiPlan * MultiPhysicalPlanCreate(MultiTreeRoot *multiTree);

View File

@ -2,7 +2,6 @@
-- MULTI_AGG_APPROXIMATE_DISTINCT
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 340000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 340000;
-- Create HLL extension if present, print false result otherwise
SELECT CASE WHEN COUNT(*) > 0 THEN
'CREATE EXTENSION HLL'

View File

@ -2,7 +2,6 @@
-- MULTI_AGG_APPROXIMATE_DISTINCT
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 340000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 340000;
-- Create HLL extension if present, print false result otherwise
SELECT CASE WHEN COUNT(*) > 0 THEN
'CREATE EXTENSION HLL'

View File

@ -2,7 +2,6 @@
-- MULTI_ARRAY_AGG
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 520000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 520000;
CREATE OR REPLACE FUNCTION array_sort (ANYARRAY)
RETURNS ANYARRAY LANGUAGE SQL
AS $$

View File

@ -5,7 +5,6 @@
-- expression, and can be anywhere in the projection order. This is in response
-- to a bug we had due to the average expression introducing new columns.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 450000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 450000;
SELECT
sum(l_quantity) as sum_qty,
sum(l_extendedprice) as sum_base_price,

View File

@ -22,6 +22,16 @@ SELECT avg(l_extendedprice) FROM lineitem;
38141.835375000000
(1 row)
-- Verify that we can do queries in read-only mode
BEGIN;
SET TRANSACTION READ ONLY;
SELECT count(*) FROM lineitem;
count
-------
12000
(1 row)
COMMIT;
-- Verify temp tables which are used for final result aggregation don't persist.
SELECT count(*) FROM pg_class WHERE relname LIKE 'pg_merge_job_%' AND relkind = 'r';
count

View File

@ -2,7 +2,6 @@
-- MULTI_BINARY_MASTER_COPY
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 430000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 430000;
-- Try binary master copy for different executors
SET citus.binary_master_copy_format TO 'on';
SET citus.task_executor_type TO 'task-tracker';

View File

@ -4,7 +4,6 @@
-- tests UDFs created for citus tools
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1240000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1240000;
-- test with invalid port, prevent OS dependent warning from being displayed
SET client_min_messages to ERROR;
-- PG 9.5 does not show context for plpgsql raise

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1220000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1220000;
-- Tests functions related to cluster membership
-- before starting the test, lets try to create reference table and see a
-- meaningful error

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1300000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1300000;
-- ===================================================================
-- create test utility function
-- ===================================================================

View File

@ -2,7 +2,6 @@
-- MULTI_COMPLEX_EXPRESSIONS
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 420000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 420000;
-- Check that we can correctly handle complex expressions and aggregates.
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem;
?column?

View File

@ -2,7 +2,6 @@
-- MULTI_COUNT_TYPE_CONVERSION
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 400000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 400000;
-- Verify that we can sort count(*) results correctly. We perform this check as
-- our count() operations execute in two steps: worker nodes report their
-- count() results, and the master node sums these counts up. During this sum(),

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 390000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 390000;
-- ===================================================================
-- get ready for the foreign data wrapper tests
-- ===================================================================

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 380000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 380000;
-- ===================================================================
-- test INSERT proxy creation functionality
-- ===================================================================

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 370000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 370000;
-- ===================================================================
-- create test functions and types needed for tests
-- ===================================================================

View File

@ -2,7 +2,6 @@
-- MULTI_CREATE_TABLE
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 360000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 360000;
-- Create new table definitions for use in testing in distributed planning and
-- execution functionality. Also create indexes to boost performance.
CREATE TABLE lineitem (

View File

@ -2,7 +2,6 @@
-- MULTI_CREATE_TABLE_CONSTRAINTS
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 365000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 365000;
-- test that Citus forbids unique and EXCLUDE constraints on append-partitioned tables.
CREATE TABLE uniq_cns_append_tables
(

View File

@ -3,7 +3,6 @@
-- create, distribute, INSERT, SELECT and UPDATE
-- ===================================================================
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 530000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 530000;
-- create a custom type...
CREATE TYPE test_composite_type AS (
i integer,

View File

@ -2,7 +2,6 @@
-- MULTI_DEPARSE_SHARD_QUERY
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 13100000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 13100000;
CREATE FUNCTION deparse_shard_query_test(text)
RETURNS VOID
AS 'citus'

View File

@ -2,7 +2,6 @@
-- create test functions
-- ===================================================================
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 540000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 540000;
CREATE FUNCTION load_shard_id_array(regclass)
RETURNS bigint[]
AS 'citus'

View File

@ -3,7 +3,6 @@
--
-- Tests around dropping and recreating the extension
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 550000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 550000;
CREATE TABLE testtableddl(somecol int, distributecol text NOT NULL);
SELECT master_create_distributed_table('testtableddl', 'distributecol', 'append');
master_create_distributed_table

View File

@ -1,7 +1,6 @@
-- Tests that check that our query functionality behaves as expected when the
-- table schema is modified via ALTER statements.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 620000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 620000;
SELECT count(*) FROM customer;
count
-------

View File

@ -2,7 +2,6 @@
--- MULTI_EXPIRE_TABLE_CACHE
---
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1220000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1220000;
-- create test table
CREATE TABLE large_table(a int, b int);
SELECT master_create_distributed_table('large_table', 'a', 'hash');

View File

@ -2,7 +2,6 @@
-- MULTI_EXPLAIN
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 570000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 570000;
-- print major version to make version-specific tests clear
SELECT substring(version(), '\d+\.\d+') AS major_version;
major_version

View File

@ -2,7 +2,6 @@
-- MULTI_EXPLAIN
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 570000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 570000;
-- print major version to make version-specific tests clear
SELECT substring(version(), '\d+\.\d+') AS major_version;
major_version

View File

@ -2,7 +2,6 @@
-- MULTI_FOREIGN_KEY
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1350000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1350000;
-- set shard_count to 4 for faster tests, because we create/drop lots of shards in this test.
SET citus.shard_count TO 4;
-- create tables

View File

@ -2,7 +2,6 @@
-- MULTI_FUNCTION_EVALUATION
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1200000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1200000;
-- nextval() works (no good way to test DEFAULT, or, by extension, SERIAL)
CREATE TABLE example (key INT, value INT);
SELECT master_create_distributed_table('example', 'key', 'hash');

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 610000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 610000;
-- ===================================================================
-- create test functions
-- ===================================================================

View File

@ -3,7 +3,6 @@
--
-- Tests for shard and join pruning logic on hash partitioned tables.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 630000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 630000;
-- Create a table partitioned on integer column and update partition type to
-- hash. Then load data into this table and update shard min max values with
-- hashed ones. Hash value of 1, 2, 3 and 4 are consecutively -1905060026,

View File

@ -4,7 +4,6 @@
-- Check that we can run CREATE INDEX and DROP INDEX statements on distributed
-- tables.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 640000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 640000;
--
-- CREATE TEST TABLES
--

View File

@ -2,7 +2,6 @@
-- MULTI_INSERT_SELECT
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 13300000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 13300000;
-- create co-located tables
SET citus.shard_count = 4;
SET citus.shard_replication_factor = 2;

View File

@ -2,7 +2,6 @@
-- MULTI_JOIN_ORDER_ADDITIONAL
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 650000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 650000;
-- Set configuration to print table join order and pruned shards
SET citus.explain_distributed_queries TO off;
SET citus.log_multi_join_order TO TRUE;

View File

@ -2,7 +2,6 @@
-- MULTI_JOIN_ORDER_TPCH_LARGE
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 660000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 660000;
-- Enable configuration to print table join order
SET citus.explain_distributed_queries TO off;
SET citus.log_multi_join_order TO TRUE;

View File

@ -1,7 +1,6 @@
--
-- MULTI_JOIN_PRUNING
--
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 680000;
-- Check that join-pruning works for joins between two large relations. For now
-- we only check for join-pruning between locally partitioned relations. In the
-- future we want to check for pruning between re-partitioned relations as well.

View File

@ -6,7 +6,7 @@
-- transaction ids in them. Also, we set the executor type to task tracker
-- executor here, as we cannot run repartition jobs with real time executor.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 690000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 690000;
SET citus.enable_unique_job_ids TO off;
BEGIN;
SET client_min_messages TO DEBUG4;
DEBUG: CommitTransactionCommand
@ -21,10 +21,6 @@ DEBUG: CommitTransactionCommand
-- Debug4 log messages display jobIds within them. We explicitly set the jobId
-- sequence here so that the regression output becomes independent of the number
-- of jobs executed prior to running this test.
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250;
DEBUG: StartTransactionCommand
DEBUG: ProcessUtility
DEBUG: CommitTransactionCommand
-- Multi-level repartition join to verify our projection columns are correctly
-- referenced and propagated across multiple repartition jobs. The test also
-- validates that only the minimal necessary projection columns are transferred
@ -53,21 +49,21 @@ DEBUG: join prunable for intervals [8997,10560] and [1,5986]
DEBUG: join prunable for intervals [10560,12036] and [1,5986]
DEBUG: join prunable for intervals [12036,13473] and [1,5986]
DEBUG: join prunable for intervals [13473,14947] and [1,5986]
DEBUG: generated sql query for job 1250 and task 3
DEBUG: generated sql query for task 3
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290000 lineitem JOIN orders_290008 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 6
DEBUG: generated sql query for task 6
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290001 lineitem JOIN orders_290008 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 9
DEBUG: generated sql query for task 9
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290002 lineitem JOIN orders_290008 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 12
DEBUG: generated sql query for task 12
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290003 lineitem JOIN orders_290008 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 15
DEBUG: generated sql query for task 15
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290004 lineitem JOIN orders_290009 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 18
DEBUG: generated sql query for task 18
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290005 lineitem JOIN orders_290009 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 21
DEBUG: generated sql query for task 21
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290006 lineitem JOIN orders_290009 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 24
DEBUG: generated sql query for task 24
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290007 lineitem JOIN orders_290009 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638
@ -79,10 +75,10 @@ DEBUG: assigned task 24 to node localhost:57637
DEBUG: assigned task 21 to node localhost:57638
DEBUG: join prunable for intervals [1,1000] and [6001,7000]
DEBUG: join prunable for intervals [6001,7000] and [1,1000]
DEBUG: generated sql query for job 1251 and task 3
DETAIL: query string: "SELECT "pg_merge_job_1250.task_000025".intermediate_column_1250_0, "pg_merge_job_1250.task_000025".intermediate_column_1250_1, "pg_merge_job_1250.task_000025".intermediate_column_1250_2, "pg_merge_job_1250.task_000025".intermediate_column_1250_3, "pg_merge_job_1250.task_000025".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000025 "pg_merge_job_1250.task_000025" JOIN part_290011 part ON (("pg_merge_job_1250.task_000025".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: generated sql query for job 1251 and task 6
DETAIL: query string: "SELECT "pg_merge_job_1250.task_000034".intermediate_column_1250_0, "pg_merge_job_1250.task_000034".intermediate_column_1250_1, "pg_merge_job_1250.task_000034".intermediate_column_1250_2, "pg_merge_job_1250.task_000034".intermediate_column_1250_3, "pg_merge_job_1250.task_000034".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000034 "pg_merge_job_1250.task_000034" JOIN part_280002 part ON (("pg_merge_job_1250.task_000034".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: generated sql query for task 3
DETAIL: query string: "SELECT "pg_merge_job_0001.task_000025".intermediate_column_1_0, "pg_merge_job_0001.task_000025".intermediate_column_1_1, "pg_merge_job_0001.task_000025".intermediate_column_1_2, "pg_merge_job_0001.task_000025".intermediate_column_1_3, "pg_merge_job_0001.task_000025".intermediate_column_1_4 FROM (pg_merge_job_0001.task_000025 "pg_merge_job_0001.task_000025" JOIN part_290011 part ON (("pg_merge_job_0001.task_000025".intermediate_column_1_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: generated sql query for task 6
DETAIL: query string: "SELECT "pg_merge_job_0001.task_000034".intermediate_column_1_0, "pg_merge_job_0001.task_000034".intermediate_column_1_1, "pg_merge_job_0001.task_000034".intermediate_column_1_2, "pg_merge_job_0001.task_000034".intermediate_column_1_3, "pg_merge_job_0001.task_000034".intermediate_column_1_4 FROM (pg_merge_job_0001.task_000034 "pg_merge_job_0001.task_000034" JOIN part_280002 part ON (("pg_merge_job_0001.task_000034".intermediate_column_1_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 25
DEBUG: pruning merge fetch taskId 4
@ -95,12 +91,12 @@ DEBUG: join prunable for intervals [1001,2000] and [1,1000]
DEBUG: join prunable for intervals [1001,2000] and [6001,7000]
DEBUG: join prunable for intervals [6001,7000] and [1,1000]
DEBUG: join prunable for intervals [6001,7000] and [1001,2000]
DEBUG: generated sql query for job 1252 and task 3
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_290010 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1"
DEBUG: generated sql query for job 1252 and task 6
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_280001 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1"
DEBUG: generated sql query for job 1252 and task 9
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_280000 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1"
DEBUG: generated sql query for task 3
DETAIL: query string: "SELECT "pg_merge_job_0002.task_000007".intermediate_column_2_0 AS l_partkey, "pg_merge_job_0002.task_000007".intermediate_column_2_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_0002.task_000007 "pg_merge_job_0002.task_000007" JOIN customer_290010 customer ON ((customer.c_custkey = "pg_merge_job_0002.task_000007".intermediate_column_2_4))) WHERE ((("pg_merge_job_0002.task_000007".intermediate_column_2_2 > 5.0) OR ("pg_merge_job_0002.task_000007".intermediate_column_2_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_0002.task_000007".intermediate_column_2_0, "pg_merge_job_0002.task_000007".intermediate_column_2_1"
DEBUG: generated sql query for task 6
DETAIL: query string: "SELECT "pg_merge_job_0002.task_000010".intermediate_column_2_0 AS l_partkey, "pg_merge_job_0002.task_000010".intermediate_column_2_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_0002.task_000010 "pg_merge_job_0002.task_000010" JOIN customer_280001 customer ON ((customer.c_custkey = "pg_merge_job_0002.task_000010".intermediate_column_2_4))) WHERE ((("pg_merge_job_0002.task_000010".intermediate_column_2_2 > 5.0) OR ("pg_merge_job_0002.task_000010".intermediate_column_2_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_0002.task_000010".intermediate_column_2_0, "pg_merge_job_0002.task_000010".intermediate_column_2_1"
DEBUG: generated sql query for task 9
DETAIL: query string: "SELECT "pg_merge_job_0002.task_000013".intermediate_column_2_0 AS l_partkey, "pg_merge_job_0002.task_000013".intermediate_column_2_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_0002.task_000013 "pg_merge_job_0002.task_000013" JOIN customer_280000 customer ON ((customer.c_custkey = "pg_merge_job_0002.task_000013".intermediate_column_2_4))) WHERE ((("pg_merge_job_0002.task_000013".intermediate_column_2_2 > 5.0) OR ("pg_merge_job_0002.task_000013".intermediate_column_2_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_0002.task_000013".intermediate_column_2_0, "pg_merge_job_0002.task_000013".intermediate_column_2_1"
DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 7
DEBUG: pruning merge fetch taskId 4
@ -110,12 +106,12 @@ DETAIL: Creating dependency on merge taskId 13
DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 9 to node localhost:57638
DEBUG: assigned task 3 to node localhost:57637
DEBUG: completed cleanup query for job 1252
DEBUG: completed cleanup query for job 1252
DEBUG: completed cleanup query for job 1251
DEBUG: completed cleanup query for job 1251
DEBUG: completed cleanup query for job 1250
DEBUG: completed cleanup query for job 1250
DEBUG: completed cleanup query for job 3
DEBUG: completed cleanup query for job 3
DEBUG: completed cleanup query for job 2
DEBUG: completed cleanup query for job 2
DEBUG: completed cleanup query for job 1
DEBUG: completed cleanup query for job 1
DEBUG: CommitTransactionCommand
l_partkey | o_orderkey | count
-----------+------------+-------
@ -162,21 +158,21 @@ GROUP BY
ORDER BY
l_partkey, o_orderkey;
DEBUG: StartTransactionCommand
DEBUG: generated sql query for job 1253 and task 2
DEBUG: generated sql query for task 2
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290000 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 4
DEBUG: generated sql query for task 4
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290001 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 6
DEBUG: generated sql query for task 6
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290002 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 8
DEBUG: generated sql query for task 8
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290003 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 10
DEBUG: generated sql query for task 10
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290004 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 12
DEBUG: generated sql query for task 12
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290005 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 14
DEBUG: generated sql query for task 14
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290006 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 16
DEBUG: generated sql query for task 16
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290007 lineitem WHERE (l_quantity < 5.0)"
DEBUG: assigned task 4 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638
@ -186,9 +182,9 @@ DEBUG: assigned task 12 to node localhost:57637
DEBUG: assigned task 10 to node localhost:57638
DEBUG: assigned task 16 to node localhost:57637
DEBUG: assigned task 14 to node localhost:57638
DEBUG: generated sql query for job 1254 and task 2
DEBUG: generated sql query for task 2
DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290008 orders WHERE (o_totalprice <> 4.0)"
DEBUG: generated sql query for job 1254 and task 4
DEBUG: generated sql query for task 4
DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290009 orders WHERE (o_totalprice <> 4.0)"
DEBUG: assigned task 4 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638
@ -204,14 +200,14 @@ DEBUG: join prunable for task partitionId 2 and 3
DEBUG: join prunable for task partitionId 3 and 0
DEBUG: join prunable for task partitionId 3 and 1
DEBUG: join prunable for task partitionId 3 and 2
DEBUG: generated sql query for job 1255 and task 3
DETAIL: query string: "SELECT "pg_merge_job_1253.task_000017".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000005".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000017 "pg_merge_job_1253.task_000017" JOIN pg_merge_job_1254.task_000005 "pg_merge_job_1254.task_000005" ON (("pg_merge_job_1253.task_000017".intermediate_column_1253_1 = "pg_merge_job_1254.task_000005".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000017".intermediate_column_1253_0, "pg_merge_job_1254.task_000005".intermediate_column_1254_0"
DEBUG: generated sql query for job 1255 and task 6
DETAIL: query string: "SELECT "pg_merge_job_1253.task_000026".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000008".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000026 "pg_merge_job_1253.task_000026" JOIN pg_merge_job_1254.task_000008 "pg_merge_job_1254.task_000008" ON (("pg_merge_job_1253.task_000026".intermediate_column_1253_1 = "pg_merge_job_1254.task_000008".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000026".intermediate_column_1253_0, "pg_merge_job_1254.task_000008".intermediate_column_1254_0"
DEBUG: generated sql query for job 1255 and task 9
DETAIL: query string: "SELECT "pg_merge_job_1253.task_000035".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000011".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000035 "pg_merge_job_1253.task_000035" JOIN pg_merge_job_1254.task_000011 "pg_merge_job_1254.task_000011" ON (("pg_merge_job_1253.task_000035".intermediate_column_1253_1 = "pg_merge_job_1254.task_000011".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000035".intermediate_column_1253_0, "pg_merge_job_1254.task_000011".intermediate_column_1254_0"
DEBUG: generated sql query for job 1255 and task 12
DETAIL: query string: "SELECT "pg_merge_job_1253.task_000044".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000014".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000044 "pg_merge_job_1253.task_000044" JOIN pg_merge_job_1254.task_000014 "pg_merge_job_1254.task_000014" ON (("pg_merge_job_1253.task_000044".intermediate_column_1253_1 = "pg_merge_job_1254.task_000014".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000044".intermediate_column_1253_0, "pg_merge_job_1254.task_000014".intermediate_column_1254_0"
DEBUG: generated sql query for task 3
DETAIL: query string: "SELECT "pg_merge_job_0004.task_000017".intermediate_column_4_0 AS l_partkey, "pg_merge_job_0005.task_000005".intermediate_column_5_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_0004.task_000017 "pg_merge_job_0004.task_000017" JOIN pg_merge_job_0005.task_000005 "pg_merge_job_0005.task_000005" ON (("pg_merge_job_0004.task_000017".intermediate_column_4_1 = "pg_merge_job_0005.task_000005".intermediate_column_5_1))) WHERE true GROUP BY "pg_merge_job_0004.task_000017".intermediate_column_4_0, "pg_merge_job_0005.task_000005".intermediate_column_5_0"
DEBUG: generated sql query for task 6
DETAIL: query string: "SELECT "pg_merge_job_0004.task_000026".intermediate_column_4_0 AS l_partkey, "pg_merge_job_0005.task_000008".intermediate_column_5_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_0004.task_000026 "pg_merge_job_0004.task_000026" JOIN pg_merge_job_0005.task_000008 "pg_merge_job_0005.task_000008" ON (("pg_merge_job_0004.task_000026".intermediate_column_4_1 = "pg_merge_job_0005.task_000008".intermediate_column_5_1))) WHERE true GROUP BY "pg_merge_job_0004.task_000026".intermediate_column_4_0, "pg_merge_job_0005.task_000008".intermediate_column_5_0"
DEBUG: generated sql query for task 9
DETAIL: query string: "SELECT "pg_merge_job_0004.task_000035".intermediate_column_4_0 AS l_partkey, "pg_merge_job_0005.task_000011".intermediate_column_5_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_0004.task_000035 "pg_merge_job_0004.task_000035" JOIN pg_merge_job_0005.task_000011 "pg_merge_job_0005.task_000011" ON (("pg_merge_job_0004.task_000035".intermediate_column_4_1 = "pg_merge_job_0005.task_000011".intermediate_column_5_1))) WHERE true GROUP BY "pg_merge_job_0004.task_000035".intermediate_column_4_0, "pg_merge_job_0005.task_000011".intermediate_column_5_0"
DEBUG: generated sql query for task 12
DETAIL: query string: "SELECT "pg_merge_job_0004.task_000044".intermediate_column_4_0 AS l_partkey, "pg_merge_job_0005.task_000014".intermediate_column_5_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_0004.task_000044 "pg_merge_job_0004.task_000044" JOIN pg_merge_job_0005.task_000014 "pg_merge_job_0005.task_000014" ON (("pg_merge_job_0004.task_000044".intermediate_column_4_1 = "pg_merge_job_0005.task_000014".intermediate_column_5_1))) WHERE true GROUP BY "pg_merge_job_0004.task_000044".intermediate_column_4_0, "pg_merge_job_0005.task_000014".intermediate_column_5_0"
DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 17
DEBUG: pruning merge fetch taskId 2
@ -228,16 +224,16 @@ DEBUG: pruning merge fetch taskId 10
DETAIL: Creating dependency on merge taskId 44
DEBUG: pruning merge fetch taskId 11
DETAIL: Creating dependency on merge taskId 14
DEBUG: assigned task 3 to node localhost:57638
DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 9 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637
DEBUG: completed cleanup query for job 1255
DEBUG: completed cleanup query for job 1255
DEBUG: completed cleanup query for job 1253
DEBUG: completed cleanup query for job 1253
DEBUG: completed cleanup query for job 1254
DEBUG: completed cleanup query for job 1254
DEBUG: assigned task 3 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 12 to node localhost:57638
DEBUG: completed cleanup query for job 6
DEBUG: completed cleanup query for job 6
DEBUG: completed cleanup query for job 4
DEBUG: completed cleanup query for job 4
DEBUG: completed cleanup query for job 5
DEBUG: completed cleanup query for job 5
DEBUG: CommitTransactionCommand
l_partkey | o_orderkey | count
-----------+------------+-------

View File

@ -5,7 +5,6 @@
-- set executor type to task tracker executor here, as we cannot run repartition
-- jobs with real time executor.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 700000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 700000;
SET citus.large_table_shard_count TO 2;
SET client_min_messages TO DEBUG2;
SET citus.task_executor_type TO 'task-tracker';

View File

@ -6,7 +6,6 @@
-- from a sql task to its depended tasks. Note that we set the executor type to task
-- tracker executor here, as we cannot run repartition jobs with real time executor.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 710000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 710000;
BEGIN;
SET client_min_messages TO DEBUG3;
DEBUG: CommitTransactionCommand
@ -186,19 +185,6 @@ SET citus.large_table_shard_count TO 2;
DEBUG: StartTransactionCommand
DEBUG: ProcessUtility
DEBUG: CommitTransactionCommand
-- The next test, dual hash repartition join, uses the current jobId to assign
-- tasks in a round-robin fashion. We therefore need to ensure that jobIds start
-- with an odd number here to get consistent test output.
SELECT case when (currval('pg_dist_jobid_seq') % 2) = 0
then nextval('pg_dist_jobid_seq') % 2
else 1 end;
DEBUG: StartTransactionCommand
DEBUG: CommitTransactionCommand
case
------
1
(1 row)
-- Dual hash repartition join which tests the separate hash repartition join
-- task assignment algorithm.
SELECT
@ -247,10 +233,10 @@ DEBUG: pruning merge fetch taskId 10
DETAIL: Creating dependency on merge taskId 44
DEBUG: pruning merge fetch taskId 11
DETAIL: Creating dependency on merge taskId 19
DEBUG: assigned task 3 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 12 to node localhost:57638
DEBUG: assigned task 3 to node localhost:57638
DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 9 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637
DEBUG: CommitTransactionCommand
count
-------

View File

@ -2,7 +2,6 @@
-- MULTI_LIMIT_CLAUSE
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 730000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 730000;
-- Display debug messages on limit clause push down.
SET client_min_messages TO DEBUG1;
-- Check that we can correctly handle the Limit clause in distributed queries.

View File

@ -2,7 +2,6 @@
-- MULTI_LIMIT_CLAUSE_APPROXIMATE
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 720000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 720000;
-- Display debug messages on limit clause push down.
SET client_min_messages TO DEBUG1;
-- We first look at results with limit optimization disabled. This first query

View File

@ -3,7 +3,6 @@
--
-- Tests that check the metadata returned by the master node.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 740000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 740000;
SELECT part_storage_type, part_key, part_replica_count, part_max_size,
part_placement_policy FROM master_get_table_metadata('lineitem');
part_storage_type | part_key | part_replica_count | part_max_size | part_placement_policy

View File

@ -2,7 +2,6 @@
-- MULTI_METADATA_ACCESS
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1360000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1360000;
CREATE USER no_access;
NOTICE: not propagating CREATE ROLE/USER commands to worker nodes
HINT: Connect to worker nodes directly to manually create all necessary users and roles.

View File

@ -4,7 +4,6 @@
-- Tests for metadata snapshot functions, metadata syncing functions and propagation of
-- metadata changes to MX tables.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1310000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1310000;
SELECT nextval('pg_catalog.pg_dist_shard_placement_placementid_seq') AS last_placement_id
\gset
ALTER SEQUENCE pg_catalog.pg_dist_shard_placement_placementid_seq RESTART 100000;

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 750000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 750000;
-- ===================================================================
-- test end-to-end modification functionality
-- ===================================================================

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1200000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1200000;
-- ===================================================================
-- test end-to-end modification functionality
-- ===================================================================

View File

@ -2,7 +2,6 @@
-- MULTI_MX_CREATE_TABLE
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1220000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1220000;
SELECT start_metadata_sync_to_node('localhost', :worker_1_port);
start_metadata_sync_to_node
-----------------------------

View File

@ -1,6 +1,5 @@
-- Tests related to distributed DDL commands on mx cluster
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1600000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1600000;
SELECT * FROM mx_ddl_table ORDER BY key;
key | value
-----+-------

View File

@ -2,11 +2,8 @@
-- MULTI_MX_EXPLAIN
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1320000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1320000;
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1320000;
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1320000;
\c - - - :master_port
\a\t
SET citus.task_executor_type TO 'real-time';

View File

@ -2,11 +2,8 @@
-- MULTI_MX_EXPLAIN
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1320000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1320000;
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1320000;
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1320000;
\c - - - :master_port
\a\t
SET citus.task_executor_type TO 'real-time';

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1330000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1330000;
-- ===================================================================
-- test end-to-end modification functionality for mx tables
-- ===================================================================

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1340000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1340000;
-- ===================================================================
-- test end-to-end modification functionality for mx tables in transactions
-- ===================================================================

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1250000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250000;
\c - - - :master_port
CREATE TABLE reference_table_test (value_1 int, value_2 float, value_3 text, value_4 timestamp);
SELECT create_reference_table('reference_table_test');

View File

@ -2,7 +2,6 @@
-- MULTI_MX_REPARTITION_UDT_PREPARE
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 535000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 535000;
-- START type creation
CREATE TYPE test_udt AS (i integer, i2 integer);
-- ... as well as a function to use as its comparator...
@ -202,6 +201,4 @@ LOG: join order: [ "repartition_udt" ][ dual partition join "repartition_udt_ot
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 535000;
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 535000;

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 840000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 840000;
-- ===================================================================
-- test router planner functionality for single shard select queries
-- ===================================================================

View File

@ -2,7 +2,6 @@
-- MULTI_MX_SCHEMA_SUPPORT
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1210000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1210000;
-- connect to a worker node and run some queries
\c - - - :worker_1_port
-- test very basic queries

View File

@ -2,7 +2,6 @@
-- MULTI_MX_TPCH_QUERY1
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1310000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1310000;
-- connect to the coordinator
\c - - - :master_port
-- Change configuration to treat lineitem and orders tables as large
@ -40,7 +39,6 @@ ORDER BY
-- connect one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1310000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1310000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #1 from the TPC-H decision support benchmark
@ -76,7 +74,6 @@ ORDER BY
-- connect to the other node
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1310000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1310000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #1 from the TPC-H decision support benchmark

View File

@ -5,7 +5,6 @@
-- we don't set citus.large_table_shard_count here, and instead use the default value
-- coming from postgresql.conf or multi_task_tracker_executor.conf.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1300000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1300000;
-- connect to master
\c - - - :master_port
SELECT
@ -67,7 +66,6 @@ LIMIT 20;
-- connect one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1300000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1300000;
SELECT
c_custkey,
c_name,
@ -127,7 +125,6 @@ LIMIT 20;
-- connect to the other worker
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1300000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1300000;
SELECT
c_custkey,
c_name,

View File

@ -2,7 +2,6 @@
-- MULTI_MX_TPCH_QUERY12
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1290000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1290000;
-- connect to the coordinator
\c - - - :master_port
-- Change configuration to treat lineitem and orders tables as large
@ -45,7 +44,6 @@ ORDER BY
-- connect one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1290000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1290000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #12 from the TPC-H decision support benchmark
@ -86,7 +84,6 @@ ORDER BY
-- connect to the other worker node
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1290000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1290000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #12 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_MX_TPCH_QUERY14
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1280000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1280000;
-- connect to the coordinator
\c - - - :master_port
-- Change configuration to treat lineitem and orders tables as large
@ -29,7 +28,6 @@ WHERE
-- connect one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1280000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1280000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #14 from the TPC-H decision support benchmark
@ -54,7 +52,6 @@ WHERE
-- connect to the other node
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1280000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1280000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #14 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_MX_TPCH_QUERY19
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1270000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1270000;
-- connect to the coordinator
\c - - - :master_port
-- Change configuration to treat lineitem and orders tables as large
@ -46,7 +45,6 @@ WHERE
-- connect one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1270000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1270000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #19 from the TPC-H decision support benchmark. Note that we modified
@ -88,7 +86,6 @@ WHERE
-- connect to the other node
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1270000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1270000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #19 from the TPC-H decision support benchmark. Note that we modified

View File

@ -5,7 +5,6 @@
-- we don't set citus.large_table_shard_count here, and instead use the default value
-- coming from postgresql.conf or multi_task_tracker_executor.conf.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1260000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1260000;
-- connect to the coordinator
\c - - - :master_port
SELECT
@ -53,7 +52,6 @@ ORDER BY
-- connect one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1260000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1260000;
SELECT
l_orderkey,
sum(l_extendedprice * (1 - l_discount)) as revenue,
@ -99,7 +97,6 @@ ORDER BY
-- connect to the other node
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1260000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1260000;
SELECT
l_orderkey,
sum(l_extendedprice * (1 - l_discount)) as revenue,

View File

@ -2,7 +2,6 @@
-- MULTI_MX_TPCH_QUERY6
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1250000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250000;
-- connect to the coordinator
\c - - - :master_port
-- Change configuration to treat lineitem and orders tables as large
@ -25,7 +24,6 @@ WHERE
-- connect to one of the worker nodes
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1250000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #6 from the TPC-H decision support benchmark
@ -46,7 +44,6 @@ WHERE
-- connect to the other worker node
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1250000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #6 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_MX_TPCH_QUERY7
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1230000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1230000;
-- connect to the coordinator
\c - - - :master_port
-- Change configuration to treat lineitem AND orders tables as large
@ -55,7 +54,6 @@ ORDER BY
-- connect one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1230000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1230000;
-- Change configuration to treat lineitem AND orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H decision support benchmark
@ -106,7 +104,6 @@ ORDER BY
-- connect to the other worker node
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1230000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1230000;
-- Change configuration to treat lineitem AND orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_MX_TPCH_QUERY7_NESTED
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1240000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1240000;
-- connect to the coordinator
\c - - - :master_port
-- Change configuration to treat lineitem AND orders tables AS large
@ -64,7 +63,6 @@ ORDER BY
-- connect to one of the workers
\c - - - :worker_1_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1240000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1240000;
-- Change configuration to treat lineitem AND orders tables AS large
SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H benchmark; modified to include sub-selects
@ -124,7 +122,6 @@ ORDER BY
-- connect to the coordinator
\c - - - :worker_2_port
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1240000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1240000;
-- Change configuration to treat lineitem AND orders tables AS large
SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H benchmark; modified to include sub-selects

View File

@ -2,7 +2,6 @@
-- MULTI_NAME_LENGTHS
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 225000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 225000;
SET citus.multi_shard_commit_protocol = '2pc';
-- Verify that a table name > 56 characters gets hashed properly.
CREATE TABLE too_long_12345678901234567890123456789012345678901234567890 (

View File

@ -4,7 +4,6 @@
-- This test checks that we can handle null min/max values in shard statistics
-- and that we don't partition or join prune shards that have null values.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 760000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 760000;
SET client_min_messages TO DEBUG2;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;

View File

@ -4,7 +4,6 @@
-- Tests to verify that we correctly prune unreferenced shards. For this, we
-- need to increase the logging verbosity of messages displayed on the client.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 770000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 770000;
SET citus.explain_distributed_queries TO off;
SET client_min_messages TO DEBUG2;
-- Adding additional l_orderkey = 1 to make this query not router executable

View File

@ -5,7 +5,6 @@
-- and converted into both plain SQL and PL/pgsql functions, which
-- use prepared statements internally.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 780000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 780000;
CREATE FUNCTION plpgsql_test_1() RETURNS TABLE(count bigint) AS $$
DECLARE
BEGIN

View File

@ -5,7 +5,6 @@
-- taken from other regression test files and converted into
-- prepared statements.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 790000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 790000;
PREPARE prepared_test_1 AS
SELECT
count(*)

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 800000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 800000;
-- ===================================================================
-- create test functions
-- ===================================================================

View File

@ -6,12 +6,11 @@
-- the resource owner should automatically clean up these intermediate query
-- result files.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 810000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 810000;
SET citus.enable_unique_job_ids TO off;
BEGIN;
-- pg_ls_dir() displays jobids. We explicitly set the jobId sequence
-- here so that the regression output becomes independent of the
-- number of jobs executed prior to running this test.
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250;
SELECT sum(l_extendedprice * l_discount) as revenue FROM lineitem;
revenue
---------------
@ -218,26 +217,26 @@ FETCH 1 FROM c_19;
SELECT * FROM pg_ls_dir('base/pgsql_job_cache') f ORDER BY f;
f
-----------------
master_job_1256
master_job_1257
master_job_1258
master_job_1259
master_job_1260
master_job_1261
master_job_1262
master_job_1263
master_job_1264
master_job_1265
master_job_1266
master_job_1267
master_job_1268
master_job_1269
master_job_1270
master_job_1271
master_job_1272
master_job_1273
master_job_1274
master_job_1275
master_job_0007
master_job_0008
master_job_0009
master_job_0010
master_job_0011
master_job_0012
master_job_0013
master_job_0014
master_job_0015
master_job_0016
master_job_0017
master_job_0018
master_job_0019
master_job_0020
master_job_0021
master_job_0022
master_job_0023
master_job_0024
master_job_0025
master_job_0026
(20 rows)
-- close first, 17th (first after re-alloc) and last cursor.
@ -247,23 +246,23 @@ CLOSE c_19;
SELECT * FROM pg_ls_dir('base/pgsql_job_cache') f ORDER BY f;
f
-----------------
master_job_1257
master_job_1258
master_job_1259
master_job_1260
master_job_1261
master_job_1262
master_job_1263
master_job_1264
master_job_1265
master_job_1266
master_job_1267
master_job_1268
master_job_1269
master_job_1270
master_job_1271
master_job_1273
master_job_1274
master_job_0008
master_job_0009
master_job_0010
master_job_0011
master_job_0012
master_job_0013
master_job_0014
master_job_0015
master_job_0016
master_job_0017
master_job_0018
master_job_0019
master_job_0020
master_job_0021
master_job_0022
master_job_0024
master_job_0025
(17 rows)
ROLLBACK;

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1250000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250000;
CREATE TABLE reference_table_test (value_1 int, value_2 float, value_3 text, value_4 timestamp);
-- insert some data, and make sure that cannot be create_distributed_table
INSERT INTO reference_table_test VALUES (1, 1.0, '1', '2016-12-01');

View File

@ -3,7 +3,6 @@
--
-- Tests that check the metadata after master_remove_node.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1380000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1380000;
ALTER SEQUENCE pg_catalog.pg_dist_colocationid_seq RESTART 1380000;
ALTER SEQUENCE pg_catalog.pg_dist_groupid_seq RESTART 1380000;
ALTER SEQUENCE pg_catalog.pg_dist_node_nodeid_seq RESTART 1380000;

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 820000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 820000;
-- ===================================================================
-- test shard repair functionality
-- ===================================================================

View File

@ -2,7 +2,6 @@
-- MULTI_REPARTITION_UDT
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 535000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 535000;
-- START type creation
CREATE TYPE test_udt AS (i integer, i2 integer);
-- ... as well as a function to use as its comparator...

View File

@ -2,7 +2,6 @@
-- MULTI_REPARTITIONED_SUBQUERY_UDF
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 830000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 830000;
-- Create UDF in master and workers
\c - - - :master_port
DROP FUNCTION IF EXISTS median(double precision[]);

View File

@ -3,7 +3,6 @@
--
-- Tests that check the metadata returned by the master node.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1370000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1370000;
ALTER SEQUENCE pg_catalog.pg_dist_colocationid_seq RESTART 1370000;
ALTER SEQUENCE pg_catalog.pg_dist_groupid_seq RESTART 1370000;
ALTER SEQUENCE pg_catalog.pg_dist_node_nodeid_seq RESTART 1370000;

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 840000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 840000;
-- ===================================================================
-- test router planner functionality for single shard select queries
-- ===================================================================
@ -1873,8 +1872,7 @@ WARNING: relation "public.articles_append" does not exist
CONTEXT: while executing command on localhost:57638
WARNING: relation "public.articles_append" does not exist
CONTEXT: while executing command on localhost:57638
ERROR: failed to execute job 840026
DETAIL: Failure due to failed task 2
ERROR: failed to execute task 2
-- same query with where false but evaluation left to worker
SELECT author_id FROM articles_append
WHERE
@ -1889,8 +1887,7 @@ WARNING: relation "public.articles_append" does not exist
CONTEXT: while executing command on localhost:57638
WARNING: relation "public.articles_append" does not exist
CONTEXT: while executing command on localhost:57638
ERROR: failed to execute job 840027
DETAIL: Failure due to failed task 2
ERROR: failed to execute task 2
-- same query on router planner with where false but evaluation left to worker
SELECT author_id FROM articles_single_shard_hash
WHERE
@ -2026,6 +2023,26 @@ DEBUG: Plan is router executable
41 | 1 | aznavour | 11814
(5 rows)
END;
-- queries inside read-only transactions can be router plannable
BEGIN;
SET TRANSACTION READ ONLY;
SELECT *
FROM articles_hash
WHERE author_id = 1
ORDER BY id;
DEBUG: predicate pruning for shardId 840001
DEBUG: Creating router plan
DEBUG: Plan is router executable
id | author_id | title | word_count
----+-----------+--------------+------------
1 | 1 | arsenous | 9572
11 | 1 | alamo | 1347
21 | 1 | arcading | 5890
31 | 1 | athwartships | 7271
41 | 1 | aznavour | 11814
(5 rows)
END;
-- cursor queries are router plannable
BEGIN;

View File

@ -2,7 +2,6 @@
-- MULTI_SCHEMA_SUPPORT
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1190000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1190000;
-- create schema to test schema support
CREATE SCHEMA test_schema_support;
-- test master_append_table_to_shard with schema

View File

@ -2,7 +2,6 @@
-- MULTI_SHARD_MODIFY
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 350000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 350000;
-- Create a new hash partitioned multi_shard_modify_test table and load data into it.
CREATE TABLE multi_shard_modify_test (
t_key integer not null,

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 850000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 850000;
-- ===================================================================
-- test end-to-end query functionality
-- ===================================================================

View File

@ -3,7 +3,6 @@
--
-- This test checks that we are able to run selected set of distributed SQL subqueries.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 860000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 860000;
SET citus.task_executor_type TO 'task-tracker';
select
number_sum,

View File

@ -2,7 +2,6 @@
-- MULTI_SQL_FUNCTION
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1230000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1230000;
CREATE FUNCTION sql_test_no_1() RETURNS bigint AS '
SELECT
count(*)

View File

@ -3,7 +3,6 @@
--
-- Tests around changing the schema and dropping of a distributed table
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 870000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 870000;
CREATE TABLE testtableddl(somecol int, distributecol text NOT NULL);
SELECT master_create_distributed_table('testtableddl', 'distributecol', 'append');
master_create_distributed_table

View File

@ -2,7 +2,6 @@
-- MULTI_TASK_ASSIGNMENT
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 880000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 880000;
SET citus.explain_distributed_queries TO off;
-- Check that our policies for assigning tasks to worker nodes run as expected.
-- To test this, we first create a shell table, and then manually insert shard
@ -114,39 +113,11 @@ DEBUG: CommitTransactionCommand
explain statements for distributed queries are not enabled
(3 rows)
-- Round-robin task assignment relies on the current jobId. We therefore need to
-- ensure that jobIds start with an odd number here; this way, task assignment
-- debug messages always produce the same output. Also, we make sure that the
-- following case statement always prints out "1" as the query's result.
SELECT case when (currval('pg_dist_jobid_seq') % 2) = 0
then nextval('pg_dist_jobid_seq') % 2
else 1 end;
DEBUG: StartTransactionCommand
DEBUG: CommitTransactionCommand
case
------
1
(1 row)
-- Finally test the round-robin task assignment policy
SET citus.task_assignment_policy TO 'round-robin';
DEBUG: StartTransactionCommand
DEBUG: ProcessUtility
DEBUG: CommitTransactionCommand
EXPLAIN SELECT count(*) FROM task_assignment_test_table;
DEBUG: StartTransactionCommand
DEBUG: ProcessUtility
DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 4 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638
DEBUG: CommitTransactionCommand
QUERY PLAN
-----------------------------------------------------------------------
Aggregate (cost=0.00..0.00 rows=0 width=0)
-> Custom Scan (Citus Real-Time) (cost=0.00..0.00 rows=0 width=0)
explain statements for distributed queries are not enabled
(3 rows)
EXPLAIN SELECT count(*) FROM task_assignment_test_table;
DEBUG: StartTransactionCommand
DEBUG: ProcessUtility
@ -175,6 +146,20 @@ DEBUG: CommitTransactionCommand
explain statements for distributed queries are not enabled
(3 rows)
EXPLAIN SELECT count(*) FROM task_assignment_test_table;
DEBUG: StartTransactionCommand
DEBUG: ProcessUtility
DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 4 to node localhost:57638
DEBUG: assigned task 2 to node localhost:57637
DEBUG: CommitTransactionCommand
QUERY PLAN
-----------------------------------------------------------------------
Aggregate (cost=0.00..0.00 rows=0 width=0)
-> Custom Scan (Citus Real-Time) (cost=0.00..0.00 rows=0 width=0)
explain statements for distributed queries are not enabled
(3 rows)
RESET citus.task_assignment_policy;
DEBUG: StartTransactionCommand
DEBUG: ProcessUtility

View File

@ -2,7 +2,6 @@
-- MULTI_TPCH_QUERY1
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 890000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 890000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #1 from the TPC-H decision support benchmark

View File

@ -5,7 +5,6 @@
-- we don't set citus.large_table_shard_count here, and instead use the default value
-- coming from postgresql.conf or multi_task_tracker_executor.conf.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 900000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 900000;
SELECT
c_custkey,
c_name,

View File

@ -2,7 +2,6 @@
-- MULTI_TPCH_QUERY12
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 910000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 910000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #12 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_TPCH_QUERY14
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 920000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 920000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #14 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_TPCH_QUERY19
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 930000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 930000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #19 from the TPC-H decision support benchmark. Note that we modified

View File

@ -5,7 +5,6 @@
-- we don't set citus.large_table_shard_count here, and instead use the default value
-- coming from postgresql.conf or multi_task_tracker_executor.conf.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 940000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 940000;
SELECT
l_orderkey,
sum(l_extendedprice * (1 - l_discount)) as revenue,

View File

@ -2,7 +2,6 @@
-- MULTI_TPCH_QUERY6
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 950000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 950000;
-- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #6 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_TPCH_QUERY7
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 970000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 970000;
-- Change configuration to treat lineitem AND orders tables as large
SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H decision support benchmark

View File

@ -2,7 +2,6 @@
-- MULTI_TPCH_QUERY7_NESTED
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 960000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 960000;
-- Change configuration to treat lineitem AND orders tables AS large
SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H benchmark; modified to include sub-selects

View File

@ -1,5 +1,4 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1220000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1220000;
-- Tests for prepared transaction recovery
-- Ensure pg_dist_transaction is empty for test
SELECT recover_prepared_transactions();

View File

@ -3,7 +3,6 @@
--
-- Tests that check the metadata returned by the master node.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1410000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1410000;
SET citus.shard_count TO 4;
-- test DROP TABLE(ergo master_drop_all_shards) in transaction, then ROLLBACK
CREATE TABLE transactional_drop_shards(column1 int);

View File

@ -2,7 +2,6 @@
-- MULTI_TRUNCATE
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1210000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1210000;
--
-- truncate for append distribution
-- expect all shards to be dropped

Some files were not shown because too many files have changed in this diff Show More