From 8e2bc375ed94f723da6280186293ba90dd25977e Mon Sep 17 00:00:00 2001 From: morningman Date: Mon, 25 May 2026 11:24:33 -0700 Subject: [PATCH 1/2] [fix](regression-test) fix res.size property access in nested type create_table plugin Replace `res.size` / `res[i].size` property accesses with `res.size()` / `res[i].size()` method calls in `regression-test/plugins/plugins_create_table_nested_type.groovy`. On the Groovy runtime used by the regression framework, `java.util.ArrayList` does not expose `size` as a JavaBean property, so the property access falls through to the `getAt(Iterable, ...)` path and tries to read `.size` from each inner `Integer` element, throwing: groovy.lang.MissingPropertyException: Exception evaluating property 'size' for java.util.ArrayList, Reason: groovy.lang.MissingPropertyException: No such property: size for class: java.lang.Integer This makes the test `datatype_p0.nested_types.create_table.create_table_with_nested_type` fail in ~15 ms before any DDL is sent to FE. The test is currently muted on TeamCity; this fix should unblock unmuting. Same GPath `.size` vs `.size()` pattern as #62454 and #62455. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../plugins/plugins_create_table_nested_type.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/regression-test/plugins/plugins_create_table_nested_type.groovy b/regression-test/plugins/plugins_create_table_nested_type.groovy index bb4bdde5818a9c..8c0666503e9fff 100644 --- a/regression-test/plugins/plugins_create_table_nested_type.groovy +++ b/regression-test/plugins/plugins_create_table_nested_type.groovy @@ -133,9 +133,9 @@ Suite.metaClass.get_create_table_with_nested_type { int depth, String tb_name -> } backtrack(); - for (int i = 0; i < res.size; i++) { + for (int i = 0; i < res.size(); i++) { def date_type_str = "" - for (int j = 0; j < res[i].size; j++) { + for (int j = 0; j < res[i].size(); j++) { date_type_str += res[i][j] + " " } logger.info(date_type_str) From 89cce9953b72a6780cda093982ef01cf469872ce Mon Sep 17 00:00:00 2001 From: morningman Date: Mon, 25 May 2026 11:24:33 -0700 Subject: [PATCH 2/2] [fix](regression-test) fix flaky assertion in test_show_charset_auth `test_show_no_auth` asserts that `SHOW PROCESSLIST` returns exactly 1 row after granting `grant_priv` to the test user. But `ConnectPoolMgr.listConnection()` returns *all* sessions to any caller that satisfies `PrivPredicate.ADMIN`, so in the parallel regression pipeline this user sees the concurrent sessions of many other suites (e.g. 23 rows in the last failing build on branch-4.0). Replace the unsafe `== 1` check with a count of sessions owned by the current user. This aligns with the same check earlier in the file (line 49) that uses `>= 1`, and actually verifies the intended invariant (the user can see their own session) without depending on parallel pipeline isolation. ```diff - assertTrue(res1.size() == 1) + def ownSessions = res1.findAll { it[2] == user } + assertTrue(ownSessions.size() >= 1) ``` Column index 2 of `SHOW PROCESSLIST` is the User column (see `ConnectContext.ThreadInfo.toRow`). Co-Authored-By: Claude Opus 4.7 (1M context) --- regression-test/suites/auth_call/test_show_charset_auth.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/regression-test/suites/auth_call/test_show_charset_auth.groovy b/regression-test/suites/auth_call/test_show_charset_auth.groovy index d1b69a519928cc..134e53141cb8b5 100644 --- a/regression-test/suites/auth_call/test_show_charset_auth.groovy +++ b/regression-test/suites/auth_call/test_show_charset_auth.groovy @@ -65,7 +65,8 @@ suite("test_show_no_auth","p0,auth_call") { def res1 = sql """SHOW PROCESSLIST""" logger.info("res1: " + res1) - assertTrue(res1.size() == 1) + def ownSessions = res1.findAll { it[2] == user } + assertTrue(ownSessions.size() >= 1) } sql """revoke grant_priv on *.*.* from ${user}""" sql """grant admin_priv on *.*.* to ${user}"""