You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Gabriella Lotz (Code Review)" <ge...@cloudera.org> on 2025/10/29 21:02:50 UTC
[kudu-CR] [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
Gabriella Lotz has uploaded this change for review. ( http://gerrit.cloudera.org:8080/23609
Change subject: [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
......................................................................
[java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
The monolithic TestKuduClient class (~2600 lines with 45 tests) was
causing regular timeouts on TSAN builds. This commit splits it into
6 focused test modules that can run independently, significantly
reducing timeout risk on slow builds.
Test modules:
- TestKuduClientBasic (6 tests): Basic table operations, timestamps,
and soft delete functionality
- TestKuduClientDataTypes (8 tests): Data type tests including strings,
VARCHAR, binary, timestamps, dates, and decimals
- TestKuduClientScanner (7 tests): Scanner lifecycle, expiration,
keep-alive, limits, predicates, and non-covered ranges
- TestKuduClientAdvanced (4 tests): Auto-incrementing columns, array
types, and custom hash schemas per range partition
- TestKuduClientConcurrency (10 tests): Concurrent operations,
read-your-writes consistency, concurrent flush, and session lifecycle
- TestKuduClientSecurity (10 tests): Authentication, certificates,
location assignment, and cluster ID
The original TestKuduClient is now a JUnit @Suite that runs all six
test modules, maintaining backward compatibility with existing test
infrastructure.
Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientBasic.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientConcurrency.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientDataTypes.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientScanner.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientSecurity.java
7 files changed, 2,445 insertions(+), 2,143 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/23609/1
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 1
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Gabriella Lotz (Code Review)" <ge...@cloudera.org>.
Hello Marton Greber, Alexey Serbin, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23609
to look at the new patch set (#5).
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
[java] Split TestKuduClient into smaller modules
The monolithic TestKuduClient class (~2600 lines with 50 tests) was
causing regular timeouts on TSAN builds. This commit splits it into
6 focused test modules that can run independently, significantly
reducing timeout risk on slow builds.
Test modules:
- TestKuduClientBasic (7 tests): Basic table operations, timestamps,
and soft delete functionality
- TestKuduClientDataTypes (8 tests): Data type tests including strings,
VARCHAR, binary, timestamps, dates, and decimals
- TestKuduClientScanner (7 tests): Scanner lifecycle, expiration,
keep-alive, limits, predicates, and non-covered ranges
- TestKuduClientAdvanced (8 tests): Auto-incrementing columns, array
types, and custom hash schemas per range partition
- TestKuduClientConcurrency (10 tests): Concurrent operations,
read-your-writes consistency, concurrent flush, and session lifecycle
- TestKuduClientSecurity (10 tests): Authentication, certificates,
location assignment, and cluster ID
The original TestKuduClient.java has been removed entirely. CI/Jenkins
should run the individual test classes rather than a suite wrapper.
Verified with dist-test: 1000 runs of each individual module complete
successfully without timeouts.
Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java
D java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientBasic.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientConcurrency.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientDataTypes.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientScanner.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientSecurity.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java
10 files changed, 3,040 insertions(+), 2,624 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/23609/5
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 5
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Zoltan Chovan (Code Review)" <ge...@cloudera.org>.
Zoltan Chovan has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 5: Code-Review+1
Looks good to me, given that multiple ppl checked that there are no changes in the tests and all tests are kept.
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 5
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Mon, 10 Nov 2025 12:30:50 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
......................................................................
Patch Set 1:
Build Started http://jenkins.kudu.apache.org/job/pre_commit/2083/
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 1
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 29 Oct 2025 21:03:00 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Marton Greber has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 5: Code-Review+2
Verified by looking at new and old test files that everything is in place.
LGTM.
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 5
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Mon, 10 Nov 2025 11:11:13 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 3: Code-Review+1
> Small update in case someone else joins the review:
> As discussed offline, Gabi will run the new tests multiple times
> with the TSAN configuration to ensure they don’t time out.
Thank you for taking care of this.
It's also necessary to remove the original TestKuduClient.java or at least make sure we don't run these test scenarios in dist-test.
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 3
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Sat, 01 Nov 2025 04:15:00 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
......................................................................
Patch Set 2: Verified-1
Build Failed
http://jenkins.kudu.apache.org/job/pre_commit/2084/ : FAILURE
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 2
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 29 Oct 2025 21:31:40 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Gabriella Lotz (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23609
to look at the new patch set (#3).
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
[java] Split TestKuduClient into smaller modules
The monolithic TestKuduClient class (~2600 lines with 45 tests) was
causing regular timeouts on TSAN builds. This commit splits it into
6 focused test modules that can run independently, significantly
reducing timeout risk on slow builds.
Test modules:
- TestKuduClientBasic (6 tests): Basic table operations, timestamps,
and soft delete functionality
- TestKuduClientDataTypes (8 tests): Data type tests including strings,
VARCHAR, binary, timestamps, dates, and decimals
- TestKuduClientScanner (7 tests): Scanner lifecycle, expiration,
keep-alive, limits, predicates, and non-covered ranges
- TestKuduClientAdvanced (4 tests): Auto-incrementing columns, array
types, and custom hash schemas per range partition
- TestKuduClientConcurrency (10 tests): Concurrent operations,
read-your-writes consistency, concurrent flush, and session lifecycle
- TestKuduClientSecurity (10 tests): Authentication, certificates,
location assignment, and cluster ID
The original TestKuduClient is now a JUnit @Suite that runs all six
test modules, maintaining backward compatibility with existing test
infrastructure.
Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
---
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientBasic.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientConcurrency.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientDataTypes.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientScanner.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientSecurity.java
6 files changed, 2,415 insertions(+), 0 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/23609/3
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 3
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 4:
Build Started http://jenkins.kudu.apache.org/job/pre_commit/2107/
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 4
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Fri, 07 Nov 2025 15:14:31 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 3:
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23609/3/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java:
http://gerrit.cloudera.org:8080/#/c/23609/3/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java@55
PS3, Line 55: TestKuduClientAdvanced
Here and elsewhere: did you consider inheriting from a single TestKuduClient class in all these new test classes or this is intentionally done like this due to particular JUnit features/provisions?
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 3
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Tue, 04 Nov 2025 05:27:23 +0000
Gerrit-HasComments: Yes
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 3: Verified-1
Build Failed
http://jenkins.kudu.apache.org/job/pre_commit/2085/ : FAILURE
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 3
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 30 Oct 2025 10:31:46 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 4: Verified-1
Build Failed
http://jenkins.kudu.apache.org/job/pre_commit/2107/ : FAILURE
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 4
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Fri, 07 Nov 2025 15:19:15 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 5:
Build Started http://jenkins.kudu.apache.org/job/pre_commit/2108/
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 5
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Fri, 07 Nov 2025 15:26:51 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
Posted by "Gabriella Lotz (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23609
to look at the new patch set (#2).
Change subject: [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
......................................................................
[java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
The monolithic TestKuduClient class (~2600 lines with 45 tests) was
causing regular timeouts on TSAN builds. This commit splits it into
6 focused test modules that can run independently, significantly
reducing timeout risk on slow builds.
Test modules:
- TestKuduClientBasic (6 tests): Basic table operations, timestamps,
and soft delete functionality
- TestKuduClientDataTypes (8 tests): Data type tests including strings,
VARCHAR, binary, timestamps, dates, and decimals
- TestKuduClientScanner (7 tests): Scanner lifecycle, expiration,
keep-alive, limits, predicates, and non-covered ranges
- TestKuduClientAdvanced (4 tests): Auto-incrementing columns, array
types, and custom hash schemas per range partition
- TestKuduClientConcurrency (10 tests): Concurrent operations,
read-your-writes consistency, concurrent flush, and session lifecycle
- TestKuduClientSecurity (10 tests): Authentication, certificates,
location assignment, and cluster ID
The original TestKuduClient is now a JUnit @Suite that runs all six
test modules, maintaining backward compatibility with existing test
infrastructure.
Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientBasic.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientConcurrency.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientDataTypes.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientScanner.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientSecurity.java
7 files changed, 2,439 insertions(+), 2,143 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/23609/2
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 2
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 5: Verified+1
Build Successful
http://jenkins.kudu.apache.org/job/pre_commit/2108/ : SUCCESS
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 5
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Fri, 07 Nov 2025 16:14:39 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Gabriella Lotz (Code Review)" <ge...@cloudera.org>.
Hello Marton Greber, Alexey Serbin, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23609
to look at the new patch set (#4).
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
[java] Split TestKuduClient into smaller modules
The monolithic TestKuduClient class (~2600 lines with 50 tests) was
causing regular timeouts on TSAN builds. This commit splits it into
6 focused test modules that can run independently, significantly
reducing timeout risk on slow builds.
Test modules:
- TestKuduClientBasic (7 tests): Basic table operations, timestamps,
and soft delete functionality
- TestKuduClientDataTypes (8 tests): Data type tests including strings,
VARCHAR, binary, timestamps, dates, and decimals
- TestKuduClientScanner (7 tests): Scanner lifecycle, expiration,
keep-alive, limits, predicates, and non-covered ranges
- TestKuduClientAdvanced (8 tests): Auto-incrementing columns, array
types, and custom hash schemas per range partition
- TestKuduClientConcurrency (10 tests): Concurrent operations,
read-your-writes consistency, concurrent flush, and session lifecycle
- TestKuduClientSecurity (10 tests): Authentication, certificates,
location assignment, and cluster ID
The original TestKuduClient.java has been removed entirely. CI/Jenkins
should run the individual test classes rather than a suite wrapper.
Verified with dist-test: 1000 runs of each individual module complete
successfully without timeouts.
Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java
D java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientBasic.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientConcurrency.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientDataTypes.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientScanner.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientSecurity.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java
10 files changed, 3,040 insertions(+), 2,624 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/23609/4
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 4
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
[kudu-CR] [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
......................................................................
Patch Set 1: Verified-1
Build Failed
http://jenkins.kudu.apache.org/job/pre_commit/2083/ : FAILURE
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 1
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 29 Oct 2025 21:13:59 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Marton Greber has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
[java] Split TestKuduClient into smaller modules
The monolithic TestKuduClient class (~2600 lines with 50 tests) was
causing regular timeouts on TSAN builds. This commit splits it into
6 focused test modules that can run independently, significantly
reducing timeout risk on slow builds.
Test modules:
- TestKuduClientBasic (7 tests): Basic table operations, timestamps,
and soft delete functionality
- TestKuduClientDataTypes (8 tests): Data type tests including strings,
VARCHAR, binary, timestamps, dates, and decimals
- TestKuduClientScanner (7 tests): Scanner lifecycle, expiration,
keep-alive, limits, predicates, and non-covered ranges
- TestKuduClientAdvanced (8 tests): Auto-incrementing columns, array
types, and custom hash schemas per range partition
- TestKuduClientConcurrency (10 tests): Concurrent operations,
read-your-writes consistency, concurrent flush, and session lifecycle
- TestKuduClientSecurity (10 tests): Authentication, certificates,
location assignment, and cluster ID
The original TestKuduClient.java has been removed entirely. CI/Jenkins
should run the individual test classes rather than a suite wrapper.
Verified with dist-test: 1000 runs of each individual module complete
successfully without timeouts.
Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Reviewed-on: http://gerrit.cloudera.org:8080/23609
Tested-by: Kudu Jenkins
Reviewed-by: Marton Greber <gr...@gmail.com>
Reviewed-by: Zoltan Chovan <zc...@cloudera.com>
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java
D java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientBasic.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientConcurrency.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientDataTypes.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientScanner.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientSecurity.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java
10 files changed, 3,040 insertions(+), 2,624 deletions(-)
Approvals:
Kudu Jenkins: Verified
Marton Greber: Looks good to me, approved
Zoltan Chovan: Looks good to me, but someone else must approve
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 6
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 3:
Build Started http://jenkins.kudu.apache.org/job/pre_commit/2085/
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 3
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 30 Oct 2025 09:00:22 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Marton Greber has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 3:
Small update in case someone else joins the review:
As discussed offline, Gabi will run the new tests multiple times with the TSAN configuration to ensure they don’t time out.
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 3
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Thu, 30 Oct 2025 13:36:17 +0000
Gerrit-HasComments: No
[kudu-CR] [java] Split TestKuduClient into smaller modules
Posted by "Gabriella Lotz (Code Review)" <ge...@cloudera.org>.
Gabriella Lotz has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules
......................................................................
Patch Set 4:
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23609/3/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java
File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java:
http://gerrit.cloudera.org:8080/#/c/23609/3/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClientAdvanced.java@55
PS3, Line 55: ache.kudu.Type;
> Here and elsewhere: did you consider inheriting from a single TestKuduClien
I considered it, but composition via KuduTestHarness is more flexible. Each test class is self-contained with only what it needs. A base class would force common setup/teardown that doesn't fit all scenarios.
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 4
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Comment-Date: Fri, 07 Nov 2025 15:15:27 +0000
Gerrit-HasComments: Yes
[kudu-CR] [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23609 )
Change subject: [java] Split TestKuduClient into smaller modules to avoid TSAN timeouts
......................................................................
Patch Set 2:
Build Started http://jenkins.kudu.apache.org/job/pre_commit/2084/
--
To view, visit http://gerrit.cloudera.org:8080/23609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I3fcedb050ce4deea1c317b3cf3687502cbe81ce7
Gerrit-Change-Number: 23609
Gerrit-PatchSet: 2
Gerrit-Owner: Gabriella Lotz <lo...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 29 Oct 2025 21:25:30 +0000
Gerrit-HasComments: No