mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
Run regression test on latest PG versions
Docker images are build with latest versions of PostgreSQL, thus updating regression tests to run on the latest PG versions. Fixing authentication for PG docker images, since it is required after a recent change in docker-library/postgres@42ce743. Running isolation tests on new versions of PG produces additional output: - Notifications are not missed to print postgres/postgres@ebd4992 - Notifications are prefixed with session name postgres/postgres@a28e10e - Timeout cancellation is printed in isolation tests postgres/postgres@b578404 The expected outputs are modified to succeed on latest PG versions, while the affected isolation tests are disabled for earlier versions of PG.
This commit is contained in:
parent
c636856322
commit
403782a589
1
.gitignore
vendored
1
.gitignore
vendored
@ -13,6 +13,7 @@
|
||||
typedef.list
|
||||
/test/testcluster
|
||||
/test/log
|
||||
/test/temp_schedule
|
||||
/build
|
||||
**/GPATH
|
||||
**/GTAGS
|
||||
|
68
.travis.yml
68
.travis.yml
@ -24,7 +24,7 @@ env:
|
||||
- CODECOV_FLAGS="-F cron"
|
||||
before_install:
|
||||
# We need the PostgreSQL source for running the standard PostgreSQL regression tests
|
||||
- docker run -d --name pgbuild -v ${TRAVIS_BUILD_DIR}:/build postgres:${PG_VERSION}-alpine
|
||||
- docker run -d --name pgbuild --env POSTGRES_HOST_AUTH_METHOD=trust -v ${TRAVIS_BUILD_DIR}:/build postgres:${PG_VERSION}-alpine
|
||||
install:
|
||||
- docker exec -it pgbuild /bin/sh -c "apk add --no-cache --virtual .build-deps coreutils dpkg-dev findutils gcc libc-dev make util-linux-dev diffutils cmake bison flex curl git openssl-dev openssl && mkdir -p /build/debug /build/debug-nossl /postgres"
|
||||
- docker exec -it pgbuild /bin/sh -c "apk add --no-cache --virtual --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted lcov"
|
||||
@ -47,7 +47,7 @@ script:
|
||||
# Now build with OpenSSL
|
||||
- docker exec -it pgbuild /bin/sh -c "cd /build/debug && cmake .. -DCMAKE_BUILD_TYPE=Debug -DUSE_OPENSSL=true -DENABLE_CODECOVERAGE=TRUE -DPG_SOURCE_DIR=/postgres ${OTHER_CMAKE_FLAGS:-} && make install && chown -R postgres:postgres /build/debug/"
|
||||
# Now run all tests
|
||||
- ${RETRY_PREFIX} docker exec -u postgres -it pgbuild /bin/sh -c "make -k -C /build/debug installcheck PG_REGRESS_OPTS='--temp-instance=/tmp/pgdata'"
|
||||
- ${RETRY_PREFIX} docker exec -u postgres -it pgbuild /bin/sh -c "make -k -C /build/debug installcheck IGNORES='${IGNORES}' PG_REGRESS_OPTS='--temp-instance=/tmp/pgdata'"
|
||||
# Run the PG regression tests too
|
||||
- ${RETRY_PREFIX} docker exec -u postgres -it pgbuild /bin/sh -c "make -C /build/debug pginstallcheck PG_REGRESS_OPTS='--temp-instance=/tmp/pgdata'"
|
||||
after_failure:
|
||||
@ -92,12 +92,12 @@ jobs:
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Regression 9.6.15 32 bit"
|
||||
name: "Regression 9.6.17 32 bit"
|
||||
env:
|
||||
- PG_VERSION=9.6.15
|
||||
- PG_VERSION=9.6.17
|
||||
- RETRY_PREFIX=""
|
||||
before_install:
|
||||
- docker run -d --name pgbuild -v ${TRAVIS_BUILD_DIR}:/build i386/postgres:${PG_VERSION}-alpine
|
||||
- docker run -d --name pgbuild --env POSTGRES_HOST_AUTH_METHOD=trust -v ${TRAVIS_BUILD_DIR}:/build i386/postgres:${PG_VERSION}-alpine
|
||||
script:
|
||||
# First build without OpenSSL
|
||||
- docker exec -it pgbuild /bin/sh -c "cd /build/debug-nossl && cmake .. -DUSE_OPENSSL=false -DPG_SOURCE_DIR=/postgres ${OTHER_CMAKE_FLAGS:-} -DCMAKE_BUILD_TYPE=Debug && make install && chown -R postgres:postgres /build/debug-nossl/"
|
||||
@ -124,7 +124,7 @@ jobs:
|
||||
# Now build with OpenSSL
|
||||
- docker exec -it pgbuild /bin/sh -c "cd /build/debug && cmake .. -DCMAKE_BUILD_TYPE=Debug -DUSE_OPENSSL=true -DENABLE_CODECOVERAGE=TRUE -DPG_SOURCE_DIR=/postgres ${OTHER_CMAKE_FLAGS:-} && make install && chown -R postgres:postgres /build/debug/"
|
||||
# Now run all tests
|
||||
- ${RETRY_PREFIX} docker exec -u postgres -it pgbuild /bin/sh -c "make -k -C /build/debug installcheck IGNORES='append-10 bgw_db_scheduler chunk_adaptive ordered_append-10 parallel-10 transparent_decompression-10' PG_REGRESS_OPTS='--temp-instance=/tmp/pgdata'"
|
||||
- ${RETRY_PREFIX} docker exec -u postgres -it pgbuild /bin/sh -c "make -k -C /build/debug installcheck IGNORES='append-10 bgw_db_scheduler chunk_adaptive ordered_append-10 parallel-10 transparent_decompression-10 compression_ddl continuous_aggs_insert continuous_aggs_multi' PG_REGRESS_OPTS='--temp-instance=/tmp/pgdata'"
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
@ -142,7 +142,7 @@ jobs:
|
||||
# Now build with OpenSSL
|
||||
- docker exec -it pgbuild /bin/sh -c "cd /build/debug && cmake .. -DCMAKE_BUILD_TYPE=Debug -DUSE_OPENSSL=true -DENABLE_CODECOVERAGE=TRUE -DPG_SOURCE_DIR=/postgres ${OTHER_CMAKE_FLAGS:-} && make install && chown -R postgres:postgres /build/debug/"
|
||||
# Now run all tests
|
||||
- ${RETRY_PREFIX} docker exec -u postgres -it pgbuild /bin/sh -c "make -k -C /build/debug installcheck IGNORES='append-11 bgw_db_scheduler chunk_adaptive ordered_append-11 parallel-11 transparent_decompression-11' PG_REGRESS_OPTS='--temp-instance=/tmp/pgdata'"
|
||||
- ${RETRY_PREFIX} docker exec -u postgres -it pgbuild /bin/sh -c "make -k -C /build/debug installcheck IGNORES='append-11 bgw_db_scheduler chunk_adaptive ordered_append-11 parallel-11 transparent_decompression-11 compression_ddl continuous_aggs_insert continuous_aggs_multi' PG_REGRESS_OPTS='--temp-instance=/tmp/pgdata'"
|
||||
|
||||
# This runs tests on ARM32 emulation
|
||||
- if: branch = arm_test
|
||||
@ -165,7 +165,7 @@ jobs:
|
||||
- docker exec -u postgres -it docker_arm_emulator find /build -name postmaster.log -exec cat {} +
|
||||
script:
|
||||
# allow 50 mins to run
|
||||
- travis_wait 50 docker exec -u postgres docker_arm_emulator /bin/bash -c "cd /build && make installcheck IGNORES='multi_transaction_indexing bgw_db_scheduler bgw_job_delete continuous_aggs_insert continuous_aggs_bgw'"
|
||||
- travis_wait 50 docker exec -u postgres docker_arm_emulator /bin/bash -c "cd /build && make installcheck IGNORES='multi_transaction_indexing bgw_db_scheduler bgw_job_delete continuous_aggs_insert continuous_aggs_bgw compression_ddl continuous_aggs_insert continuous_aggs_multi'"
|
||||
after_script:
|
||||
- docker rm -f docker_arm_emulator
|
||||
|
||||
@ -189,7 +189,7 @@ jobs:
|
||||
- docker exec -u postgres -it docker_arm_emulator find /build -name postmaster.log -exec cat {} +
|
||||
script:
|
||||
# allow 50 mins to run
|
||||
- travis_wait 50 docker exec -u postgres docker_arm_emulator /bin/bash -c "cd /build && make installcheck IGNORES='multi_transaction_indexing bgw_db_scheduler bgw_job_delete continuous_aggs_insert continuous_aggs_bgw plan_ordered_append-10'"
|
||||
- travis_wait 50 docker exec -u postgres docker_arm_emulator /bin/bash -c "cd /build && make installcheck IGNORES='multi_transaction_indexing bgw_db_scheduler bgw_job_delete continuous_aggs_insert continuous_aggs_bgw plan_ordered_append-10 compression_ddl continuous_aggs_insert continuous_aggs_multi'"
|
||||
after_script:
|
||||
- docker rm -f docker_arm_emulator
|
||||
|
||||
@ -213,7 +213,7 @@ jobs:
|
||||
- docker exec -u postgres -it docker_arm_emulator find /build -name postmaster.log -exec cat {} +
|
||||
script:
|
||||
# allow 50 mins to run
|
||||
- travis_wait 50 docker exec -u postgres docker_arm_emulator /bin/bash -c "cd /build && make installcheck IGNORES='multi_transaction_indexing bgw_db_scheduler bgw_job_delete continuous_aggs_insert continuous_aggs_bgw plan_ordered_append-11 parallel-11'"
|
||||
- travis_wait 50 docker exec -u postgres docker_arm_emulator /bin/bash -c "cd /build && make installcheck IGNORES='multi_transaction_indexing bgw_db_scheduler bgw_job_delete continuous_aggs_insert continuous_aggs_bgw plan_ordered_append-11 parallel-11 compression_ddl continuous_aggs_insert continuous_aggs_multi'"
|
||||
after_script:
|
||||
- docker rm -f docker_arm_emulator
|
||||
|
||||
@ -222,54 +222,58 @@ jobs:
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Regression 9.6.6"
|
||||
env: PG_VERSION=9.6.6
|
||||
env: PG_VERSION=9.6.6 IGNORES="compression_ddl continuous_aggs_insert continuous_aggs_multi"
|
||||
|
||||
- if: (type = pull_request) OR (type = cron) OR NOT (branch = master)
|
||||
stage: test
|
||||
name: "Regression 9.6.15"
|
||||
env: PG_VERSION=9.6.15
|
||||
name: "Regression 9.6.17"
|
||||
env: PG_VERSION=9.6.17
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Regression 10.2"
|
||||
env: PG_VERSION=10.2
|
||||
env: PG_VERSION=10.2 IGNORES="compression_ddl continuous_aggs_insert continuous_aggs_multi"
|
||||
|
||||
- if: (type = pull_request) OR (type = cron) OR NOT (branch = master)
|
||||
stage: test
|
||||
name: "Regression 10.10"
|
||||
env: PG_VERSION=10.10
|
||||
name: "Regression 10.12"
|
||||
env: PG_VERSION=10.12
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Regression 11.0"
|
||||
env: PG_VERSION=11.0
|
||||
env: PG_VERSION=11.0 IGNORES="compression_ddl continuous_aggs_insert continuous_aggs_multi"
|
||||
|
||||
- if: (type = pull_request) OR (type = cron) OR NOT (branch = master)
|
||||
stage: test
|
||||
name: "Regression 11.5"
|
||||
env: PG_VERSION=11.5
|
||||
name: "Regression 11.7"
|
||||
env: PG_VERSION=11.7
|
||||
|
||||
#get codecov info, we only run 11.0 on PRs and the rest in cron
|
||||
- if: (type = pull_request) OR (type = cron) OR NOT (branch = master)
|
||||
stage: test
|
||||
name: "CodeCov 11.0"
|
||||
env: PG_VERSION=11.0 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'" CODECOV_FLAGS="-F pr"
|
||||
env:
|
||||
- PG_VERSION=11.0
|
||||
- OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'"
|
||||
- CODECOV_FLAGS="-F pr"
|
||||
- IGNORES="compression_ddl continuous_aggs_insert continuous_aggs_multi"
|
||||
after_success:
|
||||
- ci_env=`bash <(curl -s https://codecov.io/env)`
|
||||
- docker exec -it $ci_env pgbuild /bin/bash -c "cd /build/debug && bash <(curl -s https://codecov.io/bash) -c ${CODECOV_FLAGS} || echo \"Codecov did not collect coverage reports\" "
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "CodeCov 9.6.15"
|
||||
env: PG_VERSION=9.6.15 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'" CODECOV_FLAGS="-F cron"
|
||||
name: "CodeCov 9.6.17"
|
||||
env: PG_VERSION=9.6.17 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'" CODECOV_FLAGS="-F cron"
|
||||
after_success:
|
||||
- ci_env=`bash <(curl -s https://codecov.io/env)`
|
||||
- docker exec -it $ci_env pgbuild /bin/bash -c "cd /build/debug && bash <(curl -s https://codecov.io/bash) -c ${CODECOV_FLAGS} || echo \"Codecov did not collect coverage reports\" "
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "CodeCov 11.5"
|
||||
env: PG_VERSION=11.5 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'" CODECOV_FLAGS="-F cron"
|
||||
name: "CodeCov 11.7"
|
||||
env: PG_VERSION=11.7 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'" CODECOV_FLAGS="-F cron"
|
||||
after_success:
|
||||
- ci_env=`bash <(curl -s https://codecov.io/env)`
|
||||
- docker exec -it $ci_env pgbuild /bin/bash -c "cd /build/debug && bash <(curl -s https://codecov.io/bash) -c ${CODECOV_FLAGS} || echo \"Codecov did not collect coverage reports\" "
|
||||
@ -277,8 +281,8 @@ jobs:
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "CodeCov 10.10"
|
||||
env: PG_VERSION=10.10 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'" CODECOV_FLAGS="-F cron"
|
||||
name: "CodeCov 10.12"
|
||||
env: PG_VERSION=10.12 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DTS_COVERAGE_ONLY=TRUE -DCMAKE_C_FLAGS='-O0 -coverage -fprofile-arcs -ftest-coverage -DNDEBUG'" CODECOV_FLAGS="-F cron"
|
||||
after_success:
|
||||
- ci_env=`bash <(curl -s https://codecov.io/env)`
|
||||
- docker exec -it $ci_env pgbuild /bin/bash -c "cd /build/debug && bash <(curl -s https://codecov.io/bash) -c ${CODECOV_FLAGS} || echo \"Codecov did not collect coverage reports\" "
|
||||
@ -374,18 +378,18 @@ jobs:
|
||||
# Release mode regression tests
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Release regression tests 11.0"
|
||||
env: PG_VERSION=11.0 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE='Release'"
|
||||
name: "Release regression tests 11.7"
|
||||
env: PG_VERSION=11.7 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE='Release'"
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Release regression tests 10.2"
|
||||
env: PG_VERSION=10.2 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE='Release'"
|
||||
name: "Release regression tests 10.12"
|
||||
env: PG_VERSION=10.12 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE='Release'"
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Release regression tests 9.6.6"
|
||||
env: PG_VERSION=9.6.6 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE='Release'"
|
||||
name: "Release regression tests 9.6.17"
|
||||
env: PG_VERSION=9.6.17 OTHER_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE='Release'"
|
||||
|
||||
# Memory spike test when running out of order random inserts into timescaledb database
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
|
@ -51,7 +51,7 @@ create_postgres_build_image() {
|
||||
|
||||
echo "Creating new PostgreSQL build image ${image}"
|
||||
# Run a Postgres container
|
||||
docker run -d --name ${BUILD_CONTAINER_NAME} -v ${BASE_DIR}:/src postgres:${PG_IMAGE_TAG}
|
||||
docker run -d --name ${BUILD_CONTAINER_NAME} --env POSTGRES_HOST_AUTH_METHOD=trust -v ${BASE_DIR}:/src postgres:${PG_IMAGE_TAG}
|
||||
|
||||
# Install build dependencies
|
||||
docker exec -u root -it ${BUILD_CONTAINER_NAME} /bin/bash -c "apk add --no-cache --virtual .build-deps gdb git coreutils dpkg-dev gcc libc-dev make cmake util-linux-dev diffutils openssl-dev && mkdir -p /build/debug"
|
||||
|
@ -62,7 +62,7 @@ docker_exec() {
|
||||
|
||||
docker rm -f timescaledb-san 2>/dev/null || true
|
||||
|
||||
docker run -d --privileged --name timescaledb-san -v ${TIMESCALE_DIR}:/timescaledb ${REMOTE_ORG}/${REMOTE_NAME}:${REMOTE_TAG}
|
||||
docker run -d --privileged --name timescaledb-san --env POSTGRES_HOST_AUTH_METHOD=trust -v ${TIMESCALE_DIR}:/timescaledb ${REMOTE_ORG}/${REMOTE_NAME}:${REMOTE_TAG}
|
||||
|
||||
# Run these commands as root to copy the source into the
|
||||
# container. Make sure that all files in the copy is owned by user
|
||||
|
@ -84,9 +84,11 @@ LANGUAGE C VOLATILE STRICT;
|
||||
|
||||
SET lock_timeout = '50ms';
|
||||
SET role default_perm_user;
|
||||
SET client_min_messages = WARNING;
|
||||
}
|
||||
step "s3a" { select ts_test_bgw_job_delete_by_id(id) FROM _timescaledb_config.bgw_job; }
|
||||
teardown {
|
||||
RESET client_min_messages;
|
||||
reset role;
|
||||
}
|
||||
|
||||
|
@ -100,4 +100,6 @@ done
|
||||
|
||||
PG_ISOLATION_REGRESS_OPTS="${PG_ISOLATION_REGRESS_OPTS} --schedule=${TEMP_SCHEDULE}"
|
||||
|
||||
export PGISOLATIONTIMEOUT=100
|
||||
|
||||
${PG_ISOLATION_REGRESS} $@ ${PG_ISOLATION_REGRESS_OPTS}
|
||||
|
@ -50,6 +50,7 @@ step A1: BEGIN; ALTER TABLE ts_device_table SET ( fillfactor = 80); <waiting ...
|
||||
step C1: BEGIN; SELECT compress_chunk(q.chname) from (select ch.schema_name || '.' || ch.table_name as chname from _timescaledb_catalog.hypertable ht, _timescaledb_catalog.chunk ch where ch.hypertable_id = ht.id and ht.table_name like 'ts_device_table' order by ch.id limit 1 ) q; <waiting ...>
|
||||
step UnlockChunk: ROLLBACK;
|
||||
step A1: <... completed>
|
||||
isolationtester: canceling step C1 after 100 seconds
|
||||
step C1: <... completed>
|
||||
ERROR: canceling statement due to user request
|
||||
step Cc: COMMIT;
|
||||
|
@ -1,185 +0,0 @@
|
||||
Parsed test spec with 12 sessions
|
||||
|
||||
starting permutation: LockCompleted Refresh2 Refresh UnlockCompleted
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockCompleted I1 Refresh Ic UnlockCompleted
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ic: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockCompleted Refresh I1 Ic UnlockCompleted
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Sb LockCompleted Refresh S1 Sc UnlockCompleted
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
30
|
||||
step Sc: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Sb LockCompleted S1 Refresh Sc UnlockCompleted
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
30
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sc: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockInvalThr Refresh I1 Ic UnlockInvalThr
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInvalThr: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold IN SHARE MODE;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockInvalThr: ROLLBACK;
|
||||
step Refresh: <... completed>
|
||||
step Ic: <... completed>
|
||||
|
||||
starting permutation: Ib LockInvalThr I1 Refresh Ic UnlockInvalThr
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInvalThr: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold IN SHARE MODE;
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockInvalThr: ROLLBACK;
|
||||
step Refresh: <... completed>
|
||||
step Ic: <... completed>
|
||||
|
||||
starting permutation: Ib LockInval I1 Ic Refresh UnlockInval
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Refresh Ip1 Ipc UnlockInval
|
||||
step Ipb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Ipc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Ip1 Refresh Ipc UnlockInval
|
||||
step Ipb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ipc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Ip1 Ipc Refresh UnlockInval
|
||||
step Ipb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Ipc: COMMIT;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Refresh SV1 LockMatInval Refresh1 Ib I1 LockInvalThrEx Ic UnlockMatInval UnlockInvalThrEx SV1
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step SV1: SELECT * FROM continuous_view order by 1;
|
||||
time_bucket count
|
||||
|
||||
0 5
|
||||
5 5
|
||||
10 5
|
||||
step LockMatInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_materialization_invalidation_log;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step LockInvalThrEx: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold ;
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockMatInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh1: <... completed>
|
||||
step UnlockInvalThrEx: ROLLBACK;
|
||||
step Ic: <... completed>
|
||||
step SV1: SELECT * FROM continuous_view order by 1;
|
||||
time_bucket count
|
||||
|
||||
0 5
|
||||
5 5
|
||||
10 5
|
||||
|
||||
starting permutation: I1 Refresh LockInval Refresh Sb S1 Sc UnlockInval
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
31
|
||||
step Sc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: I1 Refresh LockInval Sb S1 Refresh Sc UnlockInval
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
31
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
@ -1,185 +0,0 @@
|
||||
Parsed test spec with 12 sessions
|
||||
|
||||
starting permutation: LockCompleted Refresh2 Refresh UnlockCompleted
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockCompleted I1 Refresh Ic UnlockCompleted
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ic: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockCompleted Refresh I1 Ic UnlockCompleted
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Sb LockCompleted Refresh S1 Sc UnlockCompleted
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
30
|
||||
step Sc: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Sb LockCompleted S1 Refresh Sc UnlockCompleted
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold;
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
30
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sc: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockInvalThr Refresh I1 Ic UnlockInvalThr
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInvalThr: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold IN SHARE MODE;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockInvalThr: ROLLBACK;
|
||||
step Refresh: <... completed>
|
||||
step Ic: <... completed>
|
||||
|
||||
starting permutation: Ib LockInvalThr I1 Refresh Ic UnlockInvalThr
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInvalThr: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold IN SHARE MODE;
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockInvalThr: ROLLBACK;
|
||||
step Refresh: <... completed>
|
||||
step Ic: <... completed>
|
||||
|
||||
starting permutation: Ib LockInval I1 Ic Refresh UnlockInval
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Refresh Ip1 Ipc UnlockInval
|
||||
step Ipb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Ipc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Ip1 Refresh Ipc UnlockInval
|
||||
step Ipb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ipc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Ip1 Ipc Refresh UnlockInval
|
||||
step Ipb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Ipc: COMMIT;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Refresh SV1 LockMatInval Refresh1 Ib I1 LockInvalThrEx Ic UnlockMatInval UnlockInvalThrEx SV1
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step SV1: SELECT * FROM continuous_view order by 1;
|
||||
time_bucket count
|
||||
|
||||
0 5
|
||||
5 5
|
||||
10 5
|
||||
step LockMatInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_materialization_invalidation_log;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step LockInvalThrEx: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold ;
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockMatInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh1: <... completed>
|
||||
step UnlockInvalThrEx: ROLLBACK;
|
||||
step Ic: <... completed>
|
||||
step SV1: SELECT * FROM continuous_view order by 1;
|
||||
time_bucket count
|
||||
|
||||
0 5
|
||||
5 5
|
||||
10 5
|
||||
|
||||
starting permutation: I1 Refresh LockInval Refresh Sb S1 Sc UnlockInval
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
31
|
||||
step Sc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: I1 Refresh LockInval Sb S1 Refresh Sc UnlockInval
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step S1: SELECT count(*) FROM ts_continuous_test;
|
||||
count
|
||||
|
||||
31
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
@ -6,9 +6,9 @@ step Refresh2: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
R: LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockCompleted I1 Refresh Ic UnlockCompleted
|
||||
@ -18,7 +18,7 @@ step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ic: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockCompleted Refresh I1 Ic UnlockCompleted
|
||||
@ -28,7 +28,7 @@ step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Sb LockCompleted Refresh S1 Sc UnlockCompleted
|
||||
@ -41,7 +41,7 @@ count
|
||||
30
|
||||
step Sc: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Sb LockCompleted S1 Refresh Sc UnlockCompleted
|
||||
@ -54,13 +54,13 @@ count
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sc: COMMIT;
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ib LockInvalThr Refresh I1 Ic UnlockInvalThr
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInvalThr: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold IN SHARE MODE;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
@ -72,7 +72,7 @@ starting permutation: Ib LockInvalThr I1 Refresh Ic UnlockInvalThr
|
||||
step Ib: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
step LockInvalThr: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold IN SHARE MODE;
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockInvalThr: ROLLBACK;
|
||||
@ -86,7 +86,7 @@ step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step Ic: COMMIT;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Refresh Ip1 Ipc UnlockInval
|
||||
@ -96,7 +96,7 @@ step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Ipc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Ip1 Refresh Ipc UnlockInval
|
||||
@ -106,7 +106,7 @@ step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Ipc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Ipb LockInval Ip1 Ipc Refresh UnlockInval
|
||||
@ -116,11 +116,11 @@ step Ip1: INSERT INTO ts_continuous_test VALUES (29, 29);
|
||||
step Ipc: COMMIT;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: Refresh SV1 LockMatInval Refresh1 Ib I1 LockInvalThrEx Ic UnlockMatInval UnlockInvalThrEx SV1
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step SV1: SELECT * FROM continuous_view order by 1;
|
||||
time_bucket count
|
||||
@ -135,9 +135,9 @@ step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
step LockInvalThrEx: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_invalidation_threshold ;
|
||||
step Ic: COMMIT; <waiting ...>
|
||||
step UnlockMatInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
R1: LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
R1: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
R1: LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh1: <... completed>
|
||||
step UnlockInvalThrEx: ROLLBACK;
|
||||
step Ic: <... completed>
|
||||
@ -150,7 +150,7 @@ time_bucket count
|
||||
|
||||
starting permutation: I1 Refresh LockInval Refresh Sb S1 Sc UnlockInval
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
@ -161,14 +161,14 @@ count
|
||||
31
|
||||
step Sc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
R: LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
||||
|
||||
starting permutation: I1 Refresh LockInval Sb S1 Refresh Sc UnlockInval
|
||||
step I1: INSERT INTO ts_continuous_test VALUES (1, 1);
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, new range up to 15
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view;
|
||||
step LockInval: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_hypertable_invalidation_log;
|
||||
step Sb: BEGIN; SET LOCAL lock_timeout = '50ms'; SET LOCAL deadlock_timeout = '10ms';
|
||||
@ -179,7 +179,7 @@ count
|
||||
step Refresh: REFRESH MATERIALIZED VIEW continuous_view; <waiting ...>
|
||||
step Sc: COMMIT;
|
||||
step UnlockInval: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
R: LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 15 as of 29
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: nothing to invalidate, no new range
|
||||
R: LOG: materializing continuous aggregate public.continuous_view: no new range to materialize or invalidations found, exiting early
|
||||
step Refresh: <... completed>
|
@ -1,132 +0,0 @@
|
||||
Parsed test spec with 9 sessions
|
||||
|
||||
starting permutation: Setup2 LockCompleted LockMat1 Refresh1 Refresh2 UnlockCompleted UnlockMat1
|
||||
step Setup2:
|
||||
CREATE VIEW continuous_view_1( bkt, cnt)
|
||||
WITH ( timescaledb.continuous, timescaledb.refresh_lag = '-5', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), COUNT(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE VIEW continuous_view_2(bkt, maxl)
|
||||
WITH ( timescaledb.continuous,timescaledb.refresh_lag='-10', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), max(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE FUNCTION lock_mattable( name text) RETURNS void AS $$
|
||||
BEGIN EXECUTE format( 'lock table %s', name);
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold IN SHARE MODE;
|
||||
step LockMat1: BEGIN; select lock_mattable(materialization_hypertable::text) from timescaledb_information.continuous_aggregates where view_name::text like 'continuous_view_1';
|
||||
|
||||
lock_mattable
|
||||
|
||||
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: <... completed>
|
||||
|
||||
starting permutation: Setup2 Refresh1 Refresh2 LockCompleted LockMat1 I1 Refresh1 Refresh2 UnlockCompleted UnlockMat1 Refresh1_sel Refresh2_sel
|
||||
step Setup2:
|
||||
CREATE VIEW continuous_view_1( bkt, cnt)
|
||||
WITH ( timescaledb.continuous, timescaledb.refresh_lag = '-5', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), COUNT(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE VIEW continuous_view_2(bkt, maxl)
|
||||
WITH ( timescaledb.continuous,timescaledb.refresh_lag='-10', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), max(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE FUNCTION lock_mattable( name text) RETURNS void AS $$
|
||||
BEGIN EXECUTE format( 'lock table %s', name);
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1;
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2;
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold IN SHARE MODE;
|
||||
step LockMat1: BEGIN; select lock_mattable(materialization_hypertable::text) from timescaledb_information.continuous_aggregates where view_name::text like 'continuous_view_1';
|
||||
|
||||
lock_mattable
|
||||
|
||||
|
||||
step I1: INSERT INTO ts_continuous_test SELECT 0, i*10 FROM (SELECT generate_series(0, 10) AS i) AS i;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: processing invalidations, no new range
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: processing invalidations, no new range
|
||||
step Refresh1: <... completed>
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
|
||||
0 16
|
||||
step Refresh2_sel: select * from continuous_view_2 where bkt = 0 or bkt > 30 order by bkt;
|
||||
bkt maxl
|
||||
|
||||
0 100
|
||||
|
||||
starting permutation: Setup2 AlterLag1 Refresh1 Refresh2 Refresh1_sel Refresh2_sel LockCompleted LockMat1 I2 Refresh1 Refresh2 UnlockCompleted UnlockMat1 Refresh1_sel Refresh2_sel
|
||||
step Setup2:
|
||||
CREATE VIEW continuous_view_1( bkt, cnt)
|
||||
WITH ( timescaledb.continuous, timescaledb.refresh_lag = '-5', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), COUNT(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE VIEW continuous_view_2(bkt, maxl)
|
||||
WITH ( timescaledb.continuous,timescaledb.refresh_lag='-10', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), max(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE FUNCTION lock_mattable( name text) RETURNS void AS $$
|
||||
BEGIN EXECUTE format( 'lock table %s', name);
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
step AlterLag1: alter view continuous_view_1 set (timescaledb.refresh_lag = 10);
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 15
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1;
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2;
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
|
||||
0 5
|
||||
step Refresh2_sel: select * from continuous_view_2 where bkt = 0 or bkt > 30 order by bkt;
|
||||
bkt maxl
|
||||
|
||||
0 4
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold IN SHARE MODE;
|
||||
step LockMat1: BEGIN; select lock_mattable(materialization_hypertable::text) from timescaledb_information.continuous_aggregates where view_name::text like 'continuous_view_1';
|
||||
|
||||
lock_mattable
|
||||
|
||||
|
||||
step I2: INSERT INTO ts_continuous_test SELECT 40, 1000 ;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 45
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: <... completed>
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
|
||||
0 5
|
||||
step Refresh2_sel: select * from continuous_view_2 where bkt = 0 or bkt > 30 order by bkt;
|
||||
bkt maxl
|
||||
|
||||
0 4
|
||||
40 1000
|
@ -1,132 +0,0 @@
|
||||
Parsed test spec with 9 sessions
|
||||
|
||||
starting permutation: Setup2 LockCompleted LockMat1 Refresh1 Refresh2 UnlockCompleted UnlockMat1
|
||||
step Setup2:
|
||||
CREATE VIEW continuous_view_1( bkt, cnt)
|
||||
WITH ( timescaledb.continuous, timescaledb.refresh_lag = '-5', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), COUNT(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE VIEW continuous_view_2(bkt, maxl)
|
||||
WITH ( timescaledb.continuous,timescaledb.refresh_lag='-10', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), max(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE FUNCTION lock_mattable( name text) RETURNS void AS $$
|
||||
BEGIN EXECUTE format( 'lock table %s', name);
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold IN SHARE MODE;
|
||||
step LockMat1: BEGIN; select lock_mattable(materialization_hypertable::text) from timescaledb_information.continuous_aggregates where view_name::text like 'continuous_view_1';
|
||||
|
||||
lock_mattable
|
||||
|
||||
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: <... completed>
|
||||
|
||||
starting permutation: Setup2 Refresh1 Refresh2 LockCompleted LockMat1 I1 Refresh1 Refresh2 UnlockCompleted UnlockMat1 Refresh1_sel Refresh2_sel
|
||||
step Setup2:
|
||||
CREATE VIEW continuous_view_1( bkt, cnt)
|
||||
WITH ( timescaledb.continuous, timescaledb.refresh_lag = '-5', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), COUNT(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE VIEW continuous_view_2(bkt, maxl)
|
||||
WITH ( timescaledb.continuous,timescaledb.refresh_lag='-10', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), max(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE FUNCTION lock_mattable( name text) RETURNS void AS $$
|
||||
BEGIN EXECUTE format( 'lock table %s', name);
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1;
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2;
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold IN SHARE MODE;
|
||||
step LockMat1: BEGIN; select lock_mattable(materialization_hypertable::text) from timescaledb_information.continuous_aggregates where view_name::text like 'continuous_view_1';
|
||||
|
||||
lock_mattable
|
||||
|
||||
|
||||
step I1: INSERT INTO ts_continuous_test SELECT 0, i*10 FROM (SELECT generate_series(0, 10) AS i) AS i;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: processing invalidations, no new range
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: processing invalidations, no new range
|
||||
step Refresh1: <... completed>
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
|
||||
0 16
|
||||
step Refresh2_sel: select * from continuous_view_2 where bkt = 0 or bkt > 30 order by bkt;
|
||||
bkt maxl
|
||||
|
||||
0 100
|
||||
|
||||
starting permutation: Setup2 AlterLag1 Refresh1 Refresh2 Refresh1_sel Refresh2_sel LockCompleted LockMat1 I2 Refresh1 Refresh2 UnlockCompleted UnlockMat1 Refresh1_sel Refresh2_sel
|
||||
step Setup2:
|
||||
CREATE VIEW continuous_view_1( bkt, cnt)
|
||||
WITH ( timescaledb.continuous, timescaledb.refresh_lag = '-5', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), COUNT(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE VIEW continuous_view_2(bkt, maxl)
|
||||
WITH ( timescaledb.continuous,timescaledb.refresh_lag='-10', timescaledb.refresh_interval='72 hours')
|
||||
AS SELECT time_bucket('5', time), max(val)
|
||||
FROM ts_continuous_test
|
||||
GROUP BY 1;
|
||||
CREATE FUNCTION lock_mattable( name text) RETURNS void AS $$
|
||||
BEGIN EXECUTE format( 'lock table %s', name);
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
step AlterLag1: alter view continuous_view_1 set (timescaledb.refresh_lag = 10);
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 15
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1;
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2;
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
|
||||
0 5
|
||||
step Refresh2_sel: select * from continuous_view_2 where bkt = 0 or bkt > 30 order by bkt;
|
||||
bkt maxl
|
||||
|
||||
0 4
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold IN SHARE MODE;
|
||||
step LockMat1: BEGIN; select lock_mattable(materialization_hypertable::text) from timescaledb_information.continuous_aggregates where view_name::text like 'continuous_view_1';
|
||||
|
||||
lock_mattable
|
||||
|
||||
|
||||
step I2: INSERT INTO ts_continuous_test SELECT 40, 1000 ;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 45
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: <... completed>
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
|
||||
0 5
|
||||
step Refresh2_sel: select * from continuous_view_2 where bkt = 0 or bkt > 30 order by bkt;
|
||||
bkt maxl
|
||||
|
||||
0 4
|
||||
40 1000
|
@ -23,12 +23,12 @@ lock_mattable
|
||||
|
||||
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
R2: LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
R1: LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: <... completed>
|
||||
|
||||
starting permutation: Setup2 Refresh1 Refresh2 LockCompleted LockMat1 I1 Refresh1 Refresh2 UnlockCompleted UnlockMat1 Refresh1_sel Refresh2_sel
|
||||
@ -47,9 +47,9 @@ step Setup2:
|
||||
BEGIN EXECUTE format( 'lock table %s', name);
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
R1: LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1;
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
R2: LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2;
|
||||
step LockCompleted: BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_completed_threshold IN SHARE MODE;
|
||||
step LockMat1: BEGIN; select lock_mattable(materialization_hypertable::text) from timescaledb_information.continuous_aggregates where view_name::text like 'continuous_view_1';
|
||||
@ -59,14 +59,14 @@ lock_mattable
|
||||
|
||||
step I1: INSERT INTO ts_continuous_test SELECT 0, i*10 FROM (SELECT generate_series(0, 10) AS i) AS i;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: processing invalidations, no new range
|
||||
R2: LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
R2: LOG: materializing continuous aggregate public.continuous_view_2: processing invalidations, no new range
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: processing invalidations, no new range
|
||||
R1: LOG: new materialization range not found for public.ts_continuous_test (time column time): not enough new data past completion threshold of 30 as of 29
|
||||
R1: LOG: materializing continuous aggregate public.continuous_view_1: processing invalidations, no new range
|
||||
step Refresh1: <... completed>
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
@ -94,9 +94,9 @@ step Setup2:
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
|
||||
step AlterLag1: alter view continuous_view_1 set (timescaledb.refresh_lag = 10);
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 15
|
||||
R1: LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 15
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1;
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
R2: LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 30
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2;
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
||||
@ -114,12 +114,12 @@ lock_mattable
|
||||
|
||||
step I2: INSERT INTO ts_continuous_test SELECT 40, 1000 ;
|
||||
step Refresh1: REFRESH MATERIALIZED VIEW continuous_view_1; <waiting ...>
|
||||
LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 45
|
||||
R2: LOG: materializing continuous aggregate public.continuous_view_2: nothing to invalidate, new range up to 45
|
||||
step Refresh2: REFRESH MATERIALIZED VIEW continuous_view_2; <waiting ...>
|
||||
step UnlockCompleted: ROLLBACK;
|
||||
step Refresh2: <... completed>
|
||||
step UnlockMat1: ROLLBACK;
|
||||
LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
R1: LOG: materializing continuous aggregate public.continuous_view_1: nothing to invalidate, new range up to 30
|
||||
step Refresh1: <... completed>
|
||||
step Refresh1_sel: select * from continuous_view_1 where bkt = 0 or bkt > 30
|
||||
bkt cnt
|
@ -4,16 +4,16 @@ set(TEST_TEMPLATES_MODULE
|
||||
reorder_vs_insert_other_chunk.spec.in
|
||||
)
|
||||
|
||||
set(TEST_TEMPLATES
|
||||
continuous_aggs_insert.spec.in
|
||||
continuous_aggs_multi.spec.in
|
||||
)
|
||||
|
||||
set(TEST_TEMPLATES_MODULE_DEBUG
|
||||
reorder_vs_insert.spec.in
|
||||
reorder_vs_select.spec.in
|
||||
)
|
||||
|
||||
list(APPEND TEST_FILES
|
||||
continuous_aggs_insert.spec
|
||||
continuous_aggs_multi.spec
|
||||
)
|
||||
|
||||
if (${PG_VERSION_MAJOR} GREATER "9")
|
||||
list(APPEND TEST_FILES
|
||||
compression_ddl.spec
|
||||
|
Loading…
x
Reference in New Issue
Block a user