Skip to content

Make enterprise features open source#6008

Merged
JelteF merged 1 commit into
masterfrom
make-enterprise-open-source
Jun 16, 2022
Merged

Make enterprise features open source#6008
JelteF merged 1 commit into
masterfrom
make-enterprise-open-source

Conversation

@JelteF
Copy link
Copy Markdown
Contributor

@JelteF JelteF commented Jun 16, 2022

This PR makes all of the features open source that were previously only
available in Citus Enterprise.

Features that this adds:

  1. Non blocking shard moves/shard rebalancer
    (citus.logical_replication_timeout)
  2. Propagation of CREATE/DROP/ALTER ROLE statements
  3. Propagation of GRANT statements
  4. Propagation of CLUSTER statements
  5. Propagation of ALTER DATABASE ... OWNER TO ...
  6. Optimization for COPY when loading JSON to avoid double parsing of
    the JSON object (citus.skip_jsonb_validation_in_copy)
  7. Support for row level security
  8. Support for pg_dist_authinfo, which allows storing different
    authentication options for different users, e.g. you can store
    passwords or certificates here.
  9. Support for pg_dist_poolinfo, which allows using connection poolers
    in between coordinator and workers
  10. Tracking distributed query execution times using
    citus_stat_statements (citus.stat_statements_max,
    citus.stat_statements_purge_interval,
    citus.stat_statements_track). This is disabled by default.
  11. Blocking tenant_isolation
  12. Support for sslkey and sslcert in citus.node_conninfo

This PR makes all of the features open source that were previously only
available in Citus Enterprise.

Features that this adds:
1. Non blocking shard moves/shard rebalancer
   (`citus.logical_replication_timeout`)
2. Propagation of CREATE/DROP/ALTER ROLE statements
3. Propagation of GRANT statements
4. Propagation of CLUSTER statements
5. Propagation of ALTER DATABASE ... OWNER TO ...
6. Optimization for COPY when loading JSON to avoid double parsing of
   the JSON object (`citus.skip_jsonb_validation_in_copy`)
7. Support for row level security
8. Support for `pg_dist_authinfo`, which allows storing different
   authentication options for different users, e.g. you can store
   passwords or certificates here.
9. Support for `pg_dist_poolinfo`, which allows using connection poolers
   in between coordinator and workers
10. Tracking distributed query execution times using
   citus_stat_statements (`citus.stat_statements_max`,
   `citus.stat_statements_purge_interval`,
   `citus.stat_statements_track`). This is disabled by default.
11. Blocking tenant_isolation
12. Support for `sslkey` and `sslcert` in `citus.node_conninfo`
Copy link
Copy Markdown
Contributor

@onderkalaci onderkalaci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Steps are documented on https://github.com/citusdata/citus-enterprise/pull/818 and review has been done there.

@JelteF JelteF enabled auto-merge (squash) June 16, 2022 07:19
@JelteF JelteF merged commit 184c7c0 into master Jun 16, 2022
@JelteF JelteF deleted the make-enterprise-open-source branch June 16, 2022 07:23
@maziar-dandc
Copy link
Copy Markdown

Wow nice! Will the enterprise version repository be retired and all development moved over to the main repo?

@marcocitus
Copy link
Copy Markdown
Contributor

Wow nice! Will the enterprise version repository be retired and all development moved over to the main repo?

Pretty much. To be honest almost all development was already on this repo. We mainly merged this repo into the enterprise repo. We might still keep it around as a mirror for hot fixes.

@ghost
Copy link
Copy Markdown

ghost commented Jun 17, 2022

Great works. thanks for your greate works.

@viggy28
Copy link
Copy Markdown

viggy28 commented Jun 17, 2022

Just leaving my tweet from three days ago https://twitter.com/viggy28/status/1536157371465990144

This is amazing.

@viggy28
Copy link
Copy Markdown

viggy28 commented Jun 17, 2022

What about citus MX feature https://docs.citusdata.com/en/v9.3/arch/mx.html ?

@hlakshmi
Copy link
Copy Markdown

hlakshmi commented Jun 17, 2022

Thanks a lot for this. Is there a plan to open source the Citus Warp tool which is used for migrating to Citus without downtime?

@marcocitus
Copy link
Copy Markdown
Contributor

What about citus MX feature https://docs.citusdata.com/en/v9.3/arch/mx.html ?

It's fully integrated into Citus 11. You can run distributed queries from any node. (DDL still needs to go via the coordinator)

onderkalaci added a commit that referenced this pull request Jun 23, 2022
Similar to #5897, one more step for running Citus with PG 15.

This PR at least make Citus run with PG 15. I have not tried running the tests with PG 15.

Shmem changes are based on postgres/postgres@4f2400c

Compile breaks are mostly due to #6008
onderkalaci added a commit that referenced this pull request Jul 4, 2022
Similar to #5897, one more step for running Citus with PG 15.

This PR at least make Citus run with PG 15. I have not tried running the tests with PG 15.

Shmem changes are based on postgres/postgres@4f2400c

Compile breaks are mostly due to #6008
onderkalaci added a commit that referenced this pull request Jul 14, 2022
Similar to #5897, one more step for running Citus with PG 15.

This PR at least make Citus run with PG 15. I have not tried running the tests with PG 15.

Shmem changes are based on postgres/postgres@4f2400c

Compile breaks are mostly due to #6008
onderkalaci added a commit that referenced this pull request Jul 15, 2022
Similar to #5897, one more step for running Citus with PG 15.

This PR at least make Citus run with PG 15. I have not tried running the tests with PG 15.

Shmem changes are based on postgres/postgres@4f2400c

Compile breaks are mostly due to #6008
yxu2162 pushed a commit that referenced this pull request Sep 15, 2022
Similar to #5897, one more step for running Citus with PG 15.

This PR at least make Citus run with PG 15. I have not tried running the tests with PG 15.

Shmem changes are based on postgres/postgres@4f2400c

Compile breaks are mostly due to #6008
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants