From 9fb55f1fa45e70819977a4b3f84c151fdbf03e52 Mon Sep 17 00:00:00 2001 From: Max Kainov Date: Wed, 21 Feb 2024 13:18:02 +0000 Subject: [PATCH 1/2] CI: combine analyzer s3 dbreplicated into one job #job_Stateless_tests_release_analyzer_s3_DatabaseReplicated #job_style_check #no_merge_commit --- .github/workflows/master.yml | 24 +++--------------------- .github/workflows/pull_request.yml | 24 +++--------------------- tests/ci/ci_config.py | 21 +++++++++------------ 3 files changed, 15 insertions(+), 54 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 24daca44da6..a1992a286ad 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -375,28 +375,12 @@ jobs: test_name: Stateless tests (release) runner_type: func-tester data: ${{ needs.RunConfig.outputs.data }} - FunctionalStatelessTestReleaseDatabaseReplicated: + FunctionalStatelessTestReleaseAnalyzerS3Replicated: needs: [RunConfig, BuilderDebRelease] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/reusable_test.yml with: - test_name: Stateless tests (release, DatabaseReplicated) - runner_type: func-tester - data: ${{ needs.RunConfig.outputs.data }} - FunctionalStatelessTestReleaseAnalyzer: - needs: [RunConfig, BuilderDebRelease] - if: ${{ !failure() && !cancelled() }} - uses: ./.github/workflows/reusable_test.yml - with: - test_name: Stateless tests (release, analyzer) - runner_type: func-tester - data: ${{ needs.RunConfig.outputs.data }} - FunctionalStatelessTestReleaseS3: - needs: [RunConfig, BuilderDebRelease] - if: ${{ !failure() && !cancelled() }} - uses: ./.github/workflows/reusable_test.yml - with: - test_name: Stateless tests (release, s3 storage) + test_name: Stateless tests (release, analyzer, s3, DatabaseReplicated) runner_type: func-tester data: ${{ needs.RunConfig.outputs.data }} FunctionalStatelessTestS3Debug: @@ -825,9 +809,7 @@ jobs: - MarkReleaseReady - FunctionalStatelessTestDebug - FunctionalStatelessTestRelease - - FunctionalStatelessTestReleaseDatabaseReplicated - - FunctionalStatelessTestReleaseAnalyzer - - FunctionalStatelessTestReleaseS3 + - FunctionalStatelessTestReleaseAnalyzerS3Replicated - FunctionalStatelessTestAarch64 - FunctionalStatelessTestAsan - FunctionalStatelessTestTsan diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index c9cf5ab90dd..e56fbc3dceb 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -391,28 +391,12 @@ jobs: test_name: Stateless tests (release) runner_type: func-tester data: ${{ needs.RunConfig.outputs.data }} - FunctionalStatelessTestReleaseDatabaseReplicated: + FunctionalStatelessTestReleaseAnalyzerS3Replicated: needs: [RunConfig, BuilderDebRelease] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/reusable_test.yml with: - test_name: Stateless tests (release, DatabaseReplicated) - runner_type: func-tester - data: ${{ needs.RunConfig.outputs.data }} - FunctionalStatelessTestReleaseAnalyzer: - needs: [RunConfig, BuilderDebRelease] - if: ${{ !failure() && !cancelled() }} - uses: ./.github/workflows/reusable_test.yml - with: - test_name: Stateless tests (release, analyzer) - runner_type: func-tester - data: ${{ needs.RunConfig.outputs.data }} - FunctionalStatelessTestReleaseS3: - needs: [RunConfig, BuilderDebRelease] - if: ${{ !failure() && !cancelled() }} - uses: ./.github/workflows/reusable_test.yml - with: - test_name: Stateless tests (release, s3 storage) + test_name: Stateless tests (release, analyzer, s3, DatabaseReplicated) runner_type: func-tester data: ${{ needs.RunConfig.outputs.data }} FunctionalStatelessTestS3Debug: @@ -890,8 +874,6 @@ jobs: - TestsBugfixCheck - FunctionalStatelessTestDebug - FunctionalStatelessTestRelease - - FunctionalStatelessTestReleaseDatabaseReplicated - - FunctionalStatelessTestReleaseAnalyzer - FunctionalStatelessTestAarch64 - FunctionalStatelessTestAsan - FunctionalStatelessTestTsan @@ -904,9 +886,9 @@ jobs: - FunctionalStatefulTestTsan - FunctionalStatefulTestMsan - FunctionalStatefulTestUBsan - - FunctionalStatelessTestReleaseS3 - FunctionalStatelessTestS3Debug - FunctionalStatelessTestS3Tsan + - FunctionalStatelessTestReleaseAnalyzerS3Replicated - FunctionalStatefulTestReleaseParallelReplicas - FunctionalStatefulTestAsanParallelReplicas - FunctionalStatefulTestTsanParallelReplicas diff --git a/tests/ci/ci_config.py b/tests/ci/ci_config.py index 3ebcbb7ed59..1625ef9fa72 100644 --- a/tests/ci/ci_config.py +++ b/tests/ci/ci_config.py @@ -65,9 +65,13 @@ class JobNames(metaclass=WithIter): STATELESS_TEST_TSAN = "Stateless tests (tsan)" STATELESS_TEST_MSAN = "Stateless tests (msan)" STATELESS_TEST_UBSAN = "Stateless tests (ubsan)" - STATELESS_TEST_ANALYZER_RELEASE = "Stateless tests (release, analyzer)" - STATELESS_TEST_DB_REPL_RELEASE = "Stateless tests (release, DatabaseReplicated)" - STATELESS_TEST_S3_RELEASE = "Stateless tests (release, s3 storage)" + STATELESS_TEST_ANALYZER_S3_REPLICATED_RELEASE = ( + "Stateless tests (release, analyzer, s3, DatabaseReplicated)" + ) + # merged into STATELESS_TEST_ANALYZER_S3_REPLICATED_RELEASE: + # STATELESS_TEST_ANALYZER_RELEASE = "Stateless tests (release, analyzer)" + # STATELESS_TEST_DB_REPL_RELEASE = "Stateless tests (release, DatabaseReplicated)" + # STATELESS_TEST_S3_RELEASE = "Stateless tests (release, s3 storage)" STATELESS_TEST_S3_DEBUG = "Stateless tests (debug, s3 storage)" STATELESS_TEST_S3_TSAN = "Stateless tests (tsan, s3 storage)" STATELESS_TEST_FLAKY_ASAN = "Stateless tests flaky check (asan)" @@ -974,17 +978,10 @@ CI_CONFIG = CIConfig( JobNames.STATELESS_TEST_AARCH64: TestConfig( Build.PACKAGE_AARCH64, job_config=JobConfig(**statless_test_common_params) # type: ignore ), - JobNames.STATELESS_TEST_ANALYZER_RELEASE: TestConfig( - Build.PACKAGE_RELEASE, job_config=JobConfig(**statless_test_common_params) # type: ignore - ), - JobNames.STATELESS_TEST_DB_REPL_RELEASE: TestConfig( + JobNames.STATELESS_TEST_ANALYZER_S3_REPLICATED_RELEASE: TestConfig( Build.PACKAGE_RELEASE, job_config=JobConfig(num_batches=4, **statless_test_common_params), # type: ignore ), - JobNames.STATELESS_TEST_S3_RELEASE: TestConfig( - Build.PACKAGE_RELEASE, - job_config=JobConfig(num_batches=2, **statless_test_common_params), # type: ignore - ), JobNames.STATELESS_TEST_S3_DEBUG: TestConfig( Build.PACKAGE_DEBUG, job_config=JobConfig(num_batches=6, **statless_test_common_params), # type: ignore @@ -1150,7 +1147,7 @@ REQUIRED_CHECKS = [ JobNames.UNIT_TEST_TSAN, JobNames.UNIT_TEST_UBSAN, JobNames.INTEGRATION_TEST_ASAN_ANALYZER, - JobNames.STATELESS_TEST_ANALYZER_RELEASE, + JobNames.STATELESS_TEST_ANALYZER_S3_REPLICATED_RELEASE, ] From edba7940744b57ff0258496041b6b2aebfbc11aa Mon Sep 17 00:00:00 2001 From: Max Kainov Date: Thu, 22 Feb 2024 17:10:17 +0000 Subject: [PATCH 2/2] WA: 01023 test suppressed for replicated db #job_Stateless_tests_release_analyzer_s3_DatabaseReplicated #batch_2 #job_style_check #no_merge_commit --- .../01023_materialized_view_query_context.sql | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/queries/0_stateless/01023_materialized_view_query_context.sql b/tests/queries/0_stateless/01023_materialized_view_query_context.sql index 21569f375df..f8c282fedd5 100644 --- a/tests/queries/0_stateless/01023_materialized_view_query_context.sql +++ b/tests/queries/0_stateless/01023_materialized_view_query_context.sql @@ -1,4 +1,16 @@ --- Tags: no-parallel +-- Tags: no-parallel, no-replicated-database + +-- FIXME: old analyzer does not check db exist, new one checks it and test fails. test is suppressed for replicated. +-- without analyzer: +-- 2024.02.22 18:55:00.320120 [ 116105 ] {61f04f21-6d66-4064-926f-20657de2e66c} executeQuery: (from 0.0.0.0:0, user: ) (comment: 01023_materialized_view_query_context.sql) /* ddl_entry=query-0000000009 */ CREATE MATERIALIZED VIEW test_143n70zj.mv UUID '0572ef25-139a-4705-a213-601675435648' TO test_143n70zj.output (`key` UInt64, `val` UInt64) AS SELECT key, dictGetUInt64('dict_in_01023.dict', 'val', key) AS val FROM test_143n70zj.dist_out (stage: Complete) +-- 2024.02.22 18:55:00.321303 [ 116105 ] {61f04f21-6d66-4064-926f-20657de2e66c} DDLWorker(test_143n70zj): Executed query: /* ddl_entry=query-0000000009 */ CREATE MATERIALIZED VIEW test_143n70zj.mv UUID '0572ef25-139a-4705-a213-601675435648' TO test_143n70zj.output (`key` UInt64, `val` UInt64) AS SELECT key, dictGetUInt64('dict_in_01023.dict', 'val', key) AS val FROM test_143n70zj.dist_out +-- +-- with analyzer: +-- 2024.02.22 19:33:36.266538 [ 108818 ] {0e1586f5-8ae0-4065-81b7-1e7d43b85d82} executeQuery: (from 0.0.0.0:0, user: ) (comment: 01023_materialized_view_query_context.sql) /* ddl_entry=query-0000000009 */ CREATE MATERIALIZED VIEW test_devov0ke.mv UUID 'bf3a2bfe-1446-4a02-b760-bae514488c5a' TO test_devov0ke.output (`key` UInt64, `val` UInt64) AS SELECT key, dictGetUInt64('dict_in_01023.dict', 'val', key) AS val FROM test_devov0ke.dist_out (stage: Complete) +-- 2024.02.22 19:33:36.266796 [ 108818 ] {0e1586f5-8ae0-4065-81b7-1e7d43b85d82} Planner: Query SELECT __table1.key AS key, dictGetUInt64('dict_in_01023.dict', 'val', __table1.key) AS val FROM test_devov0ke.dist_out AS __table1 to stage Complete only analyze +-- 2024.02.22 19:33:36.266855 [ 108818 ] {0e1586f5-8ae0-4065-81b7-1e7d43b85d82} Planner: Query SELECT __table1.key AS key, dictGetUInt64('dict_in_01023.dict', 'val', __table1.key) AS val FROM test_devov0ke.dist_out AS __table1 from stage FetchColumns to stage Complete only analyze +-- 2024.02.22 19:33:36.280740 [ 108818 ] {0e1586f5-8ae0-4065-81b7-1e7d43b85d82} executeQuery: Code: 36. DB::Exception: Dictionary (`dict_in_01023.dict`) not found. (BAD_ARGUMENTS) (version 24.2.1.1429 (official build)) (from 0.0.0.0:0) (comment: 01023_materialized_view_query_context.sql) (in query: /* ddl_entry=query-0000000009 */ CREATE MATERIALIZED VIEW test_devov0ke.mv UUID 'bf3a2bfe-1446-4a02-b760-bae514488c5a' TO test_devov0ke.output (`key` UInt64, `val` UInt64) AS SELECT key, dictGetUInt64('dict_in_01023.dict', 'val', key) AS val FROM test_devov0ke.dist_out), Stack trace (when copying this message, always include the lines below): +-- 2024.02.22 19:33:36.280936 [ 108818 ] {0e1586f5-8ae0-4065-81b7-1e7d43b85d82} DDLWorker(test_devov0ke): Query /* ddl_entry=query-0000000009 */ CREATE MATERIALIZED VIEW test_devov0ke.mv UUID 'bf3a2bfe-1446-4a02-b760-bae514488c5a' TO test_devov0ke.output (`key` UInt64, `val` UInt64) AS SELECT key, dictGetUInt64('dict_in_01023.dict', 'val', key) AS val FROM test_devov0ke.dist_out wasn't finished successfully: Code: 36. DB::Exception: Dictionary (`dict_in_01023.dict`) not found. (BAD_ARGUMENTS), Stack trace (when copying this message, always include the lines below): -- Create dictionary, since dictGet*() uses DB::Context in executeImpl() -- (To cover scope of the Context in PushingToViews chain)