Commit Graph

1871 Commits (a5370f5bb0ea3f68fbb3982432941c0fdbd9f69c)

Author SHA1 Message Date
Onder Kalaci a5370f5bb0 Realtime executor honours multi_shard_modify_mode
We're relying on multi_shard_modify_mode GUC for real-time SELECTs.
The name of the GUC is unfortunate, but, adding one more GUC
(or renaming the GUC) would make the UX even worse. Given that this
mode is mostly important for transaction blocks that involve modification
/DDL queries along with real-time SELECTs, we can live with the confusion.
2018-06-06 14:59:54 +03:00
Onder Kalaci d918556dca INSERT .. SELECT pushdown honors multi_shard_modification_mode 2018-06-06 12:42:23 +03:00
Onder Kalaci 336044f2a8 master_modify_multiple_shards() and TRUNCATE honors multi_shard_modification_mode 2018-06-06 12:29:05 +03:00
Önder Kalacı 87270911d3
Merge pull request #2189 from citusdata/seq_ddl_via_seq_router
DDL commands honour `citus.multi_shard_modify_mode`
2018-06-06 09:25:26 +03:00
Onder Kalaci 51cb24b39c Increase timeout to make the appveyor tests happy 2018-06-05 17:52:18 +03:00
Onder Kalaci df44956dc3 Make sure that sequential DDL opens a single connection to each node
After this commit DDL commands honour `citus.multi_shard_modify_mode`.

We preferred using the code-path that executes single task router
queries (e.g., ExecuteSingleModifyTask()) in order not to invent
a new executor that is only applicable for DDL commands that require
sequential execution.
2018-06-05 17:52:17 +03:00
Murat Tuncer 98b99634f3
Merge pull request #2167 from citusdata/serf
Add a debug message with distribution column value
2018-06-05 17:38:54 +03:00
Marco Slot fd4ff29f2f Add a debug message with distribution column value 2018-06-05 15:09:17 +03:00
Murat Tuncer 37bd4cd80c
Merge pull request #2195 from citusdata/push_grant
Add handling for grant/revoke all tables in schema
2018-05-31 14:26:52 +03:00
Murat Tuncer ba50e3f33e Add handling for grant/revoke all tables in schema 2018-05-31 13:47:02 +03:00
Jason Petersen b90c54abc0
Merge pull request #2170 from citusdata/master-update-version-1526383730
Bump Citus to 7.5devel

cr: @jasonmp85
2018-05-28 18:11:09 -06:00
Jason Petersen 49c85c2522
Fix windows citus_version 2018-05-28 17:43:39 -06:00
velioglu 28e3003311
Update version in the root control 2018-05-28 17:25:21 -06:00
velioglu 20acee2cd4
Bump citus version to 7.5devel 2018-05-28 17:25:21 -06:00
Burak Velioglu f069e7efb6
Merge pull request #2178 from citusdata/master-update-72
Add changelog entry for 7.2.2
2018-05-17 11:07:39 +03:00
Marco Slot 673184b8d3 Add changelog entry for 7.2.2 2018-05-17 10:35:15 +03:00
Önder Kalacı cb634bf113
Merge pull request #2176 from citusdata/fix-appveyor-real-time-flakyness
Increase deadlock timeout so we get fewer signals
2018-05-17 09:49:11 +03:00
Brian Cloutier a7e09d777b Increase deadlock timeout so we get fewer signals 2018-05-16 17:07:24 -07:00
Brian Cloutier 9667ee5ac9 Alleviate OOM failures in COMMIT callback
Previously those failures caused us to crash, postgres abort()s when it
notices a failure in the COMMIT callback.
2018-05-15 16:39:33 -07:00
Burak Velioglu f163932a1b
Merge pull request #2169 from citusdata/citus-7.4.0-changelog-1526370810
Add changelog entry for 7.4.0
2018-05-15 14:18:07 +03:00
velioglu c248c8ac38 Add changelog entry for 7.4.0 2018-05-15 11:44:30 +03:00
Marco Slot cce658ad8c
Merge pull request #2166 from citusdata/version_bump_windows
Fix regression tests in AppVeyor
2018-05-11 22:27:48 +02:00
Marco Slot 9323db2e05
Merge pull request #2161 from citusdata/move-intermediate-results-directory
Move call to RemoveIntermediateResultsDirectory
2018-05-11 11:44:53 +02:00
Marco Slot 61d2c0f618 Stabilise output of multi_shard_update_delete test 2018-05-11 08:33:23 +02:00
Onder Kalaci ed47e4e6b9 Remove placementId from the ORDER BY to make results consistent 2018-05-11 17:04:50 +03:00
Onder Kalaci 12e50d96dc Fix tests where hll is not installed 2018-05-11 16:01:47 +03:00
Onder Kalaci b1619e182d Make sure windows are build with the latest version 2018-05-11 15:44:19 +03:00
Brian Cloutier 4c2bf5d2d6 Move call to RemoveIntermediateResultsDirectory
Errors thrown in the COMMIT handler will cause Postgres to segfault,
there's nothing it can do it abort the transaction by the time that
handler is called!

