Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] Introduce TxnStateCache for merge commit sync mode #55001

Merged
merged 13 commits into from
Jan 16, 2025

fix test

b098460
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

[Enhancement] Introduce TxnStateCache for merge commit sync mode #55001

fix test
b098460
Select commit
Loading
Failed to load commit list.
GitHub Actions / SQL-Tester Report failed Jan 16, 2025 in 0s

861 tests run, 857 passed, 0 skipped, 4 failed.

Annotations

Check failure on line 1 in TestSQLCases

See this annotation in the file changed.

@github-actions github-actions / SQL-Tester Report

TestSQLCases.test_stale_flush

True is not false : sql result not match: actual with E(E: (5025, '[E104]Fail to read from Socket{id=306 fd=236 addr=172.21.249.140:8060:53608} (0x0x7f9d30c6d7c0): Connection reset by peer [R1][E112]Not connected to 172.21.249.140:8060 yet, server_id=306 [R2][E112]Not connected to 172.21.249.140:8060 yet, server_id=306 [R3][E112]Not connected to 172.21.249.140:8060 yet, server_id=306:  be:172.21.249.140: BE:10003'))
Raw output
[Stacktrace]: 
Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 676, in run
    self._callTestMethod(testMethod)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 633, in _callTestMethod
    method()
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/nose/case.py", line 170, in runTest
    self.test(*self.arg)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/parameterized/parameterized.py", line 620, in standalone_func
    return func(*(a + p.args), **p.kwargs, **kw)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 48, in wrapper
    raise e
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 43, in wrapper
    res = func(*args, **kwargs)
  File "/home/runner/_work/starrocks/starrocks/test/test_sql_cases.py", line 385, in test_sql_basic
    self.check(sql_id, sql, expect_res, actual_res, order, ori_sql)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sr_sql_lib.py", line 1374, in check
    tools.assert_false(str(act).startswith("E: "), "sql result not match: actual with E(%s)" % str(act))
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 759, in assertFalse
    raise self.failureException(msg)
AssertionError: True is not false : sql result not match: actual with E(E: (5025, '[E104]Fail to read from Socket{id=306 fd=236 addr=172.21.249.140:8060:53608} (0x0x7f9d30c6d7c0): Connection reset by peer [R1][E112]Not connected to 172.21.249.140:8060 yet, server_id=306 [R2][E112]Not connected to 172.21.249.140:8060 yet, server_id=306 [R3][E112]Not connected to 172.21.249.140:8060 yet, server_id=306:  be:172.21.249.140: BE:10003'))

[Standard Output]: 
?[1;32m------------------------------------------------------------ ?[0m
?[1;32m[case name]: test_stale_flush ?[0m
?[1;32m[case file]: sql/test_automatic_bucket/R/test_automatic_partition ?[0m
?[1;32m------------------------------------------------------------ ?[0m
[SQL]: CREATE DATABASE test_db_643c827fe6cf4977936c1286c6fa6a94;
[SQL]: USE test_db_643c827fe6cf4977936c1286c6fa6a94;
	 → case db: ['test_db_643c827fe6cf4977936c1286c6fa6a94']
	 → case resource: []
create table t(k int)properties('bucket_size'='1');
update information_schema.be_configs set value=102400 where name='write_buffer_size';
insert into t select generate_series from TABLE(generate_series(1, 10000000));
?[1;32m******************** [FINISH] test_stale_flush ******************** ?[0m

Check failure on line 1 in TestSQLCases

See this annotation in the file changed.

@github-actions github-actions / SQL-Tester Report

TestSQLCases.test_table_sample

True is not false : sql result not match: actual with E(E: (1064, 'Getting analyzing error. Detail message: Table replication num should be less than of equal to the number of available BE nodes. You can change this default by setting the replication_num table properties. Current alive backend is [10003,10004]..'))
Raw output
[Stacktrace]: 
Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 676, in run
    self._callTestMethod(testMethod)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 633, in _callTestMethod
    method()
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/nose/case.py", line 170, in runTest
    self.test(*self.arg)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/parameterized/parameterized.py", line 620, in standalone_func
    return func(*(a + p.args), **p.kwargs, **kw)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 48, in wrapper
    raise e
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 43, in wrapper
    res = func(*args, **kwargs)
  File "/home/runner/_work/starrocks/starrocks/test/test_sql_cases.py", line 385, in test_sql_basic
    self.check(sql_id, sql, expect_res, actual_res, order, ori_sql)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sr_sql_lib.py", line 1374, in check
    tools.assert_false(str(act).startswith("E: "), "sql result not match: actual with E(%s)" % str(act))
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 759, in assertFalse
    raise self.failureException(msg)
AssertionError: True is not false : sql result not match: actual with E(E: (1064, 'Getting analyzing error. Detail message: Table replication num should be less than of equal to the number of available BE nodes. You can change this default by setting the replication_num table properties. Current alive backend is [10003,10004]..'))

[Standard Output]: 
?[1;32m------------------------------------------------------------ ?[0m
?[1;32m[case name]: test_table_sample ?[0m
?[1;32m[case file]: sql/test_scan/R/test_table_sample ?[0m
?[1;32m------------------------------------------------------------ ?[0m
[SQL]: CREATE DATABASE test_db_b0bef07a397241678e78f3a4319a82b8;
[SQL]: USE test_db_b0bef07a397241678e78f3a4319a82b8;
	 → case db: ['test_db_b0bef07a397241678e78f3a4319a82b8']
	 → case resource: []
set pipeline_dop = 1;
create table t1 (
    k1 int,
    k2 int,
    k3 string
)
duplicate key(k1)
distributed by hash(k1) buckets 1
properties("replication_num" = "1");
insert into t1 
select s1, s1 % 1000, repeat('a', 128) FROM TABLE(generate_series(1, 655350)) s(s1);
create table pk_t1 primary key(k1) as select * from t1;
?[1;32m******************** [FINISH] test_table_sample ******************** ?[0m

Check failure on line 1 in TestSQLCases

See this annotation in the file changed.

@github-actions github-actions / SQL-Tester Report

TestSQLCases.test_tablet_internal_parallel_profile

HTTPConnectionPool(host='172.21.249.140', port=8038): Max retries exceeded with url: /api/update_config?tablet_internal_parallel_min_splitted_scan_rows=1 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ff2d4c7b280>: Failed to establish a new connection: [Errno 111] Connection refused'))666
Raw output
Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/connection.py", line 196, in _new_conn
    sock = connection.create_connection(
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/connectionpool.py", line 495, in _make_request
    conn.request(
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/connection.py", line 398, in request
    self.endheaders()
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/connection.py", line 236, in connect
    self.sock = self._new_conn()
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/connection.py", line 211, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7ff2d4c7b280>: Failed to establish a new connection: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='172.21.249.140', port=8038): Max retries exceeded with url: /api/update_config?tablet_internal_parallel_min_splitted_scan_rows=1 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ff2d4c7b280>: Failed to establish a new connection: [Errno 111] Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 676, in run
    self._callTestMethod(testMethod)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 633, in _callTestMethod
    method()
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/nose/case.py", line 170, in runTest
    self.test(*self.arg)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/parameterized/parameterized.py", line 620, in standalone_func
    return func(*(a + p.args), **p.kwargs, **kw)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 48, in wrapper
    raise e
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 43, in wrapper
    res = func(*args, **kwargs)
  File "/home/runner/_work/starrocks/starrocks/test/test_sql_cases.py", line 370, in test_sql_basic
    actual_res, actual_res_log, var, order = self.execute_single_statement(sql, sql_id, record_mode)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sr_sql_lib.py", line 1237, in execute_single_statement
    actual_res = eval("self.%s" % sql)
  File "<string>", line 1, in <module>
  File "/home/runner/_work/starrocks/starrocks/test/lib/sr_sql_lib.py", line 2531, in update_be_config
    res = self.post_http_request(exec_url)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sr_sql_lib.py", line 2413, in post_http_request
    res = requests.post(exec_url, auth=HTTPBasicAuth(self.mysql_user, self.mysql_password))
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/requests/api.py", line 115, in post
    return request("post", url, data=data, json=json, **kwargs)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='172.21.249.140', port=8038): Max retries exceeded with url: /api/update_config?tablet_internal_parallel_min_splitted_scan_rows=1 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ff2d4c7b280>: Failed to establish a new connection: [Errno 111] Connection refused'))

Check failure on line 1 in TestSQLCases

See this annotation in the file changed.

@github-actions github-actions / SQL-Tester Report

TestSQLCases.test_without_property

True is not false : sql result not match: actual with E(E: (1064, 'Table replication num should be less than or equal to the number of available BE nodes. You can change this default by setting the replication_num table properties. Current alive backend is [10003,10004]. , table=ss, replication_num=3, default_replication_num=3'))
Raw output
[Stacktrace]: 
Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 676, in run
    self._callTestMethod(testMethod)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 633, in _callTestMethod
    method()
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/nose/case.py", line 170, in runTest
    self.test(*self.arg)
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/site-packages/parameterized/parameterized.py", line 620, in standalone_func
    return func(*(a + p.args), **p.kwargs, **kw)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 48, in wrapper
    raise e
  File "/home/runner/_work/starrocks/starrocks/test/lib/sql_annotation.py", line 43, in wrapper
    res = func(*args, **kwargs)
  File "/home/runner/_work/starrocks/starrocks/test/test_sql_cases.py", line 385, in test_sql_basic
    self.check(sql_id, sql, expect_res, actual_res, order, ori_sql)
  File "/home/runner/_work/starrocks/starrocks/test/lib/sr_sql_lib.py", line 1374, in check
    tools.assert_false(str(act).startswith("E: "), "sql result not match: actual with E(%s)" % str(act))
  File "/root/.pyenv/versions/3.8.19/lib/python3.8/unittest/case.py", line 759, in assertFalse
    raise self.failureException(msg)
AssertionError: True is not false : sql result not match: actual with E(E: (1064, 'Table replication num should be less than or equal to the number of available BE nodes. You can change this default by setting the replication_num table properties. Current alive backend is [10003,10004]. , table=ss, replication_num=3, default_replication_num=3'))

[Standard Output]: 
?[1;32m------------------------------------------------------------ ?[0m
?[1;32m[case name]: test_without_property ?[0m
?[1;32m[case file]: sql/test_automatic_partition/R/test_automatic_partition ?[0m
?[1;32m------------------------------------------------------------ ?[0m
[SQL]: CREATE DATABASE test_db_526be12a03784f989390a1f3385867cb;
[SQL]: USE test_db_526be12a03784f989390a1f3385867cb;
	 → case db: ['test_db_526be12a03784f989390a1f3385867cb']
	 → case resource: []
CREATE TABLE ss( event_day DATE, pv BIGINT) DUPLICATE KEY(event_day) PARTITION BY date_trunc('month', event_day) DISTRIBUTED BY HASH(event_day) BUCKETS 1;
?[1;32m******************** [FINISH] test_without_property ******************** ?[0m