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.2.1 - release branch #3173
Conversation
Codecov Report
@@ Coverage Diff @@
## 2.2.x #3173 +/- ##
==========================================
+ Coverage 90.17% 90.21% +0.04%
==========================================
Files 215 215
Lines 35301 35319 +18
==========================================
+ Hits 31831 31863 +32
+ Misses 3470 3456 -14
Continue to review full report at Codecov.
|
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.
TimescaleDB fails to compile in some tests. There is a PR to master, which is supposed to fix the issue.
Yes, I noted the failures. |
Following update failure is weird as well. It suggests that the updated version is missing a column that the
|
2210659
to
80a39d0
Compare
get_git_commit used the author date instead of the commit date when showing information about the commit. For the purpose of the function the author date is not that significant and when the commit to the branch actually happened is much more relevant.
Possible values are Release, Debug, RelWithDebInfo and MinSizeRel https://llvm.org/docs/CMake.html#frequently-used-cmake-variables
The hypertable object in policy_reorder_add was still used after releasing the cache leading to occasional segfaults in CI.
Reorg source code to create a nodes subdirectory. Move plan nodes to this drectory.
Since Oid is unsigned int we have to use %u to print it otherwise oids >= 2^31 will not work correctly. This also switches the places that print type oid to use format helper functions to resolve the oids.
Installing the postgres13 windows package pulled in an install of vcredist140 which requires a reboot making chocolatey return with a non-zero exit code to signal the required reboot. This patch changes chocolatey to no longer give individual packages control over chocolatey exit code. This patch also changes chocolatey to longer show package download progress information to make the CI log less spammy.
CONCURRENTLY option of the REINDEX TABLE is not supported and leads to a crash when using with hypertable. Block it and print the error message. Fix timescale#3122
In case of distributed hypertable do not propagate the REINDEX command to chunks. Allow command to be passed for remote execution on data nodes. Fixes timescale#3018
In DISTINCT when deciding about adding a SkipScan path we try to match the PathKey to the targetlist which would fail if PathKey was an expression but the index not an expression index. The check for the DISTINCT being a Var would only happen after this check leading to a "skip column not found in targetlist" error under these circumstances. This only affects DISTINCT queries with targetlist with 1 non-Const entry that is an expression as others would get rejected earlier when checking whether to build SkipScan path. Fixes timescale#3134
Since we run 20 tests in parallel in the tsl tests multiple multinode tests might exhaust the number of connections the test instance allowed. This patch changes the number of connections to 200 for regresscheck-t.
Construct "SELECT DISTINCT target_list" or "SELECT DISTINCT ON (col1, col..) target_list" statement to push down the DISTINCT clause to the remote side. We only allow references to basic "Vars" or constants in the DISTINCT exprs So, "SELECT DISTINCT col1" is fine but "SELECT DISTINCT 2*col1" is not. "SELECT DISTINCT col1, 'const1', NULL, col2" which is a mix of column references and constants is also supported. Everything else is not supported. This pushdown also needs to work when timescaledb.enable_per_data_node_queries is disabled. All existing test cases in which "SELECT DISTINCT" is now being pushed down have been modified. New test cases have been added to check that the remote side uses "Skip Scans" as is suitable in some cases.
`index` test was moved into SQL test template in timescale#3123 and `generated_columns` - in timescale#2927. They are added to relevant gitignore.
Checking code formatting and other simple code style test is good to perform on PRs to feature branches, not only the master branch. This commit removes the limitation to perform tests only on PR to the master.
This patch fixes the flaky pg_dump test by switching off the current database before using it as template. It also disables background job scheduling instead of stopping them before creating the new database as stopping bgw jobs might not happen immediately. Fixes timescale#2847
The SkipScan code assumed IndexPaths on ordered indexes always have pathkeys which is not true when the pathkeys are not useful for the query, leading to a segfault for those queries.
Since postgres has optimizations for Append paths without children we do not replace those paths with ChunkAppend. While this will prevent ChunkAppendPaths without children during planning, in the executor it is still possible for ChunkAppend to have no children as run-time exclusion may remove all of them.
The patch removes the Slack notification of individual workflows in favor of the Slack summary message
When calling hash_search with HASH_REMOVE the returned pointer should not be dereferenced because it returns a dangling pointer
This patch adds a GitHub action that posts all failed CI jobs in the last 24 hours with link to the failed job.
The chunks of the datanodes seem to contain very few rows. That can cause PostgreSQL to choose a SeqScan plan in some cases. Add a few more rows to make it choose IndexScan all of the time.
Tables, indexes, and sequences that are recreated as part of an update does not propagate permissions to the recreated object. This commit fixes that by saving away the permissions in `pg_class` temporarily and then copying them back into the `pg_class` table. If internal objects are created or re-created, they get the wrong initial privileges, which result in privileges not being dumped when using `pg_dump`. Save away the privileges before starting the update and restore them afterwards to make sure that the privileges are maintained over the update. For new objects, we use the initial privileges of the `chunk` metadata table, which should always have correct initial privileges. Fixes timescale#3078
The code in fdw_relinfo_get assumed rel->fdw_private and rel->fdw_private->fdw_relation_info were always allocated which is not true for DELETEs for instance.
There are quite a few compiler flags that need to be identical between postgresql and timescaledb otherwise there will be seemingly unexplainable failures during execution. We inherit all CFLAGS from postgresql except those starting with -W as we have our own set of warning options.
This patch adds coredump support for the 32bit CI runs. This patch switches 32bit run to the debian base image and install postgres from PGDG instead of using the alpine image so we don't have to compile postgres ourselves and can just install the debugsymbol package for postgres.
We started inheriting CFLAGS from postgresql via ba51adc. Although we remove "-W" flags, we still end up accepting other options like "-L" from postgresql. This can cause compilation to fail with compilers like Clang which enable reporting of errors on unused command line arguments. This patch conditionally adds -Wno-unused-command-line-argument in our cmake files to avoid unhelpful unused-command-line-argument warnings/errors.
Fix incorrect type cast when reading int64 compress after from compression policy Fixes timescale#3009 Signed-off-by: Xin Li <xin.li@hedera.com>
1) Quell a compiler warning about uninitialized use of "varno" variable. 2) Fix ts_chunk_get_by_name to return early if rogue schema/table args are passed in.
When reading the configuration for retention policy of integer based hypertables int32 was used instead of int64. Fixes timescale#2877
Block calling calculate_chunk_interval on distributed hypertables to prevent segfault when finding min and max as distributed chunks have no tableam since they are foreign tables.
This maintenance release contains bugfixes since the 2.2.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan, in distributed hypertables, in creation of indexes, in compression, and in policies. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3102 Fix `REINDEX TABLE` for distributed hypertables * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3109 Copy recreated object permissions on update * timescale#3111 Fix `CMAKE_BUILD_TYPE` check * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3118 Fix use after free in cache * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * timescale#3155 Inherit `CFLAGS` from PostgreSQL * timescale#3169 Fix incorrect type cast in compression policy * timescale#3183 Fix segfault in calculate_chunk_interval * timescale#3185 Fix wrong datatype in integer based retention policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
This turned out to be because I had included the commit that adds the current version to the update tests. Since we haven't bumped the version when only the commits are cherry picked, it tried to run an update from 2.2.0 to 2.2.0, which does not run the update script. Hence the diff. |
This is the list of commits: