Commit Graph

3808 Commits (c51ec26e0f16d8c618429ce1e7a36e63c45c5ab2)

Author SHA1 Message Date
Gokhan Gulbiz c51ec26e0f
Update stretch repositories and install dependencies (git)
(cherry picked from commit 3eb4f471f9)
2023-11-02 10:44:37 +03:00
Gokhan Gulbiz 3f8e0c414f
Adjust check-style
(cherry picked from commit 5d7924e7c7)
2023-11-02 10:44:29 +03:00
Gokhan Gulbiz 70781c3aa1
Remove code climate coverage
(cherry picked from commit 512d185cc3)
2023-11-02 10:44:20 +03:00
Gokhan Gulbiz 0d8a3c0817
Remove flaky test section
(cherry picked from commit d69fe364f4)
2023-11-02 10:44:12 +03:00
Gokhan Gulbiz cb533fcb31
Remove upload-coverage section
(cherry picked from commit ec531c4afb)
2023-11-02 10:43:23 +03:00
Gokhan Gulbiz a240c2c645
Remove test-arbitrary-configs section
(cherry picked from commit 344bc5b86e)
2023-11-02 10:41:03 +03:00
Gokhan Gulbiz b106e54bed
Disable CircleCI (#7276)
We are switching to Github Actions. In the test period it has worked well enough, so now we can stop using CircleCI.

(cherry picked from commit ce58c04304)
2023-11-02 10:36:24 +03:00
Jelte Fennema-Nio c473096467
Only put major Postgres version in CI task name (#7289)
Making tasks in CI required before merging to master is important and
useful. The way this works is by saving the exact names of the required
tasks in the admin interface of the repo. It has a search box to add
them so it's not completely horrible, but doing so is quite a hassle
since we have so many jobs. So limiting the amount of churn in this list
of required jobs is quite useful.

This changes the names of tasks to only include the major versions of
Postgres, not the minor ones. Otherwise the next time we bump the minor
versions we would have to remove and re-add each of the jobs.

(cherry picked from commit 83e3fb817d)
2023-11-02 10:35:47 +03:00
Gokhan Gulbiz 2ca304bbaa
Move GHA environment variables to workflow file (#7275)
Since GHA does not interpolate env variables in a matrix context, This
PR defines them in a separate job and uses them in other jobs.

(cherry picked from commit 2bf1472c8e)
2023-11-02 10:35:30 +03:00
Gokhan Gulbiz d901fac1fc
CircleCI to GHA migration (#7154)
Co-authored-by: Hanefi Onaldi <Hanefi.Onaldi@microsoft.com>
(cherry picked from commit e0b0cdbb87)
2023-11-02 10:34:53 +03:00
Nils Dijk 81564452d8
Fix CI on release branch 9.4 (#5942) 2022-05-13 14:54:54 +02:00
Sait Talha Nisanci 8a400c4175 Add the NOTICE file
(cherry picked from commit 5f436e10d0)
2021-11-19 09:43:33 +00:00
Sait Talha Nisanci 5a694a24d0 Add component governance config
This config is used to generate components on ADO(Azure devops).
Currently this might not be super useful because we don't really use ADO
but when run, we can see the warnings/issues with components that we
use. A component is like a dependency basically.

(cherry picked from commit 7c11aa124b)
2021-11-19 09:43:32 +00:00
Marco Slot 9747961c04 Small fix to PG12 compatibility 2021-09-10 14:20:43 +02:00
Marco Slot 0da06876a3 Avoid switch to superuser in worker_merge_files_into_table 2021-09-10 13:46:24 +02:00
Marco Slot 7915f15637 Add worker_append_table_to_shard permissions tests 2021-09-10 13:46:24 +02:00
Marco Slot 13f78d0a2b Perform copy command as regular user in worker_append_table_to_shard 2021-09-10 13:46:24 +02:00
Hanefi Onaldi a9c5925d2e
Bump Citus version to 9.4.6 2021-08-11 11:03:35 +03:00
Hanefi Onaldi 800bb6289d
Add changelog entries for 9.4.6
(cherry picked from commit c6e428896a)
2021-08-11 11:01:19 +03:00
Onder Kalaci 1f1fd4434d Guard against hard WaitEvenSet errors
In short, add wrappers around Postgres' AddWaitEventToSet() and
ModifyWaitEvent().

AddWaitEventToSet()/ModifyWaitEvent*() may throw hard errors. For
example, when the underlying socket for a connection is closed by
the remote server and already reflected by the OS, however
Citus hasn't had a chance to get this information. In that case,
if replication factor is >1, Citus can failover to other nodes
for executing the query. Even if replication factor = 1, Citus
can give much nicer errors.

So CitusAddWaitEventSetToSet()/CitusModifyWaitEvent() simply puts
AddWaitEventToSet()/ModifyWaitEvent() into a PG_TRY/PG_CATCH block
in order to catch any hard errors, and returns this information to
the caller.
2021-08-10 09:48:59 +02:00
naisila c272bfcd63 Bump use of new sql function 2021-08-03 16:44:12 +03:00
naisila c2c71eec9e Fix master_update_table_statistics scripts for 9.4 2021-08-03 16:44:12 +03:00
naisila 81bed61b4e Reimplement master_update_table_statistics to detect dist. deadlocks
(ALL CODE BORROWED from commit 2f30614fe3)
2021-08-03 16:44:12 +03:00
Onur Tirtir acdecc8fe5 Remove fkey graph visited flags & rework GetConnectedListHelper (#4446)
With this commit, we remove visited flags from ForeignConstraintRelationshipNode
struct since keeping local state in global object is both dangerous and
meaningless.

Also to improve readability, this commit also converts needless recursion to
iterative DFS to avoid passing local hash-map as another parameter to
GetConnectedListHelper function.
(cherry picked from commit 0db21bbe14)
2021-08-03 16:44:12 +03:00
Onur Tirtir 6b1a146df1 Refactor foreign_key_relationship.c (#4438)
(cherry picked from commit 3f60b08b11)
2021-08-03 16:44:12 +03:00
naisila dd619e3f72 Add OpenConnectionToNodes and functions that generate shard queries
(ALL CODE BORROWED from commit 724d56f949)
2021-08-03 16:44:12 +03:00
Hanefi Onaldi 2a17fdbb88
Bump Citus version to 9.4.5 2021-07-08 09:51:28 +03:00
Hanefi Onaldi cdf8a123c6
Add changelog entry for 9.4.5
(cherry picked from commit 80a5539671)
2021-07-08 09:51:12 +03:00
Nils Dijk 46bc57a99a Bump use of new sql function 2021-07-05 16:15:51 +02:00
Marco Slot 1a21c524b7 Fix PG upgrade scripts for 9.4 2021-07-05 16:15:51 +02:00
Onur Tirtir be3da3901e Fix lower boundary calculation when pruning range dist table shards (#5082)
This happens only when we have a "<" or "<=" filter on distribution
column of a range distributed table and that filter falls in between
two shards.

When the filter falls in between two shards:

  If the filter is ">" or ">=", then UpperShardBoundary was
  returning "upperBoundIndex - 1", where upperBoundIndex is
  exclusive shard index used during binary seach.
  This is expected since upperBoundIndex is an exclusive
  index.

  If the filter is "<" or "<=", then LowerShardBoundary was
  returning "lowerBoundIndex + 1", where lowerBoundIndex is
  inclusive shard index used during binary seach.
  On the other hand, since lowerBoundIndex is an inclusive
  index, we should just return lowerBoundIndex instead of
  doing "+ 1". Before this commit, we were missing leftmost
  shard in such queries.

* Remove useless conditional branches

The branch that we delete from UpperShardBoundary was obviously useless.

The other one in LowerShardBoundary became useless after we remove "+ 1"
from there.

This indeed is another proof of what & how we are fixing with this pr.

* Improve comments and add more

* Add some tests for upper bound calculation too

(cherry picked from commit b118d4188e)

* Also fix a debug message diff for 9.4
2021-07-02 14:59:36 +03:00
Hanefi Onaldi 6348efca64 Do not use security flags by default (#4770)
(cherry picked from commit 697bbbd3c6)
2021-03-04 01:08:48 +03:00
Hanefi Onaldi 0e147f9c8c Add security flags in configure scripts (#4760)
(cherry picked from commit f87107eb6b)
2021-03-04 01:07:26 +03:00
Onder Kalaci 281460fbaa Do not connection re-use for intermediate results
/*
 * Colocated intermediate results are just files and not required to use
 * the same connections with their co-located shards. So, we are free to
 * use any connection we can get.
 *
 * Also, the current connection re-use logic does not know how to handle
 * intermediate results as the intermediate results always truncates the
 * existing files. That's why, we use one connection per intermediate
 * result.
 */

(cherry picked from commit 5d5a357487)
2021-02-11 17:13:55 +01:00
Onder Kalaci 3065966d13 When reaches to executor pool size, COPY sets the placement access
It looks like we forgot to set the placement accesses, and
this could lead to self-deadlocks on complex transaction blocks.

(cherry picked from commit 36bdeef1bb)
2021-02-02 10:17:28 +01:00
Gürkan İndibay d0000a15bd
Bump version to 9.4.4 (#4468)
Update configuration files version info
2021-01-04 13:56:34 +03:00
gurkanindibay a5adc49077 Add changelog entry for version 9.4.4
Conflicts:
	CHANGELOG.md

 Committing a cherry-pick with sha 19977792d8
2020-12-30 13:12:58 +00:00
Onur Tirtir 7233c27533 Not consider single shard hash dist. tables as replicated (#4413)
(cherry picked from commit 0eb5701658)
2020-12-22 16:59:32 +03:00
Onur Tirtir 51f422f3c6
Add some more tests with views to test recursive planning on views (#4404) 2020-12-18 17:42:35 +03:00
Marco Slot 8fae9aae96
Reliably detect local tables in router queries in 9.4 (#4418)
Co-authored-by: Marco Slot <marco.slot@gmail.com>
2020-12-17 13:38:16 +01:00
Onur Tirtir 59774b1dd4 Handle invalid connection hash entries (#4362)
If MemoryContextAlloc errors out -e.g. during an OOM-, ConnectionHashEntry->connections
stays as NULL.

With this commit, we add isValid flag to ConnectionHashEntry that should be set to true
right after we allocate & initialize ConnectionHashEntry->connections list properly, and we
check it before accesing to ConnectionHashEntry->connections.
(cherry picked from commit 7f3d1182ed)

 Conflicts:
	src/backend/distributed/connection/connection_management.c
2020-12-01 11:09:33 +03:00
Onur Tirtir 221aa1a381 Update CHANGELOG for 9.4.3
(cherry picked from commit 76a429f19b)

 Conflicts:
	CHANGELOG.md
2020-11-24 13:21:08 +03:00
Onur Tirtir 7e99324bd9 Bump version to 9.4.3 2020-11-24 12:19:15 +03:00
Önder Kalacı 447c7ecdd4 Enable parallel query on EXPLAIN ANALYZE (#4325)
It seems that we forgot to pass the revelant
flag to enable Postgres' parallel query
capabilities on the shards when user does
EXPLAIN ANALYZE on a distributed table.

(cherry picked from commit b0ddbbd33a)

 Conflicts:
	src/backend/distributed/planner/multi_explain.c
2020-11-24 12:19:15 +03:00
Onder Kalaci a943696c44 Do not execute subplans multiple times with cursors
Before this commit, we let AdaptiveExecutorPreExecutorRun()
to be effective multiple times on every FETCH on cursors.
That does not affect the correctness of the query results,
but adds significant overhead.

(cherry picked from commit c433c66f2b)
2020-11-23 13:43:24 +03:00
Onur Tirtir ca2bbd89b6 Update CHANGELOG for 9.4.2
(cherry picked from commit c7755103f1)
2020-10-21 15:29:24 +03:00
Onur Tirtir 3d2e1a7464 Bump version to 9.4.2 2020-10-21 15:28:12 +03:00
Marco Slot b7b7b66beb Support reference table view in reference table modification 2020-10-16 13:16:16 +02:00
Marco Slot f6e5006dfd Fix a bug that could lead to multiple maintenance daemons 2020-10-16 13:15:51 +02:00
Marco Slot 03e4bec352 Add maintenance daemon error tests 2020-10-16 13:15:39 +02:00