Commit Graph

888 Commits (48db2f1fc8c8018a766f12fbb5264d3d4e854eaa)

Author SHA1 Message Date
velioglu a19770c6c8 Fix error message of start_metadata_sync_to_node
Single quotation mark is added around nodename to make the
error code consistent with master_add_node usage.
2017-02-22 18:03:58 +03:00
Metin Döşlü 859ec7d153 Merge pull request #1252 from citusdata/reproducible_costs
Get reproducible costs between different PostgreSQL versions
2017-02-22 16:04:21 +02:00
Metin Doslu f73c0c2ab5 Get reproducible costs between different PostgreSQL versions 2017-02-22 15:40:02 +02:00
Burak Velioglu fa112e9c99 Disallow master_apply_delete_command on hash distributed table
Delete operation is blocked for any table distributed by hash using master_apply_delete_command. Suggested master_modify_multiple_shards command as a hint.
2017-02-22 11:54:46 +03:00
Metin Döşlü f97883aa99 Merge pull request #1242 from citusdata/debug4_to_debug2
Use DEBUG2 instead of DEBUG4 in INSERT SELECT tests & debug message
2017-02-20 13:29:31 +02:00
Andres Freund a4f2bf1266 Use DEBUG2 instead of DEBUG4 in INSERT SELECT tests & debug message.
During later work the transaction debug output will change (as it will
in postgres 10), which makes it hard to see actual changes in the
INSERT ... SELECT ... test.  Reduce to DEBUG2 after changing a debug
message to that log level.
2017-02-20 12:56:16 +02:00
Eren Başak 3f93bcd960 Merge pull request #1206 from citusdata/for_statement_replication_on_old_apis
Enforce statement based replication on old APIs and non-hash tables
2017-02-16 10:45:09 -08:00
Eren Basak 99ebe06af5 Enforce statement based replication on old APIs and non-hash tables
This change ignores `citus.replication_model` setting and uses the
statement based replication in

- Tables distributed via the old `master_create_distributed_table` function
- Append and range partitioned tables, even if created via
`create_distributed_table` function

This seems like the easiest solution to #1191, without changing the existing
behavior and harming existing users with custom scripts.

This change also prevents RF>1 on streaming replicated tables on `master_create_worker_shards`

