Commit Graph

1490 Commits (636faadc4775b17ca7955f4447f136c3d248c6f0)

Author SHA1 Message Date
mehmet furkan şahin 636faadc47 create_distributed_table vs create_distributed_table, master_append_table_to_shard vs master_apply_delete_command, master_apply_delete_command vs master_apply_delete_command are added 2017-11-20 11:45:48 +03:00
mehmet furkan şahin 0722334e50 concurrent master_append_table test is added 2017-11-20 11:45:48 +03:00
mehmet furkan şahin f45988962f multi-shard update affecting the same/different rows 2017-11-20 11:45:48 +03:00
Önder Kalacı 666e37273a
Merge pull request #1809 from citusdata/get_rid_of_false_positives
Get rid of some of the false positive distributed deadlocks
2017-11-15 16:13:57 +03:00
Onder Kalaci 5bea95009b Skip autovacuum processes for distributed deadlock detection
Autovacuum process cancels itself if any modification starts
on the table in order to avoid blocking your regular Postgres
sessions. That's normal and expected. Thus, any locks held by
autovacuum process cannot involve in a distributed deadlock
since it'll be released if needed.
2017-11-15 14:32:16 +02:00
Onder Kalaci c65c153a46 Skip speculative locks for distributed deadlock detection
These locks are held for a very short duration time and cannot
contribute to a deadlock. Speculative locks are used by Postgres
for internal notification mechanism among transactions.
2017-11-15 12:43:45 +02:00
Marco Slot 86a70515c5
Merge pull request #1808 from citusdata/bump_72
Bump Citus version to 7.2devel
2017-11-15 11:27:56 +01:00
Marco Slot bbbadd6d1b Bump Citus version to 7.2devel 2017-11-15 10:32:49 +01:00
Marco Slot f1a05fdc14
Merge pull request #1750 from citusdata/next_shard_id
Set shard and placement IDs in regression tests using a GUC
2017-11-15 10:30:35 +01:00
Marco Slot ea306c6cfe Use citus.next_placement_id where practical in regression tests 2017-11-15 10:12:06 +01:00
Marco Slot d3b634b301 Allow generating placement IDs without using the sequence 2017-11-15 10:12:06 +01:00
Marco Slot 89eb833375 Use citus.next_shard_id where practical in regression tests 2017-11-15 10:12:05 +01:00
Marco Slot c24a0875a5 Allow generating shard IDs without using the sequence 2017-11-15 10:12:05 +01:00
Brian Cloutier 0f3230170f Pull in INT32_MAXINT and INT32_MININT 2017-11-14 14:03:46 -08:00
Brian Cloutier 0db8277266 remove unused errno import 2017-11-14 13:09:34 -08:00
Brian Cloutier 5d9f3ae7fd Remove unused poll import from multi_real_time_executor 2017-11-14 13:09:34 -08:00
Marco Slot ee9d24f77e
Merge pull request #1746 from citusdata/drop_sequence_fix
Only drop sequences on workers with metadata
2017-11-14 16:33:50 +01:00
Marco Slot 533a533565 Only drop sequences on workers with metadata 2017-11-14 16:01:56 +01:00
Burak Velioglu c7c7a33901
Merge pull request #1802 from citusdata/changelog_71
Add 7.1 changelog
2017-11-14 15:49:32 +03:00
velioglu 7b9009fe36 Add 7.1 changelog 2017-11-14 15:37:14 +03:00
Metin Döşlü 02ee714c10
Merge pull request #1790 from citusdata/add_stub_udf
Add stub UDFs to run pg_upgrade flawlessly
2017-11-13 15:30:45 +02:00
velioglu be28ba8e70 Add stub UDF to run pg_upgrade flawlessly 2017-11-13 16:14:45 +02:00
Metin Döşlü a4d3002b04
Merge pull request #1782 from citusdata/warn_on_cluster_command
Warn on CLUSTER command for distributed tables
2017-11-10 11:31:08 +02:00
metdos 111c04c2bd Warn on CLUSTER command for distributed tables 2017-11-10 12:14:45 +02:00
Burak Yücesoy cf7a4ae608
Merge pull request #1774 from citusdata/fix_partitioning_in_schema
Fix attaching partition to a distributed table in schema
2017-11-09 12:49:55 +02:00
Burak Yücesoy 863df0b874
Merge branch 'master' into fix_partitioning_in_schema 2017-11-09 12:49:35 +02:00
Burak Yucesoy 17229ed7bd Fix attaching partition to a distributed table in schema
While attaching a partition to a distributed table in schema, we mistakenly
used unqualified name to find partitioned table's oid. This caused problems
while using partitioned tables with schemas. We are fixing this issue in
this PR.
2017-11-09 13:20:29 +03:00
Önder Kalacı 14ff31704c
Merge pull request #1777 from citusdata/skip_page_locks
Skip page-level locks for distributed deadlock detection
2017-11-09 13:01:21 +03:00
Onder Kalaci 94921a2be1 Skip page-level locks on distributed deadlock detection
Short-term share/exclusive page-level locks are used for
read/write access. Locks are released immediately after
each index row is fetched or inserted.

