Commit Graph

2662 Commits (ea2e010d42cd65a16643649f3e0020f490773bcc)

Author SHA1 Message Date
Nils Dijk e17d98b0e3
Merge pull request #2486 from citusdata/fix/create-distributed-table-as-owner
Fix create_distributed_table as non-table-owner
2018-11-29 16:16:34 +01:00
Nils Dijk 9309e63156
create_distributed_table as user, change table ownership during create 2018-11-29 14:20:42 +01:00
Nils Dijk 6aa191f72c
remove table_ddl_command_array and test master_get_table_ddl_events 2018-11-29 14:20:42 +01:00
Murat Tuncer cc2422efee
Merge pull request #2505 from citusdata/fix_stat_statements_view
Fix citus_stat_statements view
2018-11-29 16:16:52 +03:00
Murat Tuncer fd868ec268 Fix citus_stat_statements view
Join between pg_stat_statements and citus_query_stats should
include queryid, dbid, userid instead of just queryid.
2018-11-29 14:49:16 +03:00
Marco Slot a378a11da0
Merge pull request #2493 from citusdata/allow-adding-node-in-any-group
Refrain from having a strong opinion on maxGroupId.
2018-11-28 16:25:15 +01:00
Marco Slot 435a036328
Merge pull request #2494 from citusdata/notsolocky
Relax multi-shard modify locks when enable_deadlock_prevention is disabled
2018-11-28 15:21:44 +01:00
Jason Petersen e8f3b32b64
Add changelog entry for 8.0.1 2018-11-27 23:09:41 -07:00
Jason Petersen 70a65c0d10 Add changelog entry for 7.5.3 2018-11-27 21:28:50 -07:00
Dimitri Fontaine 5ae2d03881 Refrain from having a strong opinion on maxGroupId.
When initializing a Citus formation automatically from an external piece of
software such as Citus-HA, the following process process may be used:

  - decide on the groupId in the external software
  - SELECT * FROM master_add_inactive_node('localhost', 9701, groupid => X)

When Citus checks for maxGroupId, it forbids other software to pick their
own group Ids to ues with the master_add_inactive_node() API.

This patch removes the extra testing around maxGroupId.
2018-11-28 04:29:15 +01:00
Marco Slot 0393910c65 Shard IDs in isolation_citus_dist_stat_activity output changed 2018-11-28 02:59:50 +01:00
Marco Slot aff37cf1bc Control multi-shard modify locks with enable_deadlock_prevention 2018-11-28 02:59:50 +01:00
Marco Slot 6fd5c73444
Merge pull request #2492 from citusdata/udf_cleanup
Clean up UDFs and revoke unnecessary permissions
2018-11-26 14:21:34 +01:00
Marco Slot 1ec5b6c890 Remove old worker_hash_partition_table API 2018-11-26 14:40:37 +01:00
Marco Slot 5a63deab2e Clean up UDFs and remove unnecessary permissions 2018-11-26 14:40:37 +01:00
hanefi 27930aa462
Merge pull request #2488 from citusdata/validate_constraint
Validate Constraint Support
2018-11-26 15:20:01 +03:00
Hanefi Onaldi 448b241ab4 validate query isolation tests 2018-11-26 14:04:51 +03:00
Hanefi Onaldi 4edb193f25 make the tests parallelizeable
helper view table_fkeys_in_workers now allows filtering by schema so that a test case can print out foreign keys in its schema only
2018-11-26 14:04:51 +03:00
Hanefi Onaldi b3d897039a constraint validation regression tests 2018-11-26 14:04:51 +03:00
Hanefi Onaldi 7db6991dc0 propagate validate queries to workers 2018-11-26 14:04:51 +03:00
Marco Slot 2afbb89673
Merge pull request #2490 from citusdata/fix_tt_protocol
Check ownership in task-tracker protocol functions
2018-11-26 11:45:50 +01:00
Marco Slot e8e956aa9f Require superuser when using non-existent job schema in worker_merge_files_into_table 2018-11-24 02:57:16 +01:00
Marco Slot 711eef611f
Merge pull request #2489 from citusdata/task_tracker_suffix
Add user ID suffix to intermediate files in task-tracker
2018-11-23 14:17:37 +01:00
Marco Slot c4ad899dd8 Check schema ownership in worker_merge_* functions 2018-11-23 11:05:09 +01:00
Marco Slot e9a7295ead Add multi-user tests for task-tracker protocol functions 2018-11-23 11:05:09 +01:00
Marco Slot 8e93fe5870 Check schema owner in task_tracker_assign_task 2018-11-23 11:05:09 +01:00
Marco Slot ec957a833a Check permission in task_tracker_task_status 2018-11-23 11:04:58 +01:00
Marco Slot 4245032849 Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00
Marco Slot 6aa5592e52 Add user ID suffix to intermediate files in re-partition jobs 2018-11-23 08:36:11 +01:00
Marco Slot f608739b4f
Merge pull request #2487 from citusdata/task_result_udf
Execute SQL tasks using worker_execute_sql_task UDF when using task-tracker
2018-11-22 18:10:04 +01:00
Marco Slot a59bf31c76 Use worker_execute_sql_task UDF in task-tracker executor 2018-11-22 18:15:33 +01:00
Marco Slot 30bad7e66f Add worker_execute_sql_task UDF 2018-11-22 18:15:33 +01:00
Marco Slot e3521ce320 Test current user in task-tracker queries 2018-11-22 18:15:33 +01:00
Marco Slot caf402d506 COPY to a task file no longer switches to superuser 2018-11-22 18:15:33 +01:00
Marco Slot 9ff6f1c552
Merge pull request #2483 from citusdata/fix_udf_permissions
Fix permissions checks in lesser-known UDFs
2018-11-20 14:51:57 +01:00
Marco Slot e17025e1d4 Check table ownership in mark_tables_colocated 2018-11-18 00:11:38 +01:00
Marco Slot 18acd00553 Check permissions in lock_relation_if_exists 2018-11-18 00:11:38 +01:00
Marco Slot aab9f623eb Check table ownership in upgrade_to_reference_table 2018-11-16 23:27:34 +01:00
Önder Kalacı fc9f981525
Merge pull request #2475 from citusdata/fix_some_user_permission_bugx
Fix permissions checks in UDFs called from the drop table trigger
2018-11-15 16:46:38 +01:00
Onder Kalaci 052ba21b19 Make sure to prevent unauthorized users to drop sequences in Citus MX 2018-11-15 18:08:04 +03:00
Onder Kalaci 7f0a57a153 Make sure to prevent unauthorized users to drop tables in Citus MX 2018-11-15 18:07:03 +03:00
Nils Dijk f9520be011
Round robin queries to reference tables with task_assignment_policy set to `round-robin` (#2472)
Description: Support round-robin `task_assignment_policy` for queries to reference tables.

This PR allows users to query multiple placements of shards in a round robin fashion. When `citus.task_assignment_policy` is set to `'round-robin'` the planner will use a round robin scheduling feature when multiple shard placements are available.

The primary use-case is spreading the load of reference table queries to all the nodes in the cluster instead of hammering only the first placement of the reference table. Since reference tables share the same path for selecting the shards with single shard queries that have multiple placements (`citus.shard_replication_factor > 1`) this setting also allows users to spread the query load on these shards.

For modifying queries we do not apply a round-robin strategy. This would be negated by an extra reordering step in the executor for such queries where a `first-replica` strategy is enforced.
2018-11-15 15:11:15 +01:00
Murat Tuncer 5f821e6f64
Merge pull request #2468 from citusdata/update_who_uses_citus
Expand who is using Citus section in readme
2018-11-15 15:11:02 +03:00
Murat Tuncer 58cb473958 Expand who is using Citus section in readme
- add new users (Pex, Algolia, Copper) to who is using Citus part
- add a reference to more use cases in Citus web page
2018-11-15 14:42:54 +03:00
Marco Slot 586f398b47
Merge pull request #2473 from citusdata/node_udf_permissions
Use function permissions to guard node metadata functions
2018-11-15 12:23:53 +01:00
Marco Slot 2de8ef29c3 Revoke function permissions for node metadata functions 2018-11-15 06:25:07 +01:00
Burak Velioglu ef24895add
Merge pull request #2478 from citusdata/master-8.0.0-14112018
Add changelog entry for 7.5.2
2018-11-14 23:31:19 +03:00
velioglu 9b5e4942a0 Add changelog entry for 7.5.2 2018-11-14 21:26:29 +03:00
Nils Dijk bafec7ea48
Merge pull request #2469 from citusdata/refactor/commands-extract
Refactor the UtilityProcess function into its own module
2018-11-14 15:08:06 +01:00
Marco Slot f383e4f307
Description: Refactor code that handles DDL commands from one file into a module
The file handling the utility functions (DDL) for citus organically grew over time and became unreasonably large. This refactor takes that file and refactored the functionality into separate files per command. Initially modeled after the directory and file layout that can be found in postgres.

Although the size of the change is quite big there are barely any code changes. Only one two functions have been added for readability purposes:

- PostProcessIndexStmt which is extracted from PostProcessUtility
- PostProcessAlterTableStmt which is extracted from multi_ProcessUtility

A README.md has been added to `src/backend/distributed/commands` describing the contents of the module and every file in the module.
We need more documentation around the overloading of the COPY command, for now the boilerplate has been added for people with better knowledge to fill out.
2018-11-14 13:36:27 +01:00