Commit Graph

312 Commits (05b4711962d7999d918d10d6b50605c857fddce6)

Author SHA1 Message Date
Burak Velioglu 05b4711962
Use function to get inter table relation 2022-01-20 01:47:37 +03:00
Burak Velioglu 3dbaf5886b
Address reviews 2022-01-20 01:17:26 +03:00
Burak Velioglu a46ae3bee0
Fix style 2022-01-20 01:05:06 +03:00
Burak Velioglu d93b46559e
Rename metadata to node metadata on multiple points 2022-01-20 01:02:58 +03:00
Burak Velioglu 09cfb24b16
Update should sync check
src/backend/distributed/test/distributed_intermediate_results-29ca979d.o.tmp
2022-01-20 00:31:06 +03:00
Burak Velioglu f509cd6660
Revert it back 2022-01-20 00:02:14 +03:00
Burak Velioglu 72caebec3a
Use func to get dep def list 2022-01-19 23:50:27 +03:00
Burak Velioglu 97a1720a17
Address reviews 2022-01-19 23:31:14 +03:00
Burak Velioglu 065db645b9
Move table related part out from metadata 2022-01-19 14:27:13 +03:00
Burak Velioglu 7b84c72aae
Address reviews 2022-01-19 11:26:12 +03:00
Burak Velioglu 34edc252a9
Merge branch 'master' into velioglu/table_wo_seq_prototype 2022-01-17 23:58:07 +03:00
Burak Velioglu 9e81344eaa
Fix metadata sync 2022-01-17 23:41:56 +03:00
Ahmet Gedemenli e564220dd5
Fix typo: GetRelationTriggerFunctionDependencyList (#5626) 2022-01-17 18:17:07 +03:00
Burak Velioglu 1f83607224
Comment out master_create_dist_table check 2022-01-17 17:13:27 +03:00
Burak Velioglu 4dab78a55a
Minor updates 2022-01-17 16:40:50 +03:00
Ahmet Gedemenli 8936543b80
Create wrapper function CreateObjectAddressDependencyDefList (#5623) 2022-01-17 15:35:40 +03:00
Burak Velioglu 5d1eae732c
Update metadata sync function names 2022-01-17 15:02:53 +03:00
Burak Velioglu 1ebc2fd6c5
activate_node_snapshot 2022-01-17 11:38:08 +03:00
Burak Velioglu 6fd5f8e658
Move functions 2022-01-16 23:54:04 +03:00
Burak Velioglu aedd09ffdf
Separate command list generation and execution 2022-01-16 23:49:31 +03:00
Burak Velioglu 381871890f
Move DetachPartitionCommandList back 2022-01-16 21:20:39 +03:00
Burak Velioglu e107fb7519
Move DistributedObjectMetadataSyncCommandList back 2022-01-16 21:02:16 +03:00
Burak Velioglu 04511cc5e0
Adress reviews 2022-01-16 16:44:21 +03:00
Burak Velioglu 5e2e5c3470
Fix indentation for shell table func 2022-01-16 16:24:59 +03:00
Burak Velioglu 427bdf08a0
Use function to get seq dep definition list 2022-01-16 16:15:01 +03:00
Burak Velioglu 02526f1bee
Minor refactors 2022-01-13 01:01:47 +03:00
Burak Velioglu 9fc09947ed
Citus indent 2022-01-12 15:26:01 +03:00
Burak Velioglu ad67942cda
Sequence and add node fix 2022-01-12 15:24:09 +03:00
Burak Velioglu 2b513c4100
Merge branch 'master' into velioglu/table_wo_seq_prototype 2022-01-11 11:35:32 +03:00
Burak Velioglu f3522763e5
Remove hacky group id check and unused UDFs 2022-01-11 11:22:45 +03:00
Burak Velioglu 697d1468fe
Use coordianated transaction for object prop 2022-01-10 22:08:43 +03:00
Önder Kalacı 885601c02c
Require superuser while activating a node (#5609)
* Require superuser while activating a node

With this change, we require ActiveNode() (hence citus_add_node(),
citus_activate_node()) explicitly require for a superuser.

Before this commit, these functions were designed to work with
non-superuser roles with the relevent GRANTs given.

However, that is not a widely used way for calling the functions
above.

Due to possibility of non-super user calling the UDFs, they were
designed in a way that some commands were using some additional
short-lived superuser connections. That is:
	(a) breaking transactional behavior (e.g., ROLLBACK
 	    wouldn't fully rollback the whole transaction)
        (b) Making it very complicated to reason about which
	    parts of the node activation goes over which connections,
	    and becoming vulnerable to deadlocks / visibility issues.
2022-01-10 08:30:13 -08:00
Burak Velioglu 76e1e1fd6b
Add adjust sequence settings and update tests 2022-01-09 19:35:07 +03:00
Burak Velioglu 8006765504
Handle foreign tables and update tests 2022-01-07 15:48:20 +03:00
Burak Velioglu 36fb662bf4
Merge branch 'master' into velioglu/table_wo_seq_prototype 2022-01-07 12:43:35 +03:00
Burak Velioglu 1383c442ea
Update multiple table integration sync 2022-01-07 12:18:06 +03:00
Onder Kalaci 9f2d9e1487 Move placement deletion from disable node to activate node
We prefer the background daemon to only sync node metadata. That's
why we move placement metadata changes from disable node to
activate node. With that, we can make sure that disable node
only changes node metadata, whereas activate node syncs all
the metadata changes. In essence, we already expect all
nodes to be up when a node is activated. So, this does not change
the behavior much.
2022-01-07 09:56:03 +01:00
Ahmet Gedemenli 45e423136c
Support foreign tables in MX (#5461) 2022-01-06 18:50:34 +03:00
Önder Kalacı 5305aa4246
Do not drop sequences when dropping metadata (#5584)
Dropping sequences means we need to recreate
and hence losing the sequence.

With this commit, we keep the existing sequences
such that resyncing wouldn't drop the sequence.

We do that by breaking the dependency of the sequence
from the table.
2022-01-06 09:48:34 +01:00
Burak Velioglu 299043dfaa
Update activate node 2022-01-05 16:33:11 +03:00
Önder Kalacı 0a8b0b06c6
Do not allow distributed functions on non-metadata synced nodes (#5586)
Before this commit, Citus was triggering metadata syncing
in the background when a function is distributed. However,
with Citus 11, we expect all clusters to have metadata synced
enabled. So, we do not expect any nodes not to have the metadata.

This change:
	(a) pro: simplifies the code and opens up possibilities
		 to simplify futher by reducing the scope of
		 bg worker to only sync node metadata
        (b) pro: explicitly asks users to sync the metadata such that
  	    any unforseen impact can be easily detected
        (c) con: For distributed functions without distribution
		 argument, we do not necessarily require the metadata
		 sycned. However, for completeness and simplicity, we
		 do so.
2022-01-04 13:12:57 +01:00
Burak Velioglu c60f77bb99
Merge branch 'master' into velioglu/table_wo_seq_prototype 2022-01-04 12:53:14 +03:00
Burak Velioglu 320a8ecdea
Check groupid existence hackily while removing metadata 2022-01-04 12:04:33 +03:00
Burak Velioglu 7e3f2486f3
Remove metadata by checking isactive 2022-01-03 17:55:26 +03:00
Burak Velioglu 070e2afbe5
Remove placements wisely 2021-12-31 17:50:35 +03:00
Burak Velioglu 596e49db8c
Citus Indent 2021-12-31 13:16:30 +03:00
Burak Velioglu 3c1361dd4d
Move detach partition command list 2021-12-31 13:08:00 +03:00
Burak Velioglu 848d13f6eb
Changes depending on the discussion 2021-12-30 14:38:31 +03:00
Burak Velioglu cc68e87903
Citus indent 2021-12-28 12:48:20 +03:00
Burak Velioglu e610a147a1
Remove unnecessary comments on tests 2021-12-28 11:37:02 +03:00