Commit Graph

5637 Commits (2458e50a6bd4b7efe8f64556166de07cd05dd3e1)

Author SHA1 Message Date
jeff-davis 2e03efd91e
Columnar: move DDL hooks to citus to remove dependency. (#5547)
Add a new hook ColumnarTableSetOptions_hook so that citus can get
control when the columnar table options change.
2022-01-04 23:26:46 -08:00
jeff-davis c9292cfad1
Make pg_version_compat.h and listutils.c dependency-free. (#5548)
Split distributed/version_compat.h into dependency-free
pg_version_compat.h, and the original which still has
dependencies. The original doesn't have much purpose, but until other
files have better discipline about including the correct header files,
then it's still needed.

Also make distributed/listutils.h dependency-free. Should be moved
outside of 'distributed' subdirectory, but that will cause significant
code churn, so leave for another cleanup patch.

Now both files can be included in columnar without creating a
dependency on citus.
2022-01-04 23:02:08 -08:00
jeff-davis 1546aa0d9f
Columnar: use proper generic WAL interface. (#5543)
Previously, we cheated by using the RM_GENERIC_ID record type, but not
actually using the generic WAL API. This worked because we always took
a full page image, and saved the extra work of allocating and copying
to a temporary page.

But it introduced complexity, and perhaps fragility, so better to just
use the API properly. The performance penalty for a serial data load
seems to be less than 1%.
2022-01-04 22:42:21 -08:00
Jan Piotrowski 61930e81ad
docs(README): Fix "Why Citus?" indentation 2022-01-04 17:22:56 +01:00
Önder Kalacı afd53e4c54
Merge pull request #5591 from citusdata/unify_tests
Make sure that the community and enterprise tests produce the same output
2022-01-04 14:11:24 +01:00
Onder Kalaci 22b5175fd1 Make sure that the community and enterprise tests produce the same output 2022-01-04 13:30:31 +01: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
Gürkan İndibay 30eb24009c
Adds new badges into README (#5590) 2022-01-04 13:38:41 +03: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
Gürkan İndibay 29dd7dfe05
Adds stackoverflow badge into README.md (#5589) 2022-01-04 10:42:18 +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
Halil Ozan Akgül 9cccaa11d3
Merge pull request #5587 from citusdata/add_isolation_check_mx
Add isolation_check_mx test
2021-12-30 15:31:58 +03:00
Halil Ozan Akgul 9547228e8d Add isolation_check_mx test 2021-12-30 14:58:30 +03:00
Burak Velioglu 848d13f6eb
Changes depending on the discussion 2021-12-30 14:38:31 +03:00
Halil Ozan Akgül 41b4462f6e
Merge pull request #5580 from citusdata/fix_metadata_sync_fails_on_multi_transaction_recovery
Fix metadata sync fails on multi_transaction_recovery
2021-12-29 11:35:05 +03:00
Halil Ozan Akgul aef2d83c7d Fix metadata sync fails on multi_transaction_recovery 2021-12-29 11:21:32 +03:00
Burak Velioglu a348b6b097
Comment out failing test 2021-12-28 16:28:28 +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
Burak Velioglu d912cd9a9b
Update todos 2021-12-28 11:27:12 +03:00
Burak Velioglu cfe3f97faf
Create shell always for dist and reference table 2021-12-28 11:08:27 +03:00
Burak Velioglu d18525a906
Create shell always for local table 2021-12-28 10:58:35 +03:00
Burak Velioglu 416196b9be
Unmark dropped tabled on worker 2021-12-28 10:52:31 +03:00
Burak Velioglu 880533a609
Divide object and metadata handling 2021-12-27 18:14:51 +03:00
Önder Kalacı d33650d1c1
Record if any partitioned Citus tables during upgrade (#5555)
With Citus 11, the default behavior is to sync the metadata.
However, partitioned tables created pre-Citus 11 might have
index names that are not compatiable with metadata syncing.

See https://github.com/citusdata/citus/issues/4962 for the
details.

With this commit, we record the existence of partitioned tables
such that we can fix it later if any exists.
2021-12-27 03:33:34 -08:00
Halil Ozan Akgül c43b6613d0
Merge pull request #5576 from citusdata/fix_metadata_sync_fails_on_multi_truncate
Fix metadata sync fails on multi_truncate
2021-12-27 14:08:18 +03:00
Halil Ozan Akgul 0c292a74f5 Fix metadata sync fails on multi_truncate 2021-12-27 13:54:53 +03:00
Önder Kalacı c9127f921f
Avoid round trips while fixing index names (#5549)
With this commit, fix_partition_shard_index_names()
works significantly faster.

For example,

32 shards, 365 partitions, 5 indexes drop from ~120 seconds to ~44 seconds
32 shards, 1095 partitions, 5 indexes drop from ~600 seconds to ~265 seconds

`queryStringList` can be really long, because it may contain #partitions * #indexes entries.

Before this change, we were actually going through the executor where each command
in the query string triggers 1 round trip per entry in queryStringList.

The aim of this commit is to avoid the round-trips by creating a single query string.

I first simply tried sending `q1;q2;..;qn` . However, the executor is designed to
handle `q1;q2;..;qn` type of query executions via the infrastructure mentioned
above (e.g., by tracking the query indexes in the list and doing 1 statement
per round trip).

One another option could have been to change the executor such that only track
the query index when `queryStringList` is provided not with queryString
including multiple `;`s . That is (a) more work (b) could cause weird edge
cases with failure handling (c) felt like coding a special case in to the executor
2021-12-27 10:29:37 +01:00
Halil Ozan Akgül e3d1a42f81
Merge pull request #5574 from citusdata/fix_metadata_sync_fails_on_multi_function_evaluation
Fix metadata sync fails on multi_function_evaluation
2021-12-27 10:53:04 +03:00
Halil Ozan Akgul bb636e6a29 Fix metadata sync fails on multi_function_evaluation 2021-12-24 19:32:58 +03:00
Halil Ozan Akgül 7e851d2b9b
Merge pull request #5553 from citusdata/fix_metadata_sync_fails_on_multi_sequence_default
Fix metadata sync fails on multi_sequence_default and multi_name_lengths
2021-12-24 17:33:37 +03:00
Halil Ozan Akgul 70e68d5312 Fix metadata sync fails on multi_name_lengths 2021-12-24 14:33:32 +03:00
Halil Ozan Akgul 5c2fb06322 Fix metadata sync fails on multi_sequence_default 2021-12-24 14:33:32 +03:00
Hanefi Onaldi caffaa8517
Merge pull request #5561 from citusdata/improve-circleci-config 2021-12-24 13:20:50 +03:00
Hanefi Onaldi 9ad29e5a9d
Improve CircleCI configs
- Parameterize PG versions
- Use single parens for consistency
- Fix spacing issues
- Remove unsupported attributes
- Compact check-style steps
- Parameterize PG versions for upgrade tests
2021-12-24 13:10:27 +03:00
Halil Ozan Akgül 7f82400352
Merge pull request #5558 from citusdata/turn_metadata_sync_on_in_multi_metadata_sync
Turn metadata sync on in multi_metadata_sync
2021-12-24 11:05:25 +03:00
Halil Ozan Akgul b9c06a6762 Turn metadata sync on in multi_metadata_sync 2021-12-24 10:58:13 +03:00
Hanefi Onaldi 479b2da740 Fix one flaky failure test 2021-12-23 20:11:45 +03:00
Ahmet Gedemenli 63626d4995
Merge pull request #5468 from citusdata/propagate-foreign-server-ops
Propagate foreign server ops
2021-12-23 19:04:52 +03:00
Ahmet Gedemenli 042d45b263 Propagate foreign server ops 2021-12-23 17:54:04 +03:00
Burak Velioglu 6598a23963
Dependency update 2021-12-23 17:46:37 +03:00
Onur Tirtir 61b5fb1cfc
Run failure_test_helpers in base schedule (#5559) 2021-12-23 12:54:12 +01:00
Talha Nisanci e196d23854
Refactor AttributeEquivalenceId (#5006) 2021-12-23 13:19:02 +03:00
Hanefi Onaldi 76176caea7 Fix typo s/exlusive/exclusive/ 2021-12-23 01:35:01 +03:00
Burak Velioglu 48c5ce8960
Dist table refactor 2021-12-23 00:16:38 +03:00
Burak Velioglu a448ca01bc
Add TODOs 2021-12-22 21:40:04 +03:00