Prior to this change, `master_create_worker_shards` command was not checking
the replication model of the target table, thus allowing RF>1 with streaming
replicated tables. With this change, `master_create_worker_shards` errors
out on the case.
2017-02-16 10:37:53 -08:00
sumedhpathak e4e88d569f Merge pull request #1226 from citusdata/6.1-docs-changes
Update links to Documentation in Readme to 6.1
2017-02-10 17:12:26 -08:00
sumedhpathak a62fd862a8 Update links to Documentation to 6.1 2017-02-10 17:02:18 -08:00
Jason Petersen 9e3f586da3 Add 6.1.0 CHANGELOG entries (#1219)
This is probably missing some stuff, but is my edit of the initial list
compiled by Burak.

cr: @craigkerstiens
2017-02-09 17:05:17 -07:00
Jason Petersen 10afe08cd9 Fix tests broken by new PostgreSQL patch releases (#1220)
PostgreSQL 9.5.6 and 9.6.2 were released today and broke several tests
by adding TABLESPACE pg_default output to some DDL commands. Fixed all
occurrences.

cr: @anarazel
2017-02-09 16:53:02 -07:00
Önder Kalacı 786fa439c6 Merge pull request #1213 from citusdata/fix_fkey_crash
Bugfix for creating foreign key
2017-02-07 10:26:11 +02:00
Onder Kalaci 49ed391b3e Bugfix for creating foreign key
This commit fixes crash for adding foreign keys without
specifying the referenced column crashes the backend.
2017-02-07 09:34:24 +02:00
Brian Cloutier 0c5373c28e Utility hook does nothing if the extension is not loaded 2017-02-02 17:48:31 +02:00
Brian Cloutier bd6c39215b Set a memory context when throwing deferred errors 2017-02-02 15:14:21 +02:00
Brian Cloutier 911137ce66 Start remote transactions in master_append_table_to_shard
Add a call to RemoteTransactionBeginIfNecessary so that BEGIN is
actually sent to the remote connections. This means that ROLLBACK and
Ctrl-C are respected and don't leave the table in a partial state.
2017-02-01 18:12:19 +02:00
Jason Petersen 364e8535da Merge pull request #1182 from citusdata/fix_random_travis_failure
Fix Random Fails on Travis

cr: @jasonmp85
2017-01-31 16:42:19 -07:00
Eren Basak 8efb00768e Fix Random Fails on Travis
This change fixes the random failures on Travis, which is a bug introduced
with citus/#1124. Before this fix, travis was failing randomly on `check_multi_mx`
test schedule, specifically in the parallel group of `multi_mx_metadata`,
'multi_mx_modifications` and `multi_mx_modifying_xacts` tests. This change fixes this
by serializing these three test cases.
2017-01-31 15:23:06 -08:00
Eren Başak 1df8d27bce Merge pull request #1183 from citusdata/allow_drop_sequence_on_worker
Allow dropping sequences on mx workers
2017-01-31 14:59:29 -08:00
Eren Basak b458832416 Allow dropping sequences on mx workers
This change allows users to drop sequences on MX workers. Previously, Citus didn't allow dropping
sequences on MX workers because it could cause shards to be dropped if `DROP SEQUENCE ... CASCADE`
is used. We now allow that since allowing sequence creation but not dropping hurts user experience
and also may cause problems with custom Citus solutions.
2017-01-31 14:51:44 -08:00
Samay Sharma eca06f227e Merge pull request #1178 from citusdata/ozgune-patch-1
Update README.md to include use cases
2017-01-30 13:24:52 -08:00
Ozgun Erdogan 2828140d61 Update README.md to include use cases
Updated to the README.md to reflect newer product features.

* Include references to the multi-tenant use case
* Minor update to tutorial link to include 6.0
* Minor update to Contributing guidelines (we haven't used #helpwanted tags over the past year)
* Minor update to remove link to support & training
2017-01-27 16:36:33 -08:00
Brian Cloutier 0e135dfd72 Fix bug where router executor sends query to failed connections 2017-01-27 09:40:30 +02:00
Brian Cloutier 24654ac7e1 Refactor CheckShardPlacements
- Break CheckShardPlacements into multiple functions (The most important
  is MarkFailedShardPlacements), so that we can get rid of the global
  CoordinatedTransactionUses2PC.
- Call MarkFailedShardPlacements in the router executor, so we mark
  shards as invalid and stop using them while inside transaction blocks.
2017-01-26 13:20:45 +02:00
Marco Slot 6d460c4cd2 Merge pull request #1168 from citusdata/copy_inactive
Set placement to inactive on connection failure in COPY
2017-01-26 13:23:13 +04:00
Murat Tuncer 59ca49a826 Add copy failure tests inside transactions 2017-01-26 11:54:40 +03:00
Murat Tuncer 0500c31a30 Fix dependent tests 2017-01-25 19:19:39 +03:00
Murat Tuncer 5a8bc76912 Add failure case for regression tests 2017-01-25 19:19:39 +03:00
Marco Slot e55faf10f0 Mark failed placements as inactive immediately after COPY 2017-01-25 19:19:39 +03:00
Marco Slot b4c5a0781b Don't mark placements inactive in COPY after successful connection 2017-01-25 19:19:38 +03:00
Marco Slot 83cb58bf40 Set placement to inactive on connection failure in COPY 2017-01-25 19:19:38 +03:00
Marco Slot d1acc27b1b Merge pull request #1171 from citusdata/utility_schemanode_fix
Remove call to SchemaNode() in multi_ProcessUtility
2017-01-25 12:23:47 +01:00
Marco Slot 8971b3ed75 Short circuit in multi_ProcessUtility on ABORT/COMMIT 2017-01-25 11:57:00 +01:00
Marco Slot 5f61d8ea5a Always skip foreign key validation when enable_ddl_propagation is off 2017-01-25 11:56:59 +01:00
Marco Slot 2279061a90 Merge pull request #1163 from citusdata/mx_errors
Improve terminology in MX error messages
2017-01-25 11:14:21 +01:00
Marco Slot 8adb9c3ec1 Use coordinator instead of schema node in terminology 2017-01-25 11:07:23 +01:00
Marco Slot 46487dd583 Use bigserial instead of BIGINT in sequence error 2017-01-25 11:07:23 +01:00
Burak Yücesoy 75caddc694 Merge pull request #1172 from citusdata/add_order_by_to_tests
Add ORDER BY to some tests to have consistent output
2017-01-25 11:49:05 +03:00
Burak Yucesoy 240520d063 Add ORDER BY to some tests to have consistent output 2017-01-25 11:43:25 +02:00
Marco Slot 62e747e107 Merge pull request #1165 from citusdata/updating-readme
Updating citus cloud link to point to sign up
2017-01-24 09:52:58 +01:00
Craig Kerstiens 8b42bda105 updating citus cloud link to point to sign up 2017-01-24 09:09:06 +01:00
Eren Başak 2d7c117727 Merge pull request #1124 from citusdata/mx_worker_tests
MX regression tests for queries from workers
2017-01-24 09:53:50 +02:00
Eren Basak 2536c77ef0 Add Regression Tests For Querying MX Tables from Workers 2017-01-24 10:36:59 +03:00
Burak Yücesoy c6875b8d05 Merge pull request #1136 from citusdata/convert_drop_shards_to_use_new_api
Convert drop shards to use new API
2017-01-23 21:16:16 +03:00
Burak Yucesoy 46547e67cc Convert DropShards to use new connection API
With this change DropShards function started to use new connection API. DropShards
function is used by DROP TABLE, master_drop_all_shards and master_apply_delete_command,
therefore all of these functions now support transactional operations. In DropShards
function, if we cannot reach a node, we mark shard state of related placements as
FILE_TO_DELETE and continue to drop remaining shards; however if any error occurs after
establishing the connection, we ROLLBACK whole operation.
2017-01-23 21:08:41 +03:00
Burak Yucesoy 4efeeb50c3 In case of failed transactions update shard state only if it is FILE_FINALIZED
Before this change, when a transaction failed, we update related placements shard states
to FILE_INACTIVE during XACT_EVENT_PRE_COMMIT. However that means if another code block
changed shard state to something else (e.g. FILE_TO_DELETE) before XACT_EVENT_PRE_COMMIT
we overwrite that. To prevent that problem, in case of failure we started to change
shard state, only if its current shard state is FILE_FINALIZED.
2017-01-23 21:04:57 +03:00
Burak Yucesoy 02880a717b Add LoadShardPlacement UDF
This UDF returns a shard placement from cache given shard id and placement id. At the
moment it iterates over all shard placements of given shard by ShardPlacementList and
searches given placement id in that list, which is not a good solution performance-wise.
However, currently, this function will be used only when there is a failed transaction.
If a need arises we can optimize this function in the future.
2017-01-23 21:04:57 +03:00
Marco Slot 78e3d8c2bb Merge pull request #1158 from citusdata/convert_multi_shard
Use placement connection API for multi-shard transactions
2017-01-23 18:55:16 +01:00
Marco Slot cff95c310e Use placement connection API for multi-shard transactions 2017-01-23 18:34:50 +01:00