-
Notifications
You must be signed in to change notification settings - Fork 670
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
fix memory leak during distribution of a table with a lot of partitions #6722
Conversation
9a775d7
to
cc06192
Compare
At coordinator, while receiving results from an internal backend, we omit to free PGresult tuple when connection's PR to resolve the leakage. |
cc06192
to
7281c0b
Compare
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row.
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row. (cherry picked from commit 9e69dd0)
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row. (cherry picked from commit 9e69dd0)
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row. (cherry picked from commit 9e69dd0)
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row. (cherry picked from commit 9e69dd0)
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row. (cherry picked from commit 9e69dd0)
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row. (cherry picked from commit 9e69dd0)
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row. (cherry picked from commit 9e69dd0)
7281c0b
to
c53a893
Compare
c53a893
to
b6d14ff
Compare
Codecov Report
@@ Coverage Diff @@
## main #6722 +/- ##
==========================================
+ Coverage 90.69% 93.13% +2.43%
==========================================
Files 259 259
Lines 55832 55849 +17
==========================================
+ Hits 50638 52016 +1378
+ Misses 5194 3833 -1361 |
b6d14ff
to
4f80146
Compare
We should not omit to free PGResult when we receive single tuple result from an internal backend. Single tuple results are normally freed by our ReceiveResults for `tupleDescriptor != NULL` flow but not for those with `tupleDescriptor == NULL`. See PR #6722 for details. DESCRIPTION: Fixes memory leak issue with query results that returns single row.
…ns (#6722) We have memory leak during distribution of a table with a lot of partitions as we do not release memory at ExprContext until all partitions are not distributed. We improved 2 things to resolve the issue: 1. We create and delete MemoryContext for each call to `CreateDistributedTable` by partitions, 2. We rebuild the cache after we insert all the placements instead of each placement for a shard. DESCRIPTION: Fixes memory leak during distribution of a table with a lot of partitions and shards. Fixes #6572.
In this release, I tried something different. I experimented with adding the PR number and title to the changelog right before each changelog entry. This way, it is easier to track where a particular changelog entry comes from. After reviews are over, I plan to remove those lines with PR numbers and titles. I went through all the PRs that are merged after 11.2.0 release and came up with a list of PRs that may need help with changelog entries. You can see details on PRs grouped in several sections below. ## PRs with missing entries The following PRs below do not have a changelog entry. If you think that this is a mistake, please share it in this PR along with a suggestion on what the changelog item should be. PR #6846 : fix 3 flaky tests in failure schedule PR #6844 : Add CPU usage to citus_stat_tenants PR #6833 : Fix citus_stat_tenants period updating bug PR #6787 : Add more tests for ddl coverage PR #6842 : Add build-cdc-* temporary directories to .gitignore PR #6841 : Add build-cdc-* temporary directories to .gitignore PR #6840 : Bump Citus to 12.0devel PR #6824 : Fixes flakiness in multi_metadata_sync test PR #6811 : Backport identity column improvements to v11.2 PR #6830 : In run_test.py actually return worker_count PR #6825 : Fixes flakiness in multi_cluster_management test PR #6816 : Refactor run_test.py PR #6817 : Explicitly disallow local rels when inserting into dist table PR #6821 : Rename citus stats tenants PR #6822 : Add some more tests for initial sql support PR #6819 : Fix flakyness in citus_split_shard_by_split_points_deferred_drop PR #6814 : Make python-regress based tests runnable with run_test.py PR #6813 : Fix flaky multi_mx_schema_support test PR #6720 : Convert columnar tap tests to pytest PR #6812 : Revoke statistics permissions from public and grant them to pg_monitor PR #6769 : Citus stats tenants guc PR #6807 : Fix the incorrect (constant) value passed to pointer-to-bool parameter, pass a NULL as the value is not used PR #6797 : Attribute local queries and cached plans on local execution PR #6796 : Parse the annotation string correctly PR #6762 : Add logs to citus_stats_tenants PR #6773 : Add initial sql support for distributed tables that don't have a shard key PR #6792 : Disentangle MERGE planning code from the modify-planning code path PR #6761 : Citus stats tenants collector view PR #6791 : Make 8 more tests runnable multiple times via run_test.py PR #6786 : Refactor some of the planning code to accommodate a new planning path for MERGE SQL PR #6789 : Rename AllRelations.. functions to AllDistributedRelations.. PR #6788 : Actually skip arbitrary_configs_router & nested_execution for AllNullDistKeyDefaultConfig PR #6783 : Add a config for arbitrary config tests where all the tables are null-shard-key tables PR #6784 : Fix attach partition: citus local to null distributed PR #6782 : Add an arbitrary config test heavily based on multi_router_planner_fast_path.sql PR #6781 : Decide what to do with router planner error at one place PR #6778 : Support partitioning for dist tables with null dist keys PR #6766 : fix pip lock file PR #6764 : Make workerCount configurable for regression tests PR #6745 : Add support for creating distributed tables with a null shard key PR #6696 : This implements MERGE phase-III PR #6767 : Add pytest depedencies to Pipfile PR #6760 : Decide core distribution params in CreateCitusTable PR #6759 : Add multi_create_fdw into minimal_schedule PR #6743 : Replace CITUS_TABLE_WITH_NO_DIST_KEY checks with HasDistributionKey() PR #6751 : Stabilize single_node.sql and others that report illegal node removal PR #6742 : Refactor CreateDistributedTable() PR #6747 : Remove unused lock functions PR #6744 : Fix multiple output version arbitrary config tests PR #6741 : Stabilize single node tests PR #6740 : Fix string eval bug in migration files check PR #6736 : Make run_test.py and create_test.py importable without errors PR #6734 : Don't blanket ignore flake8 E402 error PR #6737 : Fixes bookworm packaging pipeline problem PR #6735 : Fix run_test.py on python 3.9 PR #6733 : MERGE: In deparser, add missing check for RETURNING clause. PR #6714 : Remove auto_explain workaround in citus explain hook for ALTER TABLE PR #6719 : Fix flaky test PR #6718 : Add more powerfull dependency tracking to run_test.py PR #6710 : Install non-vulnerable cryptography package PR #6711 : Support compilation and run tests on latest PG versions PR #6700 : Add auto-formatting and linting to our python code PR #6707 : Allow multi_insert_select to run repeatably PR #6708 : Fix flakyness in failure_create_distributed_table_non_empty PR #6698 : Miscellaneous cleanup PR #6704 : Update README for 11.2 PR #6703 : Fix dubious ownership error from git PR #6690 : Bump Citus to 11.3devel ## Too long changelog entries The following PRs have changelog entries that are too long to fit in a single line. I'd expect authors to supply at changelog entries in `DESCRIPTION:` lines that are at most 78 characters. If you want to supply multi-line changelog items, you can have multiple lines that start with `DESCRIPTION:` instead. PR #6837 : fixes update propagation bug when `citus_set_coordinator_host` is called more than once PR #6738 : Identity column implementation refactorings PR #6756 : Schedule parallel shard moves in background rebalancer by removing task dependencies between shard moves across colocation groups. PR #6793 : Add a GUC to disallow planning the queries that reference non-colocated tables via router planner PR #6726 : fix memory leak during altering distributed table with a lot of partition and shards PR #6722 : fix memory leak during distribution of a table with a lot of partitions PR #6693 : prevent memory leak during ConvertTable with a lot of partitions ## Empty changelog entries. The following PR had an empty `DESCRIPTION:` line. This generates an empty changelog line that needs to be removed manually. Please either provide a short entry, or remove `DESCRIPTION:` line completely. PR #6810 : Make CDC decoder an independent extension PR #6827 : Makefile changes to build CDC in builddir for pgoutput and wal2json. --------- Co-authored-by: Onur Tirtir <onurcantirtir@gmail.com>
In this release, I tried something different. I experimented with adding the PR number and title to the changelog right before each changelog entry. This way, it is easier to track where a particular changelog entry comes from. After reviews are over, I plan to remove those lines with PR numbers and titles. I went through all the PRs that are merged after 11.2.0 release and came up with a list of PRs that may need help with changelog entries. You can see details on PRs grouped in several sections below. The following PRs below do not have a changelog entry. If you think that this is a mistake, please share it in this PR along with a suggestion on what the changelog item should be. PR #6846 : fix 3 flaky tests in failure schedule PR #6844 : Add CPU usage to citus_stat_tenants PR #6833 : Fix citus_stat_tenants period updating bug PR #6787 : Add more tests for ddl coverage PR #6842 : Add build-cdc-* temporary directories to .gitignore PR #6841 : Add build-cdc-* temporary directories to .gitignore PR #6840 : Bump Citus to 12.0devel PR #6824 : Fixes flakiness in multi_metadata_sync test PR #6811 : Backport identity column improvements to v11.2 PR #6830 : In run_test.py actually return worker_count PR #6825 : Fixes flakiness in multi_cluster_management test PR #6816 : Refactor run_test.py PR #6817 : Explicitly disallow local rels when inserting into dist table PR #6821 : Rename citus stats tenants PR #6822 : Add some more tests for initial sql support PR #6819 : Fix flakyness in citus_split_shard_by_split_points_deferred_drop PR #6814 : Make python-regress based tests runnable with run_test.py PR #6813 : Fix flaky multi_mx_schema_support test PR #6720 : Convert columnar tap tests to pytest PR #6812 : Revoke statistics permissions from public and grant them to pg_monitor PR #6769 : Citus stats tenants guc PR #6807 : Fix the incorrect (constant) value passed to pointer-to-bool parameter, pass a NULL as the value is not used PR #6797 : Attribute local queries and cached plans on local execution PR #6796 : Parse the annotation string correctly PR #6762 : Add logs to citus_stats_tenants PR #6773 : Add initial sql support for distributed tables that don't have a shard key PR #6792 : Disentangle MERGE planning code from the modify-planning code path PR #6761 : Citus stats tenants collector view PR #6791 : Make 8 more tests runnable multiple times via run_test.py PR #6786 : Refactor some of the planning code to accommodate a new planning path for MERGE SQL PR #6789 : Rename AllRelations.. functions to AllDistributedRelations.. PR #6788 : Actually skip arbitrary_configs_router & nested_execution for AllNullDistKeyDefaultConfig PR #6783 : Add a config for arbitrary config tests where all the tables are null-shard-key tables PR #6784 : Fix attach partition: citus local to null distributed PR #6782 : Add an arbitrary config test heavily based on multi_router_planner_fast_path.sql PR #6781 : Decide what to do with router planner error at one place PR #6778 : Support partitioning for dist tables with null dist keys PR #6766 : fix pip lock file PR #6764 : Make workerCount configurable for regression tests PR #6745 : Add support for creating distributed tables with a null shard key PR #6696 : This implements MERGE phase-III PR #6767 : Add pytest depedencies to Pipfile PR #6760 : Decide core distribution params in CreateCitusTable PR #6759 : Add multi_create_fdw into minimal_schedule PR #6743 : Replace CITUS_TABLE_WITH_NO_DIST_KEY checks with HasDistributionKey() PR #6751 : Stabilize single_node.sql and others that report illegal node removal PR #6742 : Refactor CreateDistributedTable() PR #6747 : Remove unused lock functions PR #6744 : Fix multiple output version arbitrary config tests PR #6741 : Stabilize single node tests PR #6740 : Fix string eval bug in migration files check PR #6736 : Make run_test.py and create_test.py importable without errors PR #6734 : Don't blanket ignore flake8 E402 error PR #6737 : Fixes bookworm packaging pipeline problem PR #6735 : Fix run_test.py on python 3.9 PR #6733 : MERGE: In deparser, add missing check for RETURNING clause. PR #6714 : Remove auto_explain workaround in citus explain hook for ALTER TABLE PR #6719 : Fix flaky test PR #6718 : Add more powerfull dependency tracking to run_test.py PR #6710 : Install non-vulnerable cryptography package PR #6711 : Support compilation and run tests on latest PG versions PR #6700 : Add auto-formatting and linting to our python code PR #6707 : Allow multi_insert_select to run repeatably PR #6708 : Fix flakyness in failure_create_distributed_table_non_empty PR #6698 : Miscellaneous cleanup PR #6704 : Update README for 11.2 PR #6703 : Fix dubious ownership error from git PR #6690 : Bump Citus to 11.3devel The following PRs have changelog entries that are too long to fit in a single line. I'd expect authors to supply at changelog entries in `DESCRIPTION:` lines that are at most 78 characters. If you want to supply multi-line changelog items, you can have multiple lines that start with `DESCRIPTION:` instead. PR #6837 : fixes update propagation bug when `citus_set_coordinator_host` is called more than once PR #6738 : Identity column implementation refactorings PR #6756 : Schedule parallel shard moves in background rebalancer by removing task dependencies between shard moves across colocation groups. PR #6793 : Add a GUC to disallow planning the queries that reference non-colocated tables via router planner PR #6726 : fix memory leak during altering distributed table with a lot of partition and shards PR #6722 : fix memory leak during distribution of a table with a lot of partitions PR #6693 : prevent memory leak during ConvertTable with a lot of partitions The following PR had an empty `DESCRIPTION:` line. This generates an empty changelog line that needs to be removed manually. Please either provide a short entry, or remove `DESCRIPTION:` line completely. PR #6810 : Make CDC decoder an independent extension PR #6827 : Makefile changes to build CDC in builddir for pgoutput and wal2json. --------- Co-authored-by: Onur Tirtir <onurcantirtir@gmail.com> (cherry picked from commit 9344300)
In this release, I tried something different. I experimented with adding the PR number and title to the changelog right before each changelog entry. This way, it is easier to track where a particular changelog entry comes from. After reviews are over, I plan to remove those lines with PR numbers and titles. I went through all the PRs that are merged after 11.2.0 release and came up with a list of PRs that may need help with changelog entries. You can see details on PRs grouped in several sections below. The following PRs below do not have a changelog entry. If you think that this is a mistake, please share it in this PR along with a suggestion on what the changelog item should be. PR #6846 : fix 3 flaky tests in failure schedule PR #6844 : Add CPU usage to citus_stat_tenants PR #6833 : Fix citus_stat_tenants period updating bug PR #6787 : Add more tests for ddl coverage PR #6842 : Add build-cdc-* temporary directories to .gitignore PR #6841 : Add build-cdc-* temporary directories to .gitignore PR #6840 : Bump Citus to 12.0devel PR #6824 : Fixes flakiness in multi_metadata_sync test PR #6811 : Backport identity column improvements to v11.2 PR #6830 : In run_test.py actually return worker_count PR #6825 : Fixes flakiness in multi_cluster_management test PR #6816 : Refactor run_test.py PR #6817 : Explicitly disallow local rels when inserting into dist table PR #6821 : Rename citus stats tenants PR #6822 : Add some more tests for initial sql support PR #6819 : Fix flakyness in citus_split_shard_by_split_points_deferred_drop PR #6814 : Make python-regress based tests runnable with run_test.py PR #6813 : Fix flaky multi_mx_schema_support test PR #6720 : Convert columnar tap tests to pytest PR #6812 : Revoke statistics permissions from public and grant them to pg_monitor PR #6769 : Citus stats tenants guc PR #6807 : Fix the incorrect (constant) value passed to pointer-to-bool parameter, pass a NULL as the value is not used PR #6797 : Attribute local queries and cached plans on local execution PR #6796 : Parse the annotation string correctly PR #6762 : Add logs to citus_stats_tenants PR #6773 : Add initial sql support for distributed tables that don't have a shard key PR #6792 : Disentangle MERGE planning code from the modify-planning code path PR #6761 : Citus stats tenants collector view PR #6791 : Make 8 more tests runnable multiple times via run_test.py PR #6786 : Refactor some of the planning code to accommodate a new planning path for MERGE SQL PR #6789 : Rename AllRelations.. functions to AllDistributedRelations.. PR #6788 : Actually skip arbitrary_configs_router & nested_execution for AllNullDistKeyDefaultConfig PR #6783 : Add a config for arbitrary config tests where all the tables are null-shard-key tables PR #6784 : Fix attach partition: citus local to null distributed PR #6782 : Add an arbitrary config test heavily based on multi_router_planner_fast_path.sql PR #6781 : Decide what to do with router planner error at one place PR #6778 : Support partitioning for dist tables with null dist keys PR #6766 : fix pip lock file PR #6764 : Make workerCount configurable for regression tests PR #6745 : Add support for creating distributed tables with a null shard key PR #6696 : This implements MERGE phase-III PR #6767 : Add pytest depedencies to Pipfile PR #6760 : Decide core distribution params in CreateCitusTable PR #6759 : Add multi_create_fdw into minimal_schedule PR #6743 : Replace CITUS_TABLE_WITH_NO_DIST_KEY checks with HasDistributionKey() PR #6751 : Stabilize single_node.sql and others that report illegal node removal PR #6742 : Refactor CreateDistributedTable() PR #6747 : Remove unused lock functions PR #6744 : Fix multiple output version arbitrary config tests PR #6741 : Stabilize single node tests PR #6740 : Fix string eval bug in migration files check PR #6736 : Make run_test.py and create_test.py importable without errors PR #6734 : Don't blanket ignore flake8 E402 error PR #6737 : Fixes bookworm packaging pipeline problem PR #6735 : Fix run_test.py on python 3.9 PR #6733 : MERGE: In deparser, add missing check for RETURNING clause. PR #6714 : Remove auto_explain workaround in citus explain hook for ALTER TABLE PR #6719 : Fix flaky test PR #6718 : Add more powerfull dependency tracking to run_test.py PR #6710 : Install non-vulnerable cryptography package PR #6711 : Support compilation and run tests on latest PG versions PR #6700 : Add auto-formatting and linting to our python code PR #6707 : Allow multi_insert_select to run repeatably PR #6708 : Fix flakyness in failure_create_distributed_table_non_empty PR #6698 : Miscellaneous cleanup PR #6704 : Update README for 11.2 PR #6703 : Fix dubious ownership error from git PR #6690 : Bump Citus to 11.3devel The following PRs have changelog entries that are too long to fit in a single line. I'd expect authors to supply at changelog entries in `DESCRIPTION:` lines that are at most 78 characters. If you want to supply multi-line changelog items, you can have multiple lines that start with `DESCRIPTION:` instead. PR #6837 : fixes update propagation bug when `citus_set_coordinator_host` is called more than once PR #6738 : Identity column implementation refactorings PR #6756 : Schedule parallel shard moves in background rebalancer by removing task dependencies between shard moves across colocation groups. PR #6793 : Add a GUC to disallow planning the queries that reference non-colocated tables via router planner PR #6726 : fix memory leak during altering distributed table with a lot of partition and shards PR #6722 : fix memory leak during distribution of a table with a lot of partitions PR #6693 : prevent memory leak during ConvertTable with a lot of partitions The following PR had an empty `DESCRIPTION:` line. This generates an empty changelog line that needs to be removed manually. Please either provide a short entry, or remove `DESCRIPTION:` line completely. PR #6810 : Make CDC decoder an independent extension PR #6827 : Makefile changes to build CDC in builddir for pgoutput and wal2json. --------- Co-authored-by: Onur Tirtir <onurcantirtir@gmail.com> (cherry picked from commit 9344300)
In this release, I tried something different. I experimented with adding the PR number and title to the changelog right before each changelog entry. This way, it is easier to track where a particular changelog entry comes from. After reviews are over, I plan to remove those lines with PR numbers and titles. I went through all the PRs that are merged after 11.2.0 release and came up with a list of PRs that may need help with changelog entries. You can see details on PRs grouped in several sections below. ## PRs with missing entries The following PRs below do not have a changelog entry. If you think that this is a mistake, please share it in this PR along with a suggestion on what the changelog item should be. PR #6846 : fix 3 flaky tests in failure schedule PR #6844 : Add CPU usage to citus_stat_tenants PR #6833 : Fix citus_stat_tenants period updating bug PR #6787 : Add more tests for ddl coverage PR #6842 : Add build-cdc-* temporary directories to .gitignore PR #6841 : Add build-cdc-* temporary directories to .gitignore PR #6840 : Bump Citus to 12.0devel PR #6824 : Fixes flakiness in multi_metadata_sync test PR #6811 : Backport identity column improvements to v11.2 PR #6830 : In run_test.py actually return worker_count PR #6825 : Fixes flakiness in multi_cluster_management test PR #6816 : Refactor run_test.py PR #6817 : Explicitly disallow local rels when inserting into dist table PR #6821 : Rename citus stats tenants PR #6822 : Add some more tests for initial sql support PR #6819 : Fix flakyness in citus_split_shard_by_split_points_deferred_drop PR #6814 : Make python-regress based tests runnable with run_test.py PR #6813 : Fix flaky multi_mx_schema_support test PR #6720 : Convert columnar tap tests to pytest PR #6812 : Revoke statistics permissions from public and grant them to pg_monitor PR #6769 : Citus stats tenants guc PR #6807 : Fix the incorrect (constant) value passed to pointer-to-bool parameter, pass a NULL as the value is not used PR #6797 : Attribute local queries and cached plans on local execution PR #6796 : Parse the annotation string correctly PR #6762 : Add logs to citus_stats_tenants PR #6773 : Add initial sql support for distributed tables that don't have a shard key PR #6792 : Disentangle MERGE planning code from the modify-planning code path PR #6761 : Citus stats tenants collector view PR #6791 : Make 8 more tests runnable multiple times via run_test.py PR #6786 : Refactor some of the planning code to accommodate a new planning path for MERGE SQL PR #6789 : Rename AllRelations.. functions to AllDistributedRelations.. PR #6788 : Actually skip arbitrary_configs_router & nested_execution for AllNullDistKeyDefaultConfig PR #6783 : Add a config for arbitrary config tests where all the tables are null-shard-key tables PR #6784 : Fix attach partition: citus local to null distributed PR #6782 : Add an arbitrary config test heavily based on multi_router_planner_fast_path.sql PR #6781 : Decide what to do with router planner error at one place PR #6778 : Support partitioning for dist tables with null dist keys PR #6766 : fix pip lock file PR #6764 : Make workerCount configurable for regression tests PR #6745 : Add support for creating distributed tables with a null shard key PR #6696 : This implements MERGE phase-III PR #6767 : Add pytest depedencies to Pipfile PR #6760 : Decide core distribution params in CreateCitusTable PR #6759 : Add multi_create_fdw into minimal_schedule PR #6743 : Replace CITUS_TABLE_WITH_NO_DIST_KEY checks with HasDistributionKey() PR #6751 : Stabilize single_node.sql and others that report illegal node removal PR #6742 : Refactor CreateDistributedTable() PR #6747 : Remove unused lock functions PR #6744 : Fix multiple output version arbitrary config tests PR #6741 : Stabilize single node tests PR #6740 : Fix string eval bug in migration files check PR #6736 : Make run_test.py and create_test.py importable without errors PR #6734 : Don't blanket ignore flake8 E402 error PR #6737 : Fixes bookworm packaging pipeline problem PR #6735 : Fix run_test.py on python 3.9 PR #6733 : MERGE: In deparser, add missing check for RETURNING clause. PR #6714 : Remove auto_explain workaround in citus explain hook for ALTER TABLE PR #6719 : Fix flaky test PR #6718 : Add more powerfull dependency tracking to run_test.py PR #6710 : Install non-vulnerable cryptography package PR #6711 : Support compilation and run tests on latest PG versions PR #6700 : Add auto-formatting and linting to our python code PR #6707 : Allow multi_insert_select to run repeatably PR #6708 : Fix flakyness in failure_create_distributed_table_non_empty PR #6698 : Miscellaneous cleanup PR #6704 : Update README for 11.2 PR #6703 : Fix dubious ownership error from git PR #6690 : Bump Citus to 11.3devel ## Too long changelog entries The following PRs have changelog entries that are too long to fit in a single line. I'd expect authors to supply at changelog entries in `DESCRIPTION:` lines that are at most 78 characters. If you want to supply multi-line changelog items, you can have multiple lines that start with `DESCRIPTION:` instead. PR #6837 : fixes update propagation bug when `citus_set_coordinator_host` is called more than once PR #6738 : Identity column implementation refactorings PR #6756 : Schedule parallel shard moves in background rebalancer by removing task dependencies between shard moves across colocation groups. PR #6793 : Add a GUC to disallow planning the queries that reference non-colocated tables via router planner PR #6726 : fix memory leak during altering distributed table with a lot of partition and shards PR #6722 : fix memory leak during distribution of a table with a lot of partitions PR #6693 : prevent memory leak during ConvertTable with a lot of partitions ## Empty changelog entries. The following PR had an empty `DESCRIPTION:` line. This generates an empty changelog line that needs to be removed manually. Please either provide a short entry, or remove `DESCRIPTION:` line completely. PR #6810 : Make CDC decoder an independent extension PR #6827 : Makefile changes to build CDC in builddir for pgoutput and wal2json. --------- Co-authored-by: Onur Tirtir <onurcantirtir@gmail.com>
for reference table and distributed table without colocation field, each time we insert a shard placement, it invalidate the metadata cache with the relation oid, and build it by a following `LoadShardPlacement`, this was partly fixed by citusdata#6722 for CreateColocatedShards, problem still exists for other cases, this patch fix them all. Signed-off-by: Zhao Junwang <zhjwpku@gmail.com>
for reference table and distributed table without colocation field, each time we insert a shard placement, it invalidate the metadata cache with the relation oid, and build it by a following `LoadShardPlacement`, this was partly fixed by citusdata#6722 for CreateColocatedShards, problem still exists for other cases, this patch fix them all. Signed-off-by: Zhao Junwang <zhjwpku@gmail.com>
for reference table and distributed table without colocation field, each time we insert a shard placement, it invalidate the metadata cache with the relation oid, and build it by a following `LoadShardPlacement`, this was partly fixed by citusdata#6722 for CreateColocatedShards, problem still exists for other cases, this patch fix them. Signed-off-by: Zhao Junwang <zhjwpku@gmail.com>
for reference table and distributed table without colocation field, each time we insert a shard placement, it invalidate the metadata cache with the relation oid, and build it by a following `LoadShardPlacement`, this was partly fixed by citusdata#6722 for CreateColocatedShards, problem still exists for other cases, this patch fix them. Signed-off-by: Zhao Junwang <zhjwpku@gmail.com>
We have memory leak during distribution of a table with a lot of partitions as we do not release memory at ExprContext until all partitions are not distributed. We improved 2 things to resolve the issue:
CreateDistributedTable
by partitions,DESCRIPTION: Fixes memory leak in
create_distributed_table
Fixes #6572.