Skip to content

Instantly share code, notes, and snippets.

@techhazard
Last active August 28, 2021 20:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save techhazard/58d5e8dcecbb62654df6b4d1286ae4e0 to your computer and use it in GitHub Desktop.
Save techhazard/58d5e8dcecbb62654df6b4d1286ae4e0 to your computer and use it in GitHub Desktop.
citus build arm64 pi 4
diff -dU10 -w /home/pi/citus/citus/src/test/regress/expected/multi_extension.out /home/pi/citus/citus/src/test/regress/results/multi_extension.out
--- /home/pi/citus/citus/src/test/regress/expected/multi_extension.out.modified 2021-08-28 21:29:26.756869458 +0100
+++ /home/pi/citus/citus/src/test/regress/results/multi_extension.out.modified 2021-08-28 21:29:26.824868875 +0100
@@ -321,82 +321,88 @@
| view citus_shard_indexes_on_worker
| view citus_shards_on_worker
| view citus_stat_statements
| view citus_worker_stat_activity
| view pg_dist_shard_placement
(188 rows)
-- Test downgrade to 9.2-2 from 9.2-4
ALTER EXTENSION citus UPDATE TO '9.2-4';
ALTER EXTENSION citus UPDATE TO '9.2-2';
+ERROR: extension "citus" has no update path from version "9.2-4" to version "9.2-2"
-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
(0 rows)
/*
* As we mistakenly bumped schema version to 9.3-1 in a bad release, we support
* updating citus schema from 9.3-1 to 9.2-4, but we do not support updates to 9.3-1.
*
* Hence the query below should fail.
*/
ALTER EXTENSION citus UPDATE TO '9.3-1';
-ERROR: extension "citus" has no update path from version "9.2-2" to version "9.3-1"
+ERROR: extension "citus" has no update path from version "9.2-4" to version "9.3-1"
ALTER EXTENSION citus UPDATE TO '9.2-4';
+NOTICE: version "9.2-4" of extension "citus" is already installed
-- Snapshot of state at 9.2-4
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
(0 rows)
-- Test downgrade to 9.2-4 from 9.3-2
ALTER EXTENSION citus UPDATE TO '9.3-2';
ALTER EXTENSION citus UPDATE TO '9.2-4';
+ERROR: extension "citus" has no update path from version "9.3-2" to version "9.2-4"
-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
---------------------------------------------------+----------------------------------------------------------------------
-(0 rows)
-
--- Snapshot of state at 9.3-2
-ALTER EXTENSION citus UPDATE TO '9.3-2';
-SELECT * FROM multi_extension.print_extension_changes();
- previous_object | current_object
----------------------------------------------------------------------
function citus_extradata_container(internal) void |
| function citus_extradata_container(internal) SETOF record
| function citus_remote_connection_stats() SETOF record
| function replicate_reference_tables() void
| function truncate_local_data_after_distributing_table(regclass) void
| function update_distributed_table_colocation(regclass,text) void
| function worker_create_or_alter_role(text,text,text) boolean
(7 rows)
--- Test downgrade to 9.3-2 from 9.4-1
-ALTER EXTENSION citus UPDATE TO '9.4-1';
+-- Snapshot of state at 9.3-2
ALTER EXTENSION citus UPDATE TO '9.3-2';
--- Should be empty result since upgrade+downgrade should be a no-op
+NOTICE: version "9.3-2" of extension "citus" is already installed
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
(0 rows)
--- Snapshot of state at 9.4-1
+-- Test downgrade to 9.3-2 from 9.4-1
ALTER EXTENSION citus UPDATE TO '9.4-1';
+ALTER EXTENSION citus UPDATE TO '9.3-2';
+ERROR: extension "citus" has no update path from version "9.4-1" to version "9.3-2"
+-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------------------------------------------------------------------------------------------------------------
| function worker_last_saved_explain_analyze() TABLE(explain_analyze_output text, execution_duration double precision)
| function worker_save_query_explain_analyze(text,jsonb) SETOF record
(2 rows)
+-- Snapshot of state at 9.4-1
+ALTER EXTENSION citus UPDATE TO '9.4-1';
+NOTICE: version "9.4-1" of extension "citus" is already installed
+SELECT * FROM multi_extension.print_extension_changes();
+ previous_object | current_object
+-----------------+----------------
+(0 rows)
+
-- Test upgrade paths for backported citus_pg_upgrade functions
ALTER EXTENSION citus UPDATE TO '9.4-2';
ALTER EXTENSION citus UPDATE TO '9.4-1';
-- Should be empty result, even though the downgrade doesn't undo the upgrade, the
-- function signature doesn't change, which is reflected here.
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
(0 rows)
@@ -501,49 +507,49 @@
CREATE TABLE citus_local_table (a int);
SELECT create_citus_local_table('citus_local_table');
NOTICE: create_citus_local_table is deprecated in favour of citus_add_local_table_to_metadata
create_citus_local_table
--------------------------
(1 row)
-- downgrade from 9.5-1 to 9.4-1 should fail as we have a citus local table
ALTER EXTENSION citus UPDATE TO '9.4-1';
-ERROR: citus local tables are introduced in Citus 9.5
-HINT: To downgrade Citus to an older version, you should first convert each citus local table to a postgres table by executing SELECT undistribute_table("%s")
-CONTEXT: PL/pgSQL function inline_code_block line XX at RAISE
+ERROR: extension "citus" has no update path from version "9.5-1" to version "9.4-1"
ROLLBACK;
-- now we can downgrade as there is no citus local table
ALTER EXTENSION citus UPDATE TO '9.4-1';
+ERROR: extension "citus" has no update path from version "9.5-1" to version "9.4-1"
-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
--------------------------------------------------------------------------+-------------------------------------------------------------------------
-(0 rows)
-
--- Snapshot of state at 9.5-1
-ALTER EXTENSION citus UPDATE TO '9.5-1';
-SELECT * FROM multi_extension.print_extension_changes();
- previous_object | current_object
----------------------------------------------------------------------
function master_drop_sequences(text[]) void |
function task_tracker_assign_task(bigint,integer,text) void |
function task_tracker_cleanup_job(bigint) void |
function task_tracker_conninfo_cache_invalidate() trigger |
function task_tracker_task_status(bigint,integer) integer |
function worker_execute_sql_task(bigint,integer,text,boolean) bigint |
function worker_merge_files_and_run_query(bigint,integer,text,text) void |
| function create_citus_local_table(regclass) void
| function undistribute_table(regclass) void
| function worker_record_sequence_dependency(regclass,regclass,name) void
(10 rows)
+-- Snapshot of state at 9.5-1
+ALTER EXTENSION citus UPDATE TO '9.5-1';
+NOTICE: version "9.5-1" of extension "citus" is already installed
+SELECT * FROM multi_extension.print_extension_changes();
+ previous_object | current_object
+-----------------+----------------
+(0 rows)
+
-- Test upgrade paths for backported citus_pg_upgrade functions
ALTER EXTENSION citus UPDATE TO '9.5-2';
ALTER EXTENSION citus UPDATE TO '9.5-1';
-- Should be empty result, even though the downgrade doesn't undo the upgrade, the
-- function signature doesn't change, which is reflected here.
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
(0 rows)
@@ -634,31 +640,25 @@
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
(0 rows)
-- We removed the upgrade paths to 10.0-1, 10.0-2 and 10.0-3 due to a bug that blocked
-- upgrades to 10.0, Therefore we test upgrades to 10.0-4 instead
-- Test downgrade to 9.5-1 from 10.0-4
ALTER EXTENSION citus UPDATE TO '10.0-4';
ALTER EXTENSION citus UPDATE TO '9.5-1';
+ERROR: extension "citus" has no update path from version "10.0-4" to version "9.5-1"
-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------
-(0 rows)
-
--- Snapshot of state at 10.0-4
-ALTER EXTENSION citus UPDATE TO '10.0-4';
-SELECT * FROM multi_extension.print_extension_changes();
- previous_object | current_object
----------------------------------------------------------------------
function citus_total_relation_size(regclass) bigint |
function create_citus_local_table(regclass) void |
function mark_tables_colocated(regclass,regclass[]) void |
function master_conninfo_cache_invalidate() trigger |
function master_create_distributed_table(regclass,text,citus.distribution_type) void |
function master_create_worker_shards(text,integer,integer) void |
function master_dist_local_group_cache_invalidate() trigger |
function master_dist_node_cache_invalidate() trigger |
function master_dist_object_cache_invalidate() trigger |
function master_dist_partition_cache_invalidate() trigger |
@@ -715,105 +715,121 @@
| sequence columnar.storageid_seq
| table columnar.chunk
| table columnar.chunk_group
| table columnar.options
| table columnar.stripe
| view citus_shards
| view public.citus_tables
| view time_partitions
(68 rows)
+-- Snapshot of state at 10.0-4
+ALTER EXTENSION citus UPDATE TO '10.0-4';
+NOTICE: version "10.0-4" of extension "citus" is already installed
+SELECT * FROM multi_extension.print_extension_changes();
+ previous_object | current_object
+-----------------+----------------
+(0 rows)
+
-- check that we depend on the existence of public schema, and we can not drop it now
DROP SCHEMA public;
ERROR: cannot drop schema public because other objects depend on it
DETAIL: extension citus depends on schema public
HINT: Use DROP ... CASCADE to drop the dependent objects too.
-- verify that citus_tables view is on pg_catalog if public schema is absent.
ALTER EXTENSION citus UPDATE TO '9.5-1';
+ERROR: extension "citus" has no update path from version "10.0-4" to version "9.5-1"
DROP SCHEMA public;
+ERROR: cannot drop schema public because other objects depend on it
+DETAIL: extension citus depends on schema public
+HINT: Use DROP ... CASCADE to drop the dependent objects too.
ALTER EXTENSION citus UPDATE TO '10.0-4';
+NOTICE: version "10.0-4" of extension "citus" is already installed
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
- view public.citus_tables |
- | view citus_tables
-(2 rows)
+(0 rows)
-- recreate public schema, and recreate citus_tables in the public schema by default
CREATE SCHEMA public;
+ERROR: schema "public" already exists
GRANT ALL ON SCHEMA public TO public;
ALTER EXTENSION citus UPDATE TO '9.5-1';
+ERROR: extension "citus" has no update path from version "10.0-4" to version "9.5-1"
ALTER EXTENSION citus UPDATE TO '10.0-4';
+NOTICE: version "10.0-4" of extension "citus" is already installed
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
- view citus_tables |
- | view public.citus_tables
-(2 rows)
+(0 rows)
-- Test downgrade to 10.0-4 from 10.1-1
ALTER EXTENSION citus UPDATE TO '10.1-1';
ALTER EXTENSION citus UPDATE TO '10.0-4';
+ERROR: extension "citus" has no update path from version "10.1-1" to version "10.0-4"
-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-(0 rows)
-
--- Snapshot of state at 10.1-1
-ALTER EXTENSION citus UPDATE TO '10.1-1';
-SELECT * FROM multi_extension.print_extension_changes();
- previous_object | current_object
----------------------------------------------------------------------
function citus_add_rebalance_strategy(name,regproc,regproc,regproc,real,real) void |
function citus_internal.columnar_ensure_objects_exist() void |
function citus_internal.pg_dist_rebalance_strategy_enterprise_check() trigger |
function create_distributed_table(regclass,text,citus.distribution_type,text) void |
function get_rebalance_progress() TABLE(sessionid integer, table_name regclass, shardid bigint, shard_size bigint, sourcename text, sourceport integer, targetname text, targetport integer, progress bigint) |
function get_rebalance_table_shards_plan(regclass,real,integer,bigint[],boolean,name) TABLE(table_name regclass, shardid bigint, shard_size bigint, sourcename text, sourceport integer, targetname text, targetport integer) |
| function citus_add_rebalance_strategy(name,regproc,regproc,regproc,real,real,real) void
| function citus_cleanup_orphaned_shards()
| function citus_local_disk_space_stats() record
| function create_distributed_table(regclass,text,citus.distribution_type,text,integer) void
| function get_rebalance_progress() TABLE(sessionid integer, table_name regclass, shardid bigint, shard_size bigint, sourcename text, sourceport integer, targetname text, targetport integer, progress bigint, source_shard_size bigint, target_shard_size bigint)
| function get_rebalance_table_shards_plan(regclass,real,integer,bigint[],boolean,name,real) TABLE(table_name regclass, shardid bigint, shard_size bigint, sourcename text, sourceport integer, targetname text, targetport integer)
| function worker_partitioned_relation_size(regclass) bigint
| function worker_partitioned_relation_total_size(regclass) bigint
| function worker_partitioned_table_size(regclass) bigint
(15 rows)
--- Test downgrade to 10.1-1 from 10.2-1
-ALTER EXTENSION citus UPDATE TO '10.2-1';
+-- Snapshot of state at 10.1-1
ALTER EXTENSION citus UPDATE TO '10.1-1';
--- Should be empty result since upgrade+downgrade should be a no-op
+NOTICE: version "10.1-1" of extension "citus" is already installed
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
-----------------+----------------
(0 rows)
--- Snapshot of state at 10.2-1
+-- Test downgrade to 10.1-1 from 10.2-1
ALTER EXTENSION citus UPDATE TO '10.2-1';
+ALTER EXTENSION citus UPDATE TO '10.1-1';
+ERROR: extension "citus" has no update path from version "10.2-1" to version "10.1-1"
+-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
previous_object | current_object
--------------------------------------------------------+-------------------------------------------------------------------------------------------
function stop_metadata_sync_to_node(text,integer) void |
| function citus_internal.downgrade_columnar_storage(regclass) void
| function citus_internal.upgrade_columnar_storage(regclass) void
| function citus_internal_add_partition_metadata(regclass,"char",text,integer,"char") void
| function citus_internal_add_placement_metadata(bigint,integer,bigint,integer,bigint) void
| function citus_internal_add_shard_metadata(regclass,bigint,"char",text,text) void
| function citus_internal_delete_shard_metadata(bigint) void
| function citus_internal_update_placement_metadata(bigint,integer,integer) void
| function citus_internal_update_relation_colocation(oid,integer) void
| function stop_metadata_sync_to_node(text,integer,boolean) void
(10 rows)
+-- Snapshot of state at 10.2-1
+ALTER EXTENSION citus UPDATE TO '10.2-1';
+NOTICE: version "10.2-1" of extension "citus" is already installed
+SELECT * FROM multi_extension.print_extension_changes();
+ previous_object | current_object
+-----------------+----------------
+(0 rows)
+
DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff;
-- show running version
SHOW citus.version;
citus.version
---------------
10.2devel
(1 row)
-- ensure no unexpected objects were created outside pg_catalog
SELECT pgio.type, pgio.identity
test multi_extension ... FAILED 8516 ms
parallel group (2 tests): multi_test_helpers_superuser multi_test_helpers
multi_test_helpers ... ok 90 ms
multi_test_helpers_superuser ... ok 84 ms
test multi_mx_node_metadata ... ok 23742 ms
test multi_cluster_management ... ok 31996 ms
test multi_mx_function_table_reference ... ok 980 ms
test multi_test_catalog_views ... ok 252 ms
test multi_mx_create_table ... ok 2089 ms
test start_stop_metadata_sync ... ok 9984 ms
test multi_mx_hide_shard_names ... ok 2573 ms
test multi_mx_add_coordinator ... ok 3364 ms
test multi_mx_modifications_to_reference_tables ... ok 1548 ms
test multi_mx_partitioning ... ok 4299 ms
test mx_coordinator_shouldhaveshards ... ok 1340 ms
parallel group (2 tests): multi_mx_router_planner multi_mx_copy_data
multi_mx_copy_data ... ok 4267 ms
multi_mx_router_planner ... ok 792 ms
parallel group (3 tests): multi_mx_tpch_query1 multi_mx_tpch_query10 multi_mx_schema_support
multi_mx_schema_support ... ok 9944 ms
multi_mx_tpch_query1 ... ok 1391 ms
multi_mx_tpch_query10 ... ok 1525 ms
parallel group (3 tests): multi_mx_tpch_query12 multi_mx_tpch_query14 multi_mx_tpch_query19
multi_mx_tpch_query12 ... ok 1231 ms
multi_mx_tpch_query14 ... ok 1328 ms
multi_mx_tpch_query19 ... ok 1700 ms
parallel group (3 tests): multi_mx_tpch_query6 multi_mx_tpch_query3 multi_mx_tpch_query7
multi_mx_tpch_query3 ... ok 1292 ms
multi_mx_tpch_query6 ... ok 1241 ms
multi_mx_tpch_query7 ... ok 1513 ms
parallel group (2 tests): multi_mx_tpch_query7_nested multi_mx_ddl
multi_mx_tpch_query7_nested ... ok 982 ms
multi_mx_ddl ... ok 3725 ms
test ch_bench_having_mx ... ok 1261 ms
parallel group (2 tests): recursive_dml_queries_mx multi_mx_truncate_from_worker
recursive_dml_queries_mx ... ok 1836 ms
multi_mx_truncate_from_worker ... ok 3017 ms
parallel group (2 tests): mx_foreign_key_to_reference_table multi_mx_repartition_udt_prepare
multi_mx_repartition_udt_prepare ... ok 1627 ms
mx_foreign_key_to_reference_table ... ok 1041 ms
parallel group (2 tests): multi_mx_repartition_join_w1 multi_mx_repartition_join_w2
multi_mx_repartition_join_w1 ... ok 8534 ms
multi_mx_repartition_join_w2 ... ok 8601 ms
test multi_mx_metadata ... ok 1575 ms
parallel group (3 tests): coordinator_evaluation_select coordinator_evaluation coordinator_evaluation_modify
coordinator_evaluation ... ok 2092 ms
coordinator_evaluation_modify ... ok 2257 ms
coordinator_evaluation_select ... ok 1726 ms
test multi_mx_call ... ok 2537 ms
test multi_mx_function_call_delegation ... ok 4023 ms
parallel group (2 tests): multi_mx_modifications local_shard_execution
multi_mx_modifications ... ok 1312 ms
local_shard_execution ... ok 7473 ms
parallel group (2 tests): multi_mx_repartition_udt_w1 multi_mx_repartition_udt_w2
multi_mx_repartition_udt_w1 ... ok 4104 ms
multi_mx_repartition_udt_w2 ... ok 4146 ms
test local_shard_copy ... ok 8728 ms
test undistribute_table_cascade_mx ... ok 2881 ms
test citus_local_tables_mx ... ok 1692 ms
test citus_local_tables_queries_mx ... ok 4796 ms
test multi_mx_transaction_recovery ... ok 1567 ms
test multi_mx_modifying_xacts ... ok 1425 ms
test multi_mx_explain ... ok 1502 ms
test multi_mx_reference_table ... ok 6770 ms
test multi_mx_insert_select_repartition ... ok 749 ms
test locally_execute_intermediate_results ... ok 3235 ms
test multi_mx_alter_distributed_table ... ok 7662 ms
test update_colocation_mx ... ok 670 ms
test local_shard_execution_dropped_column ... ok 3072 ms
test metadata_sync_helpers ... ok 1243 ms
test ensure_no_intermediate_data_leak ... ok 501 ms
test ensure_no_shared_connection_leak ... ok 839 ms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment