Alter Test Run Report

DateApr 29, 2024 19:23
Duration1h 51m
Framework TestFlows 2.0.231215.1221232

Artifacts

Test artifacts can be found at https://altinity-build-artifacts.s3.amazonaws.com/index.html#0/false/regression/

Attributes

projectAltinity/ClickHouse
project.id159717931
packagehttps://s3.amazonaws.com/altinity-build-artifacts/23.8/8e9be16153250c8307730c9b88c8517181f494ce/package_release/clickhouse-common-static_23.8.11.29.altinitystable_amd64.deb
version23.8.11.29.altinitystable
user.nameEnmk
repositoryhttps://github.com/Altinity/clickhouse-regression
commit.hash17a81c07fc1f41fbee651e0ef0ca4b44e537e5b1
job.id8868426423
job.urlhttps://github.com/Altinity/ClickHouse/actions/runs/8868426423
archx86_64
stressFalse
allow_vfsFalse
allow_experimental_analyzerFalse
localTrue
clickhouse_versionNone
clickhouse_binary_pathhttps://s3.amazonaws.com/altinity-build-artifacts/23.8/8e9be16153250c8307730c9b88c8517181f494ce/package_release/clickhouse-common-static_23.8.11.29.altinitystable_amd64.deb
collect_service_logsTrue
use_specific_versionaltinity/clickhouse-server:23.3.13.7.altinitytest

Summary

19.6%OK
<1%Fail

Statistics

Units Skip OK Fail
Modules
1
1
Features
16
14
2
Scenarios
14437
13597
837
3
Steps
250142
1518
247677
947

Fails

Test NameResultMessage
/alterFail 1h 51m
AssertionError
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 192, in merge_increment
    Scenario(
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 78, in check_merge_increment
    assert part_name.output == expected_part_name, error(
AssertionError: Oops! Assertion failed

The following assertion was not satisfied
  @TestScenario
  def check_merge_increment(self, engine):
      """Check that when two or more parts are merged into one, the chunk level is
      incremented by one from highest level."""
      first_table = "first_" + getuid()
      node = self.context.node

      with Given("I create an empty source table"):
          create_MergeTree_table_with_data(
              table_name=first_table,
              engine=engine,
              order_by="id",
              number_of_rows=0,
          )

      with And(
          "I insert data to create multiple parts and optimize table so first part will have chunk level 2"
      ):
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(20)"
          )
          optimize_table(table_name=first_table)
          optimize_table(table_name=first_table)
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(2)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(10)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(5)"
          )

      with And("I create second table"):
          second_table = "second_" + getuid()
          create_MergeTree_table_with_data(
              table_name=second_table,
              engine=engine,
              order_by="id",
              number_of_rows=30,
          )

      with And("I optimize the second table 10 times to increase chunk level to 10"):
          for _ in range(10):
              optimize_table(table_name=second_table)

      with And("I attach partition from the second table to the first table"):
          attach_partition_from(
              source_table=second_table,
              destination_table=first_table,
              partition="tuple()",
          )

      with And("I check part names"):
          part_names = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          ).output.split("\n")

      with And(
          "I merge all parts into one and expect chunk level to be incremented by one from highest level"
      ):
          optimize_table(table_name=first_table)
          expected_part_name = "all_1_5_11"

          part_name = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          )
          for attempt in retries(timeout=30, delay=2):
              with attempt:
                  assert part_name.output == expected_part_name, error(

Description
  Unexpected part name: all_1_5_12

Where
  File '/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py', line 78 in 'check_merge_increment'

70\|          optimize_table(table_name=first_table)
71\|          expected_part_name = "all_1_5_11"
72\|  
73\|          part_name = node.query(
74\|              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
75\|          )
76\|          for attempt in retries(timeout=30, delay=2):
77\|              with attempt:
78\|>                 assert part_name.output == expected_part_name, error(
79\|                      f"Unexpected part name: {part_name.output}"
80\|                  )
81\|
/alter/attach partitionFail 1h 48m
AssertionError
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 192, in merge_increment
    Scenario(
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 78, in check_merge_increment
    assert part_name.output == expected_part_name, error(
AssertionError: Oops! Assertion failed

The following assertion was not satisfied
  @TestScenario
  def check_merge_increment(self, engine):
      """Check that when two or more parts are merged into one, the chunk level is
      incremented by one from highest level."""
      first_table = "first_" + getuid()
      node = self.context.node

      with Given("I create an empty source table"):
          create_MergeTree_table_with_data(
              table_name=first_table,
              engine=engine,
              order_by="id",
              number_of_rows=0,
          )

      with And(
          "I insert data to create multiple parts and optimize table so first part will have chunk level 2"
      ):
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(20)"
          )
          optimize_table(table_name=first_table)
          optimize_table(table_name=first_table)
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(2)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(10)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(5)"
          )

      with And("I create second table"):
          second_table = "second_" + getuid()
          create_MergeTree_table_with_data(
              table_name=second_table,
              engine=engine,
              order_by="id",
              number_of_rows=30,
          )

      with And("I optimize the second table 10 times to increase chunk level to 10"):
          for _ in range(10):
              optimize_table(table_name=second_table)

      with And("I attach partition from the second table to the first table"):
          attach_partition_from(
              source_table=second_table,
              destination_table=first_table,
              partition="tuple()",
          )

      with And("I check part names"):
          part_names = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          ).output.split("\n")

      with And(
          "I merge all parts into one and expect chunk level to be incremented by one from highest level"
      ):
          optimize_table(table_name=first_table)
          expected_part_name = "all_1_5_11"

          part_name = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          )
          for attempt in retries(timeout=30, delay=2):
              with attempt:
                  assert part_name.output == expected_part_name, error(

Description
  Unexpected part name: all_1_5_12

Where
  File '/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py', line 78 in 'check_merge_increment'

70\|          optimize_table(table_name=first_table)
71\|          expected_part_name = "all_1_5_11"
72\|  
73\|          part_name = node.query(
74\|              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
75\|          )
76\|          for attempt in retries(timeout=30, delay=2):
77\|              with attempt:
78\|>                 assert part_name.output == expected_part_name, error(
79\|                      f"Unexpected part name: {part_name.output}"
80\|                  )
81\|
/alter/attach partition/part levelFail 1m 33s
AssertionError
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 192, in merge_increment
    Scenario(
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 78, in check_merge_increment
    assert part_name.output == expected_part_name, error(
AssertionError: Oops! Assertion failed

The following assertion was not satisfied
  @TestScenario
  def check_merge_increment(self, engine):
      """Check that when two or more parts are merged into one, the chunk level is
      incremented by one from highest level."""
      first_table = "first_" + getuid()
      node = self.context.node

      with Given("I create an empty source table"):
          create_MergeTree_table_with_data(
              table_name=first_table,
              engine=engine,
              order_by="id",
              number_of_rows=0,
          )

      with And(
          "I insert data to create multiple parts and optimize table so first part will have chunk level 2"
      ):
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(20)"
          )
          optimize_table(table_name=first_table)
          optimize_table(table_name=first_table)
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(2)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(10)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(5)"
          )

      with And("I create second table"):
          second_table = "second_" + getuid()
          create_MergeTree_table_with_data(
              table_name=second_table,
              engine=engine,
              order_by="id",
              number_of_rows=30,
          )

      with And("I optimize the second table 10 times to increase chunk level to 10"):
          for _ in range(10):
              optimize_table(table_name=second_table)

      with And("I attach partition from the second table to the first table"):
          attach_partition_from(
              source_table=second_table,
              destination_table=first_table,
              partition="tuple()",
          )

      with And("I check part names"):
          part_names = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          ).output.split("\n")

      with And(
          "I merge all parts into one and expect chunk level to be incremented by one from highest level"
      ):
          optimize_table(table_name=first_table)
          expected_part_name = "all_1_5_11"

          part_name = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          )
          for attempt in retries(timeout=30, delay=2):
              with attempt:
                  assert part_name.output == expected_part_name, error(

Description
  Unexpected part name: all_1_5_12

Where
  File '/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py', line 78 in 'check_merge_increment'

70\|          optimize_table(table_name=first_table)
71\|          expected_part_name = "all_1_5_11"
72\|  
73\|          part_name = node.query(
74\|              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
75\|          )
76\|          for attempt in retries(timeout=30, delay=2):
77\|              with attempt:
78\|>                 assert part_name.output == expected_part_name, error(
79\|                      f"Unexpected part name: {part_name.output}"
80\|                  )
81\|
/alter/attach partition/part level/merge incrementFail 1m 24s
AssertionError
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 192, in merge_increment
    Scenario(
  File "/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py", line 78, in check_merge_increment
    assert part_name.output == expected_part_name, error(
AssertionError: Oops! Assertion failed

The following assertion was not satisfied
  @TestScenario
  def check_merge_increment(self, engine):
      """Check that when two or more parts are merged into one, the chunk level is
      incremented by one from highest level."""
      first_table = "first_" + getuid()
      node = self.context.node

      with Given("I create an empty source table"):
          create_MergeTree_table_with_data(
              table_name=first_table,
              engine=engine,
              order_by="id",
              number_of_rows=0,
          )

      with And(
          "I insert data to create multiple parts and optimize table so first part will have chunk level 2"
      ):
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(20)"
          )
          optimize_table(table_name=first_table)
          optimize_table(table_name=first_table)
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(2)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(10)"
          )
          node.query(
              f"INSERT INTO {first_table} (id, sign) SELECT number,1 FROM numbers(5)"
          )

      with And("I create second table"):
          second_table = "second_" + getuid()
          create_MergeTree_table_with_data(
              table_name=second_table,
              engine=engine,
              order_by="id",
              number_of_rows=30,
          )

      with And("I optimize the second table 10 times to increase chunk level to 10"):
          for _ in range(10):
              optimize_table(table_name=second_table)

      with And("I attach partition from the second table to the first table"):
          attach_partition_from(
              source_table=second_table,
              destination_table=first_table,
              partition="tuple()",
          )

      with And("I check part names"):
          part_names = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          ).output.split("\n")

      with And(
          "I merge all parts into one and expect chunk level to be incremented by one from highest level"
      ):
          optimize_table(table_name=first_table)
          expected_part_name = "all_1_5_11"

          part_name = node.query(
              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
          )
          for attempt in retries(timeout=30, delay=2):
              with attempt:
                  assert part_name.output == expected_part_name, error(

Description
  Unexpected part name: all_1_5_12

Where
  File '/home/ubuntu/_work/ClickHouse/ClickHouse/alter/../alter/table/attach_partition/part_names/merge_increment.py', line 78 in 'check_merge_increment'

70\|          optimize_table(table_name=first_table)
71\|          expected_part_name = "all_1_5_11"
72\|  
73\|          part_name = node.query(
74\|              f"SELECT name FROM system.parts WHERE table = '{first_table}' AND active"
75\|          )
76\|          for attempt in retries(timeout=30, delay=2):
77\|              with attempt:
78\|>                 assert part_name.output == expected_part_name, error(
79\|                      f"Unexpected part name: {part_name.output}"
80\|                  )
81\|

Results

Test Name Result Duration
/alter Fail 1h 51m
/alter/attach partition Fail 1h 48m
/alter/attach partition/partition types OK 6s 429ms
/alter/attach partition/partition types/attach part detached with different partition types OK 6s 428ms
/alter/attach partition/partition key OK 4m 33s
/alter/attach partition/partition key/attach partition from without id OK 4m 32s
/alter/attach partition/partition key/attach partition from with id OK 4m 33s
/alter/attach partition/partition key datetime OK 3m 24s
/alter/attach partition/partition key datetime/attach partition from OK 3m 24s
/alter/attach partition/storage OK 15s 127ms
/alter/attach partition/storage/shards OK 751ms
/alter/attach partition/storage/attach partition on minio and default disks OK 7s 315ms
/alter/attach partition/storage/attach partition on tiered and default storages OK 5s 75ms
/alter/attach partition/storage/attach partition detached on different types of disks OK 1s 982ms
/alter/attach partition/corrupted partitions OK 3m 32s
/alter/attach partition/corrupted partitions/attach partition from with corrupted parts OK 2m 53s
/alter/attach partition/rbac OK 3m 53s
/alter/attach partition/rbac/check attach partition from with privileges OK 3m 36s
/alter/attach partition/corrupted partitions/attach partition detached with corrupted parts OK 23s 39ms
/alter/attach partition/corrupted partitions/attach corrupted part OK 15s 915ms
/alter/attach partition/conditions OK 1m 6s
/alter/attach partition/conditions/structure OK 497ms
/alter/attach partition/conditions/order by OK 47s 888ms
/alter/attach partition/conditions/primary key OK 13s 27ms
/alter/attach partition/rbac/check attach partition with privileges OK 8s 816ms
/alter/attach partition/rbac/check attach part with privileges OK 8s 913ms
/alter/attach partition/conditions/storage policy OK 3s 272ms
/alter/attach partition/conditions/indices OK 1s 26ms
/alter/attach partition/conditions/projections OK 1s 40ms
/alter/attach partition/table names OK 14m 42s
/alter/attach partition/table names/check table names with id OK 7m 16s
/alter/attach partition/partition expression OK 16s 68ms
/alter/attach partition/partition expression/check partition expression with id OK 7s 709ms
/alter/attach partition/partition expression/check partition expression without id OK 7s 902ms
/alter/attach partition/temporary table OK 9m 25s
/alter/attach partition/temporary table/attach partition detached with temporary tables OK 4s 930ms
/alter/attach partition/temporary table/attach partition from with temporary tables OK 9m 20s
/alter/attach partition/table names/check table names without id OK 7m 25s
/alter/attach partition/replica sanity OK 1s 624ms
/alter/attach partition/replica sanity/parallel add remove sanity OK 1s 623ms
/alter/attach partition/add_remove_replica OK 1h 25m
/alter/attach partition/add_remove_replica/replica OK 1h 25m
/alter/attach partition/operations on attached partitions OK 50s 587ms
/alter/attach partition/operations on attached partitions/move partition OK 26s 209ms
/alter/attach partition/operations on attached partitions/detach attach partition OK 12s 381ms
/alter/attach partition/operations on attached partitions/multiple operations OK 48s 985ms
/alter/attach partition/operations on attached partitions/drop partition OK 12s 902ms
/alter/attach partition/operations on attached partitions/replace partition OK 13s 104ms
/alter/attach partition/operations on attached partitions/freeze partition OK 10s 246ms
/alter/attach partition/operations on attached partitions/update in partition OK 14s 127ms
/alter/attach partition/part level Fail 1m 33s
/alter/attach partition/part level/part levels user example OK 34ms
/alter/attach partition/part level/part level reset OK 9s 678ms
/alter/attach partition/part level/merge increment Fail 1m 24s
/alter/attach partition/part level/replicated tables OK 1m 0s
/alter/attach partition/part level/too high level OK 51s 108ms
/alter/attach partition/part level/reset when equal to legacy max level OK 32s 272ms
/alter/attach partition/restart clickhouse server OK 4m 42s
/alter/attach partition/restart clickhouse server/restart clickhouse server OK 4m 42s

Generated by TestFlows Open-Source Test Framework v2.0.231215.1221232