RemoveIntermediateResultsDirectory is problematic for two reasons:
- It has calls to ereport(ERROR which have been known to trigger
- It makes memory allocations which raise ERRORs when they fail

Once the COMMIT process has begun we don't use the intermediate results,
so it's safe to remove them a little earlier in the process. A failure
here will abort the transaction. That's pretty unnecessary, it's not
that important that we remove the results, but it's still better than a
crash.
2018-05-10 19:28:41 -07:00
Brian Cloutier b3e85e4f71 Fix the huge appveyor diffs 2018-05-10 18:18:43 -07:00
Mehmet Furkan ŞAHİN bdfe1ed702
Merge pull request #2165 from citusdata/enterprise_test_fix_drop_table_add
enterprise test fixes
2018-05-10 14:22:59 +03:00
mehmet furkan şahin b8c3197399 enterprise test fixes 2018-05-10 13:06:54 +03:00
Önder Kalacı 0e1a01921d
Merge pull request #2164 from citusdata/fix_concurrent_reg_test
Run concurrent modification queries in tests sequentially
2018-05-10 12:17:41 +03:00
Onder Kalaci 04d9e886fe Run concurrent modification queries in tests sequentially 2018-05-10 11:59:18 +03:00
Mehmet Furkan ŞAHİN 42b9690552
Merge pull request #2143 from citusdata/create_distributed_table_test_update_2
Create distributed table test update
2018-05-10 11:39:13 +03:00
mehmet furkan şahin 785a86ed0a Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
Mehmet Furkan ŞAHİN ae97df43be
Merge pull request #2155 from citusdata/valgrind_fix
valgrind tests fixed
2018-05-10 10:46:02 +03:00
mehmet furkan şahin d35f2725bf valgrind tests fix 2018-05-10 10:20:14 +03:00
Marco Slot a63e628120
Merge pull request #2142 from citusdata/master_update_node_locking
Make master_update_node block writes to the node
2018-05-09 14:27:03 +02:00
Dimitri Fontaine 8b258cbdb0 Lock reads and writes only to the node being updated in master_update_node
Rather than locking out all the writes in the cluster, the function now only
locks out writes that target shards hosted by the node we're updating.
2018-05-09 15:14:20 +02:00
Hadi Moshayedi 4198ad7618
Merge pull request #2157 from citusdata/fix_router_select
Throw an error if placements cannot be found in router executor
2018-05-08 23:04:45 -04:00
Marco Slot 5f5f7b4fe0 Throw an error if placements cannot be found in router executor 2018-05-08 22:39:18 -04:00
Marco Slot b4cfa2f283
Merge pull request #2158 from citusdata/fix_mx_test
Run recursive_dml_queries_mx test on its own
2018-05-08 17:57:21 +02:00
Marco Slot b86d6eb544
Merge pull request #2151 from citusdata/fix_cte_xact
Ensure sigle-shard modifying CTEs are part of distributed transaction
2018-05-08 14:04:40 +02:00
Burak Velioglu 5b079c125b
Merge pull request #2150 from citusdata/modify_volatility_check
Check volatile functions in modify queries
2018-05-08 11:45:36 +03:00
velioglu caa27161ca Check volatile functions in modify queries 2018-05-08 11:16:40 +03:00
Marco Slot a7e6689890 Run recursive_dml_queries_mx test on its own 2018-05-06 17:12:53 +02:00
Marco Slot 9438e5bde9 Ensure single-shard modifying CTEs are part of distributed transaction 2018-05-06 12:49:40 +02:00
Hadi Moshayedi 86b12bc2d0
Always prefix operators with their namespace. (#2147)
Previously we checked if an operator is in pg_catalog, and if it wasn't we prefixed it with namespace in worker queries. This can have a huge impact on performance of physical planner when using custom data types.

This happened regardless of current search_path config, because Citus overrides the search path in get_query_def_extended(). When we do so, the check for existence of the operator in current search path in generate_operator_name() fails for any operators outside pg_catalog. This means that nothing gets cached, and in the following calls we will again recheck the system tables for existence of the operators, which took an additional 40-50ms for some of the usecases we were seeing.

In this change we skip the pg_catalog check, and always prefix the operator with its namespace.
2018-05-05 13:27:26 -04:00
Marco Slot 0f98e4dd2f
Merge pull request #2137 from citusdata/marco_updel_subquery
Implement recursive planning for DML statements
2018-05-03 22:22:14 +02:00
Murat Tuncer 42a8082721 PG11 compatibility refresh
adds a shim for a changed function api
2018-05-03 13:21:15 -06:00