Skip to content

Make enterprise features open source #6008

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 16, 2022
Merged

Conversation

JelteF
Copy link
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
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

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

@marcocitus
Copy link
Member

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

ghost commented Jun 17, 2022

Great works. thanks for your greate works.

@viggy28
Copy link

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

viggy28 commented Jun 17, 2022

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

@hlakshmi
Copy link

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
Member

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