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
Release 2.3.1 #3373
Release 2.3.1 #3373
Conversation
Codecov Report
@@ Coverage Diff @@
## 2.3.x #3373 +/- ##
========================================
Coverage ? 90.47%
========================================
Files ? 216
Lines ? 36079
Branches ? 0
========================================
Hits ? 32644
Misses ? 3435
Partials ? 0 Continue to review full report at Codecov.
|
0074235
to
2ed9d32
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont think PG11 support should be removed in 2.3.x branch
f9ea18a
to
5e55155
Compare
When refactoring the job code the job_type was removed from our catalog but a few places got overlooked that still had a variable holding the job type.
Corrected a function name and replaced a variable with the explicit commands to use.
The update tests for PG11, PG12, and PG13 are updated to include release 2.3.0.
Link to Telemetry page explains more than disable it Co-authored-by: Mike Freedman <mfreed@cs.princeton.edu>
Stop background workers in test after calling timescaledb_post_restore since this function restarts background workers.
8bfe994
to
a5fb316
Compare
PG11 removed from the branch. Needed to update some tests as well, but I'll merge those fixes with the associated changes. |
Previously the assignment of data nodes to chunks had a bit of a thundering-herd problem for multiple hypertables without space partions: the data node assigned for the first chunk was always the same across hypertables. We fix this by adding the hypertable_id to the index into the datanode array. This de-synchronizes across hypertables but maintains consistency for any given hypertable. We could make this consistent for space partitioned tables as well but avoid doing so now to prevent partitions jumping nodes due to this change. This also effects tablespace selection in the same way.
continuous_agg_update_materialization() doesn't use this argument and we can't rely on a fixed bucket_width in the future anyway.
627dea3
to
799f5a6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you Mats, this looks great.
CHANGELOG.md
Outdated
## 2.3.1 (2021-07-05) | ||
|
||
This maintenance release contains bugfixes since the 2.3.0 release. We | ||
deem it moderate priority for upgrading. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We usually do a summary of the areas covered by the bugfixes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For patch releases, I find that redundant since the bugs are listed just below, but I added a blurb about that to the changelog for this release.
@@ -40,7 +40,8 @@ set(MOD_FILES | |||
updates/2.1.0--2.1.1.sql | |||
updates/2.1.1--2.2.0.sql | |||
updates/2.2.0--2.2.1.sql | |||
updates/2.2.1--2.3.0.sql) | |||
updates/2.2.1--2.3.0.sql | |||
updates/2.3.0--2.3.1.sql) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should I expect something like this also for the downgrade path?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. The downgrade path need to be added after the release is tagged since the downgrade tests check out a tagged release, so it is not added here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm.... let me check this again....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching it. Had to update the downgrade list at this step as well.
@@ -0,0 +1 @@ | |||
DROP FUNCTION IF EXISTS _timescaledb_internal.refresh_continuous_aggregate; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is dropped because it moved to the experimental schema right? But I didn't see we are including the experimental schema in this release, so is this correct?
I guess dropping the function doesn't hurt, though, since functions are recreated during the upgrade if I am not wrong. Would still like to understand why this has changed in this release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, the function is dropped because it is re-defined. We do not introduce the experimental schema in this release since it causes issues with the update tests and we need to go over it separately.
version.config
Outdated
@@ -1,4 +1,3 @@ | |||
version = 2.3.1 | |||
update_from_version = 2.3.0 | |||
downgrade_to_version = 2.3.0 | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this commit for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to be remains from an update patch from master. Removed it.
f09fca3
to
2bbfab3
Compare
This commit add functions and code to generate a downgrade script from the current version to the previous version. This requires execution from a Git repository since it retrieves the prolog and epilog for the "downgrade" file from the version given by `update_from_version` in the `version.config` file. The commit adds several CMake functions that simplifies the composition of script files, but these are not used to generate the update scripts. A potential improvement is to use the scripts to also generate the update scripts. This commit supports generating a downgrade script from the current version to the previous version. Other versions are handled using a variable containing file names of reverse update scripts and the source and target version is extracted from the file names, which is assumed to be of the form `<source-version>--<target-version>.sql`. In addition to adding support for generating downgrade scripts, the commit adds a downgrade test file that tests a release in a similar way to the update script and adds it as a workflow.
Fix heap buffer overflow in hypertable expansion.
Add the files that had been missing from the docker environment since the introduction of the downgrade scripts.
Allow pushdown of RelabelType expressions into the scan below the DecompressChunk node. When using varchar columns as segmentby columns constraints on those columns would not be pushed down because postgres would inject RelabelType nodes that where not accepted as valid expression for pushdown leading to bad performance because the filter could only be applied after decompression. Fixes timescale#3351
The output file `compression_qualpushdown-11.out` was not updated.
Output for `compression_qualpushdown-13.out` was not correct.
If `clang-format` is not found `CLANG_FORMAT` will be set to a false value, which will prevent the `format` target from being defined if `cmake-format` is not installed. This commit fixes that by always creating a `format` target since `clang-format` is always created even if `CLANG_FORMAT` is false. We do not redefine `CLANG_FORMAT` to a non-false value since it is expected to contain a path to an executable and if set to a true value that is not a path it could be used in a way that leads to strange errors.
This commit export the `GENERATE_DOWNGRADE_SCRIPT` and `PG_VERSION` variables from `test_downgrade_to_tag.sh` to `docker-build.sh`.
In contrast to `realloc`, the PostgreSQL function `repalloc` does not accept a NULL pointer and fall back on `palloc`. For that reason it is necessary to check if the pointer is NULL and either use `palloc` or `repalloc`.
During an update, it is not possible to run the downgrade scripts until the release has been tagged, but the update scripts can be run. This means that we need to split the previous version into two different fields: one for running the update tests and one for running the downgrade tests.
This maintenance release contains bugfixes since the 2.3.0 release. We deem it moderate priority for upgrading. The release introduces the possibility of generating downgrade scripts, improves the trigger handling for distributed hypertables, adds some more randomness to chunk assignment to avoid thundering herd issues in chunk assignment, and fixes some issues in update handling as well as some other bugs. **Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
Commit message is
Commits for this PR are: