mirror of https://github.com/citusdata/citus.git
139 lines
3.6 KiB
Plaintext
139 lines
3.6 KiB
Plaintext
-- We have different output files for the executor. The executor
|
|
-- with PG10 behaves like non-executor PG11, and with PG11 it
|
|
-- behaves like non-executor PG10.
|
|
-- print whether we're using version > 10 to make version-specific tests clear
|
|
SHOW server_version \gset
|
|
SELECT substring(:'server_version', '\d+')::int > 10 AS version_above_ten;
|
|
version_above_ten
|
|
-------------------
|
|
f
|
|
(1 row)
|
|
|
|
SELECT citus.mitmproxy('conn.allow()');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
SET citus.shard_count = 1;
|
|
SET citus.shard_replication_factor = 2; -- one shard per worker
|
|
SET citus.multi_shard_commit_protocol TO '1pc';
|
|
CREATE TABLE vacuum_test (key int, value int);
|
|
SELECT create_distributed_table('vacuum_test', 'key');
|
|
create_distributed_table
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT citus.clear_network_traffic();
|
|
clear_network_traffic
|
|
-----------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^VACUUM").kill()');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
VACUUM vacuum_test;
|
|
ERROR: server closed the connection unexpectedly
|
|
This probably means the server terminated abnormally
|
|
before or while processing the request.
|
|
CONTEXT: while executing command on localhost:9060
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^ANALYZE").kill()');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
ANALYZE vacuum_test;
|
|
ERROR: server closed the connection unexpectedly
|
|
This probably means the server terminated abnormally
|
|
before or while processing the request.
|
|
CONTEXT: while executing command on localhost:9060
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^COMMIT").kill()');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
ANALYZE vacuum_test;
|
|
WARNING: connection not open
|
|
CONTEXT: while executing command on localhost:9060
|
|
WARNING: failed to commit transaction on localhost:9060
|
|
WARNING: connection not open
|
|
CONTEXT: while executing command on localhost:9060
|
|
-- ANALYZE transactions being critical is an open question, see #2430
|
|
UPDATE pg_dist_shard_placement SET shardstate = 1
|
|
WHERE shardid IN (
|
|
SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'vacuum_test'::regclass
|
|
);
|
|
-- the same tests with cancel
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^VACUUM").cancel(' || pg_backend_pid() || ')');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
VACUUM vacuum_test;
|
|
ERROR: canceling statement due to user request
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^ANALYZE").cancel(' || pg_backend_pid() || ')');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
ANALYZE vacuum_test;
|
|
ERROR: canceling statement due to user request
|
|
-- cancel during COMMIT should be ignored
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^COMMIT").cancel(' || pg_backend_pid() || ')');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
ANALYZE vacuum_test;
|
|
SELECT citus.mitmproxy('conn.allow()');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
CREATE TABLE other_vacuum_test (key int, value int);
|
|
SELECT create_distributed_table('other_vacuum_test', 'key');
|
|
create_distributed_table
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^VACUUM.*other").kill()');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
VACUUM vacuum_test, other_vacuum_test;
|
|
ERROR: syntax error at or near ","
|
|
LINE 1: VACUUM vacuum_test, other_vacuum_test;
|
|
^
|
|
SELECT citus.mitmproxy('conn.onQuery(query="^VACUUM.*other").cancel(' || pg_backend_pid() || ')');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
VACUUM vacuum_test, other_vacuum_test;
|
|
ERROR: syntax error at or near ","
|
|
LINE 1: VACUUM vacuum_test, other_vacuum_test;
|
|
^
|
|
-- ==== Clean up, we're done here ====
|
|
SELECT citus.mitmproxy('conn.allow()');
|
|
mitmproxy
|
|
-----------
|
|
|
|
(1 row)
|
|
|
|
DROP TABLE vacuum_test, other_vacuum_test;
|