Since those locks may not lead to any deadlocks, it's safe
to ignore them in the distributed deadlock detection.
2017-11-09 10:37:23 +02:00
Marco Slot a85a973c3e
Merge pull request #1768 from citusdata/sslmode_guc
Add GUC for specifying sslmode in connections to workers
2017-11-08 14:42:26 +01:00
Marco Slot f71728f634 Add GUC for specifying sslmode in connections to workers 2017-11-08 14:15:58 +01:00
Murat Tuncer 4e3d633ebf
Add check for connection failures during multishard update (#1765) 2017-11-07 12:33:25 +02:00
Metin Döşlü 731b1254f9
Merge pull request #1764 from citusdata/relcache_leak
Fix a relcache reference leak in stats collection.
2017-11-07 11:59:00 +02:00
Hadi Moshayedi 6d79d25101 Fix a relcache reference leak in stats collection.
In DistributedTablesSize() we didn't close the relations that had
replication factor > 2. This caused relcache reference leaks, and
warning messages like following in logs:

    WARNING:  relcache reference leak: relation "researchers" not closed
2017-11-06 23:16:43 -05:00
Metin Döşlü 5984e7f009
Merge pull request #1762 from citusdata/check_connection_status
Check connection status before using it
2017-11-06 15:50:37 +02:00
metdos c83edc36b5 Check connection status before using it 2017-11-06 14:53:35 +02:00
Murat Tuncer 2332678793
Fix intermittent test failures on count distinct tests (#1761)
Added analyze to test which seem to force planner to use index.
2017-11-06 10:58:46 +02:00
Brian Cloutier 7be1545843 Support implicit casts during INSERT/SELECT
It's possible to build INSERT SELECT queries which include implicit
casts, currently we attempt to support these by adding explicit casts to
the SELECT query, but this sometimes crashes because we don't update all
nodes with the new types. (SortClauses, for instance)

This commit removes those explicit casts and passes an unmodified SELECT
query to the COPY executor (how we implement INSERT SELECT under the
scenes). In lieu of those cases, COPY has been given some extra logic to
inspect queries, notice that the types don't line up with the table it's
supposed to be inserting into, and "manually" casting every tuple before
sending them to workers.
2017-11-03 22:27:15 -07:00
Metin Döşlü 074ae766de
Merge pull request #1751 from citusdata/build_custom_pg_at_push_builds
Use custom compiled PostgreSQL on push builds
2017-11-03 11:34:07 +02:00
Marco Slot 55baf0e754
Merge pull request #1759 from citusdata/partitioned_tables
Allow distributed partitioned table creation in Cloud
2017-11-03 10:22:22 +01:00
Marco Slot 6883a09cdd Allow distributed partitioned table creation in Cloud 2017-11-03 10:09:18 +01:00
Marco Slot 6219186683 Allow distributed INSERT...SELECT via worker nodes in MX 2017-11-02 14:38:39 +01:00
Burak Yucesoy 3cf1ef06c0 Use custom compiled PostgreSQL on push builds
Previously we compiled PostgreSQL for PR and we used already compiled
PostgreSQL packages for push builds. Compiling PostgreSQL allows us to
run isolation/vanilla tests. Thus we only ran those tests for PR builds.
We did not used compiled PostgreSQL for both builds because;
- We wanted to run our tests against packages
- Compiling takes too much time.

However, there are some benefits in using custom compiled PostgreSQL
in push builds instead of PR builds such as;
- At the moment, we do not run isolation/vanilla tests until we open a
PR, which does not make any sense.
- After merging a PR (i.e. after push to the master) push builds run
and we do not run isolation tests.
- While merging community to enterprise, we have to open a temporary
PR to make travis run isolation/vanilla tests.
- With this change master branch will have its own cache that means
every branch originated from master branch can re-use master branch's
cache. (Currently we cannot use cache for the first PR build)

With this PR we switch from using custom compiled for PR builds to push
builds.
2017-11-01 06:29:59 -07:00
Hadi Moshayedi 7280774cf4 Use list_length() != 1 in SingleReplicatedTable().
ShardPlacementList's implementation can return NIL. In previous implementation
we got a segmentation fault in this case. The relation can be dropped after
getting distributed table list but before calling SingleReplicatedTable().
2017-10-31 21:51:43 -04:00
Hadi Moshayedi 7691991cb5 Do PG_TRY() inside a subtransaction block.
If we don't propagate the errors we are catching in PG_CATCH(), database's
internal state might not be clean. So we do PG_TRY() inside a subtransaction
so we can rollback to it after catching errors.
2017-10-31 21:51:43 -04:00
Hadi Moshayedi 9bfbbf8a04 Make reports hostname configurable and enable stats collection in tests.
This patch adds --with-reports-host configure option, which sets the
REPORTS_BASE_URL constant. The default is reports.citusdata.com.

It also enables stats collection in tests.
2017-10-31 21:51:43 -04:00
Hadi Moshayedi acaf085a80 Add callback function for request by CollectBasicUsageStatistics().
Curl writes the received response to stdout if we don't specify a response
callback or an output file. This can pollute the PostgreSQL log. In this change
we add a callback function so the response messages aren't added to the log file.
2017-10-31 21:51:43 -04:00
Hadi Moshayedi 747e439601 Limit number of stats collection retries to once a day. 2017-10-31 21:51:43 -04:00
Hadi Moshayedi 78a2cd9052 Check for Citus updates.
Sends a request to /v1/releases/latest?flavor=$CITUS_EDITION once a day,
which returns a response similar to {"version": "7.1.0", "major": 7,
"minor": 1, "patch": 0}. Then compares it with current Citus version,
and if the latest release is newer, logs a LOG message.
2017-10-31 21:51:43 -04:00
Hadi Moshayedi 34f3ec0961 Call FlushDistTableCache() before stats collection. 2017-10-31 21:51:43 -04:00