Skip to content

Conversation

@Divneet18
Copy link
Contributor

@Divneet18 Divneet18 commented Apr 18, 2024

Jira: HBASE-28428

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 41s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for branch
+1 💚 mvninstall 2m 57s master passed
+1 💚 compile 3m 44s master passed
+1 💚 checkstyle 1m 10s master passed
+1 💚 spotless 0m 45s branch has no errors when running spotless:check.
+1 💚 spotbugs 2m 47s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 2m 49s the patch passed
+1 💚 compile 3m 41s the patch passed
+1 💚 javac 3m 41s the patch passed
-0 ⚠️ checkstyle 0m 17s hbase-client: The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)
-0 ⚠️ checkstyle 0m 36s hbase-server: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 4m 50s Patch does not cause any errors with Hadoop 3.3.6.
-1 ❌ spotless 0m 20s patch has 59 errors when running spotless:check, run spotless:apply to fix.
+1 💚 spotbugs 3m 11s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 32s The patch does not generate ASF License warnings.
35m 23s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5837
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux 28af1b003969 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / a34b4bc
Default Java Eclipse Adoptium-11.0.17+8
checkstyle https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 81 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 29s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for branch
+1 💚 mvninstall 3m 13s master passed
+1 💚 compile 1m 21s master passed
+1 💚 shadedjars 5m 53s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 54s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 2m 59s the patch passed
+1 💚 compile 1m 23s the patch passed
+1 💚 javac 1m 23s the patch passed
+1 💚 shadedjars 5m 54s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 54s the patch passed
_ Other Tests _
+1 💚 unit 2m 45s hbase-common in the patch passed.
-1 ❌ unit 1m 7s hbase-client in the patch failed.
-1 ❌ unit 231m 15s hbase-server in the patch failed.
263m 37s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit shadedjars compile
uname Linux 3402ddd9c745 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / a34b4bc
Default Java Eclipse Adoptium-11.0.17+8
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-client.txt
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/testReport/
Max. process+thread count 5330 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 41s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for branch
+1 💚 mvninstall 2m 58s master passed
+1 💚 compile 1m 37s master passed
+1 💚 shadedjars 5m 12s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 4s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 2m 50s the patch passed
+1 💚 compile 1m 39s the patch passed
+1 💚 javac 1m 39s the patch passed
+1 💚 shadedjars 5m 13s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 3s the patch passed
_ Other Tests _
+1 💚 unit 2m 37s hbase-common in the patch passed.
-1 ❌ unit 1m 10s hbase-client in the patch failed.
-1 ❌ unit 234m 40s hbase-server in the patch failed.
266m 36s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit shadedjars compile
uname Linux ea84a235b95e 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / a34b4bc
Default Java Eclipse Adoptium-17.0.10+7
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-client.txt
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/testReport/
Max. process+thread count 4787 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 27s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for branch
+1 💚 mvninstall 2m 43s master passed
+1 💚 compile 1m 18s master passed
+1 💚 shadedjars 6m 48s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 56s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for patch
+1 💚 mvninstall 3m 5s the patch passed
+1 💚 compile 1m 24s the patch passed
+1 💚 javac 1m 24s the patch passed
+1 💚 shadedjars 6m 17s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s the patch passed
_ Other Tests _
+1 💚 unit 2m 3s hbase-common in the patch passed.
-1 ❌ unit 1m 7s hbase-client in the patch failed.
-1 ❌ unit 258m 26s hbase-server in the patch failed.
291m 2s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit shadedjars compile
uname Linux 28ee601525b9 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / a34b4bc
Default Java Temurin-1.8.0_352-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-client.txt
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/testReport/
Max. process+thread count 5459 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/1/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@Apache9 Apache9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the correct way, as we place lots of boiler plate code everywhere...

Please add the timeout control in connection registry implementation. DIfferent connection registry implementations can have their own way to implement the timeout.

}

});
}, conf.getInt(HConstants.CONNECTION_REGISTRY_API_TIMEOUT,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think this is the correct place to put these timeout configurations.

We should place them into the connection registry implementation.

@virajjasani
Copy link
Contributor

virajjasani commented Apr 23, 2024

@Apache9 how do we ensure the timeout is considered by CompletableFuture? ConnectionRegistry APIs return CompletableFuture so if we implement timeout on CompletableFuture as part of connection registry implementation, then in reality all APIs would become synchronous and return actual values rather than wrapped with CompletableFuture right?
Did I get your suggestion right?

@Apache9
Copy link
Contributor

Apache9 commented Apr 23, 2024

You can see how we implement timeout in AsyncRpcConnectionImpl...

There is a timer, when we reach timeout, the timer task will call completeExceptionally method of the CompletableFuture, so the upper layer will get a timeout exception.

So for rpc based connection registry, we could set the operation timeout while doing the request, and for zk based, we should introduce a timer to do this work.

Thanks.

@Divneet18
Copy link
Contributor Author

@Apache9 where can I find the AsynRpcConnectionImpl code? We tried finding it but are having no luck in the master code base. Thank you

@virajjasani
Copy link
Contributor

@Divneet18 here is the sample for TimerTask and how we can introduce timeout:

      TimerTask pollingTask = new TimerTask() {
        int tries = 0;
        long startTime = EnvironmentEdgeManager.currentTime();
        long endTime = startTime + expectedTimeout;
        long maxPauseTime = expectedTimeout / maxAttempts;

        @Override
        public void run(Timeout timeout) throws Exception {
          if (EnvironmentEdgeManager.currentTime() < endTime) {
            addListener(isSnapshotFinished(snapshot), (done, err2) -> {
              if (err2 != null) {
                future.completeExceptionally(err2);
              } else if (done) {
                future.complete(null);
              } else {
                // retry again after pauseTime.
                long pauseTime =
                  ConnectionUtils.getPauseTime(TimeUnit.NANOSECONDS.toMillis(pauseNs), ++tries);
                pauseTime = Math.min(pauseTime, maxPauseTime);
                AsyncConnectionImpl.RETRY_TIMER.newTimeout(this, pauseTime, TimeUnit.MILLISECONDS);
              }
            });
          } else {
            future
              .completeExceptionally(new SnapshotCreationException("Snapshot '" + snapshot.getName()
                + "' wasn't completed in expectedTime:" + expectedTimeout + " ms", snapshot));
          }
        }
      };

@virajjasani
Copy link
Contributor

The other example is for execProcedure:

  @Override
  public CompletableFuture<Void> execProcedure(String signature, String instance,
    Map<String, String> props) {
    CompletableFuture<Void> future = new CompletableFuture<>();
    ProcedureDescription procDesc =
      ProtobufUtil.buildProcedureDescription(signature, instance, props);
    addListener(this.<Long> newMasterCaller()
      .action((controller, stub) -> this.<ExecProcedureRequest, ExecProcedureResponse, Long> call(
        controller, stub, ExecProcedureRequest.newBuilder().setProcedure(procDesc).build(),
        (s, c, req, done) -> s.execProcedure(c, req, done), resp -> resp.getExpectedTimeout()))
      .call(), (expectedTimeout, err) -> {
        if (err != null) {
          future.completeExceptionally(err);
          return;
        }
        TimerTask pollingTask = new TimerTask() {
          int tries = 0;
          long startTime = EnvironmentEdgeManager.currentTime();
          long endTime = startTime + expectedTimeout;
          long maxPauseTime = expectedTimeout / maxAttempts;

          @Override
          public void run(Timeout timeout) throws Exception {
            if (EnvironmentEdgeManager.currentTime() < endTime) {
              addListener(isProcedureFinished(signature, instance, props), (done, err2) -> {
                if (err2 != null) {
                  future.completeExceptionally(err2);
                  return;
                }
                if (done) {
                  future.complete(null);
                } else {
                  // retry again after pauseTime.
                  long pauseTime =
                    ConnectionUtils.getPauseTime(TimeUnit.NANOSECONDS.toMillis(pauseNs), ++tries);
                  pauseTime = Math.min(pauseTime, maxPauseTime);
                  AsyncConnectionImpl.RETRY_TIMER.newTimeout(this, pauseTime,
                    TimeUnit.MICROSECONDS);
                }
              });
            } else {
              future.completeExceptionally(new IOException("Procedure '" + signature + " : "
                + instance + "' wasn't completed in expectedTime:" + expectedTimeout + " ms"));
            }
          }
        };
        // Queue the polling task into RETRY_TIMER to poll procedure state asynchronously.
        AsyncConnectionImpl.RETRY_TIMER.newTimeout(pollingTask, 1, TimeUnit.MILLISECONDS);
      });
    return future;
  }

@virajjasani
Copy link
Contributor

Here, TimerTask is used within addListener(), hence we can make somewhat similar change in ZKConnectionRegistry.

@Apache9
Copy link
Contributor

Apache9 commented May 6, 2024

Have you guys find the way to use timer to implement the timeout?
You can see the code in AsyncRpcRetryingCaller.

And for ZKConnectionRegistry, you can pass the TIMER in AsyncConnectionImpl to the ReadOnlyZKClient, and use it in ReadOnlyZKClient. More specific, you can schedule a timer task when calling the exec method for ZKTask, and once we reach the timeout time, we call completeExceptionally on the future in ZKTask.

Thanks.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 37s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for branch
+1 💚 mvninstall 2m 54s master passed
+1 💚 compile 3m 56s master passed
+1 💚 checkstyle 1m 8s master passed
+1 💚 spotless 0m 44s branch has no errors when running spotless:check.
+1 💚 spotbugs 2m 48s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 2m 45s the patch passed
+1 💚 compile 3m 56s the patch passed
+1 💚 javac 3m 56s the patch passed
-0 ⚠️ checkstyle 0m 17s hbase-client: The patch generated 19 new + 0 unchanged - 0 fixed = 19 total (was 0)
-0 ⚠️ checkstyle 0m 36s hbase-server: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 4m 53s Patch does not cause any errors with Hadoop 3.3.6.
-1 ❌ spotless 0m 19s patch has 63 errors when running spotless:check, run spotless:apply to fix.
+1 💚 spotbugs 3m 10s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 31s The patch does not generate ASF License warnings.
35m 49s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5837
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux 8e8d6673e6da 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / ca34010
Default Java Eclipse Adoptium-11.0.17+8
checkstyle https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 81 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 10s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for branch
+1 💚 mvninstall 2m 59s master passed
+1 💚 compile 1m 37s master passed
+1 💚 shadedjars 5m 14s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 6s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 2m 49s the patch passed
+1 💚 compile 1m 37s the patch passed
+1 💚 javac 1m 37s the patch passed
+1 💚 shadedjars 5m 13s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 3s the patch passed
_ Other Tests _
+1 💚 unit 2m 37s hbase-common in the patch passed.
+1 💚 unit 1m 34s hbase-client in the patch passed.
+1 💚 unit 227m 6s hbase-server in the patch passed.
260m 8s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit shadedjars compile
uname Linux 04abc83386a0 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / ca34010
Default Java Eclipse Adoptium-17.0.10+7
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/testReport/
Max. process+thread count 4658 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 1s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for branch
+1 💚 mvninstall 2m 58s master passed
+1 💚 compile 1m 29s master passed
+1 💚 shadedjars 5m 13s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 2m 54s the patch passed
+1 💚 compile 2m 3s the patch passed
+1 💚 javac 2m 3s the patch passed
+1 💚 shadedjars 6m 45s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 10s the patch passed
_ Other Tests _
+1 💚 unit 2m 59s hbase-common in the patch passed.
+1 💚 unit 2m 2s hbase-client in the patch passed.
+1 💚 unit 261m 22s hbase-server in the patch passed.
296m 52s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit shadedjars compile
uname Linux da581ce3c8ac 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / ca34010
Default Java Eclipse Adoptium-11.0.17+8
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/testReport/
Max. process+thread count 4679 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 37s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for branch
+1 💚 mvninstall 3m 22s master passed
+1 💚 compile 1m 32s master passed
+1 💚 shadedjars 6m 38s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 5s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 4s the patch passed
+1 💚 compile 1m 28s the patch passed
+1 💚 javac 1m 28s the patch passed
+1 💚 shadedjars 6m 32s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 2s the patch passed
_ Other Tests _
+1 💚 unit 2m 24s hbase-common in the patch passed.
+1 💚 unit 1m 44s hbase-client in the patch passed.
-1 ❌ unit 267m 44s hbase-server in the patch failed.
302m 30s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit shadedjars compile
uname Linux 8af6da17437a 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / ca34010
Default Java Temurin-1.8.0_352-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/testReport/
Max. process+thread count 4453 (vs. ulimit of 30000)
modules C: hbase-common hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/2/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


private static final long expectedTimeout = 120000;
private static final int maxAttempts = 5;
private static final long pauseNs = 100000;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be configs, not constants.

Copy link
Contributor

@Apache9 Apache9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The implementation is incorrect...

The problem here is the async zk operation does not have timeout, it may depends on the session timeout configuration but not very stable, so we need to use an external timer task to force finish the completable future.

Here you just submit the async zk operation in the timer task, and then in the callback, you check reschedule the timer task and then you have a chance to check timeout, but what if the zk operation does not return within the timeout?...


import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.hadoop.conf.Configuration;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not used?

@Override
public RegionLocations getRegionLocations(TableName tableName, int replicaId,
boolean reload) throws Exception {
final Configuration conf = HBaseConfiguration.create();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this useless code?


private static AsyncClusterConnection createAsyncClusterConnection(Configuration conf,
ConnectionRegistry registry, SocketAddress localAddress, User user) throws IOException {
ConnectionRegistry registry, SocketAddress localAddress, User user ) throws IOException {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not used?

@virajjasani
Copy link
Contributor

Here you just submit the async zk operation in the timer task, and then in the callback, you check reschedule the timer task and then you have a chance to check timeout, but what if the zk operation does not return within the timeout?...

@Apache9 this is exactly why i was initially proposing to use CompletableFuture#get with timeout in all callers so that regardless of the ConnectionRegistry implementation, we can still have our timeout at Future object level.

@Apache9
Copy link
Contributor

Apache9 commented May 15, 2024

Here you just submit the async zk operation in the timer task, and then in the callback, you check reschedule the timer task and then you have a chance to check timeout, but what if the zk operation does not return within the timeout?...

@Apache9 this is exactly why i was initially proposing to use CompletableFuture#get with timeout in all callers so that regardless of the ConnectionRegistry implementation, we can still have our timeout at Future object level.

I've already mentioned above using CompletableFuture.get is incorrect, the jira title is ConnectionRegistry APIs should have timeout, not the caller should have timeout, and how do you plan to deal with async operations? You should never do future.get in an async operation.

@virajjasani
Copy link
Contributor

Both approaches have their own drawbacks.
I still wonder what we can do here for ConnectionRegistry timeouts, given that Zookeeper response might never come back for timer to be applicable.

@Apache9
Copy link
Contributor

Apache9 commented May 15, 2024

Both approaches have their own drawbacks. I still wonder what we can do here for ConnectionRegistry timeouts, given that Zookeeper response might never come back for timer to be applicable.

The timer is used to complete the CompletableFuture when the zookeeper does not respond in time...

@virajjasani
Copy link
Contributor

Both approaches have their own drawbacks. I still wonder what we can do here for ConnectionRegistry timeouts, given that Zookeeper response might never come back for timer to be applicable.

The timer is used to complete the CompletableFuture when the zookeeper does not respond in time...

Oh wait, we need TimeTask for zk.get(path) and zk.list(znodePaths.baseZNode) only right? We should not have TimerTask for outer CompletableFuture.

@Apache9
Copy link
Contributor

Apache9 commented May 15, 2024

Both approaches have their own drawbacks. I still wonder what we can do here for ConnectionRegistry timeouts, given that Zookeeper response might never come back for timer to be applicable.

The timer is used to complete the CompletableFuture when the zookeeper does not respond in time...

Oh wait, we need TimeTask for zk.get(path) and zk.list(znodePaths.baseZNode) only right? We should not have TimerTask for outer CompletableFuture.

In ZKConnetionRegistry, you have a CompletableFuture object returned to upper layer, and you will issue a zk async operation, in the callback, you will complete the CompletableFuture object so the upper layer will know.

Now the problem is you can not control the timeout of zk async operations, so when issue a zk async operation, you need to set up a timer task at the same time, and once the timer task is executed, you try to complete the CompletableFuture with a TimeoutException if it has not been completed yet, so the upper layer will know the operation failed.

@virajjasani
Copy link
Contributor

virajjasani commented Jun 3, 2024

@Apache9, I looked into this with Divneet today. How about this method in ReadOnlyZKClient?

  public CompletableFuture<byte[]> getWithTimeout(String path, long endTime) {
    CompletableFuture<byte[]> future = get(path);
    TimerTask timerTask = new TimerTask() {
      @Override
      public void run(Timeout timeout) throws Exception {
        if (EnvironmentEdgeManager.currentTime() > endTime) {
          if (!future.isCancelled() && !future.isDone() && !future.isCompletedExceptionally()) {
            future.completeExceptionally(
              new DoNotRetryIOException("Zookeeper get could not be completed by " + endTime));
          }
        } else {
          if (!future.isCancelled() && !future.isDone() && !future.isCompletedExceptionally()) {
            AsyncConnectionImpl.RETRY_TIMER.newTimeout(this, 10, TimeUnit.MILLISECONDS);
          }
        }
      }
    };
    AsyncConnectionImpl.RETRY_TIMER.newTimeout(timerTask, 1, TimeUnit.MILLISECONDS);
    return future;
  }

At ZKConnectionRegistry, we can call zk#getWithTimeout rather than zk#get.

@virajjasani
Copy link
Contributor

@Divneet18 could you please give this a shot?

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 44s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚 mvninstall 2m 47s master passed
+1 💚 compile 0m 16s master passed
+1 💚 shadedjars 5m 41s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 15s master passed
-0 ⚠️ patch 6m 4s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚 mvninstall 2m 25s the patch passed
+1 💚 compile 0m 17s the patch passed
+1 💚 javac 0m 17s the patch passed
+1 💚 shadedjars 5m 42s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 13s the patch passed
_ Other Tests _
+1 💚 unit 1m 25s hbase-client in the patch passed.
20m 53s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit shadedjars compile
uname Linux 2f3b1b514ae6 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / c0fb41f
Default Java Temurin-1.8.0_352-b08
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/3/testReport/
Max. process+thread count 301 (vs. ulimit of 30000)
modules C: hbase-client U: hbase-client
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/3/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Divneet18
Copy link
Contributor Author

@Apache9 The methods without timeout are only being called in methods with timeout and one test file. So is it okay to not remove them?

@Apache9
Copy link
Contributor

Apache9 commented Jul 13, 2024

Please fix the spotless error? Just run 'mvn spotless:apply', I think the PR is almost ready, let's get a clean pre commit build result first.

Thanks @Divneet18 for your patience.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 2m 27s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 34s Maven dependency ordering for branch
+1 💚 mvninstall 3m 21s master passed
+1 💚 compile 0m 34s master passed
+1 💚 javadoc 0m 28s master passed
+1 💚 shadedjars 5m 50s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ patch 6m 5s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 2s the patch passed
+1 💚 compile 0m 35s the patch passed
+1 💚 javac 0m 35s the patch passed
+1 💚 javadoc 0m 28s the patch passed
+1 💚 shadedjars 5m 45s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚 unit 1m 35s hbase-client in the patch passed.
+1 💚 unit 0m 40s hbase-zookeeper in the patch passed.
26m 49s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/11/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit compile shadedjars
uname Linux 3920541c63cc 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 3df4556
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/11/testReport/
Max. process+thread count 324 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/11/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 1m 1s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for branch
+1 💚 mvninstall 4m 25s master passed
+1 💚 compile 1m 41s master passed
+1 💚 checkstyle 0m 34s master passed
+1 💚 spotbugs 2m 15s master passed
+1 💚 spotless 1m 24s branch has no errors when running spotless:check.
-0 ⚠️ patch 1m 42s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 4m 38s the patch passed
+1 💚 compile 1m 53s the patch passed
-0 ⚠️ javac 1m 17s /results-compile-javac-hbase-client.txt hbase-client generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 39s the patch passed
+1 💚 spotbugs 2m 5s the patch passed
+1 💚 hadoopcheck 15m 28s Patch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚 spotless 1m 3s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 20s The patch does not generate ASF License warnings.
47m 37s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/11/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5837
Optional Tests dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
uname Linux 92c832a1787a 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 3df4556
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 81 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/11/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Divneet18
Copy link
Contributor Author

Divneet18 commented Jul 15, 2024

@Apache9 @virajjasani we have a clean commit now. unless something else needs to be changed?

@Divneet18 Divneet18 requested a review from Apache9 July 15, 2024 17:08
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 59s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 21s Maven dependency ordering for branch
+1 💚 mvninstall 3m 52s master passed
+1 💚 compile 0m 56s master passed
+1 💚 javadoc 0m 43s master passed
+1 💚 shadedjars 6m 36s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ patch 6m 53s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 3m 35s the patch passed
+1 💚 compile 0m 55s the patch passed
+1 💚 javac 0m 55s the patch passed
+1 💚 javadoc 0m 39s the patch passed
+1 💚 shadedjars 6m 5s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚 unit 2m 2s hbase-client in the patch passed.
+1 💚 unit 0m 52s hbase-zookeeper in the patch passed.
29m 11s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/12/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit compile shadedjars
uname Linux 38c9748cd0a9 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 0e96e4c
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/12/testReport/
Max. process+thread count 324 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/12/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 18s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for branch
+1 💚 mvninstall 3m 48s master passed
+1 💚 compile 1m 19s master passed
+1 💚 checkstyle 0m 28s master passed
+1 💚 spotbugs 1m 9s master passed
+1 💚 spotless 0m 45s branch has no errors when running spotless:check.
-0 ⚠️ patch 0m 59s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 2m 56s the patch passed
+1 💚 compile 1m 10s the patch passed
-0 ⚠️ javac 0m 48s /results-compile-javac-hbase-client.txt hbase-client generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 27s the patch passed
+1 💚 spotbugs 1m 23s the patch passed
+1 💚 hadoopcheck 10m 23s Patch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚 spotless 0m 44s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 21s The patch does not generate ASF License warnings.
32m 24s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/12/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5837
Optional Tests dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
uname Linux 83eb4ffb9383 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 0e96e4c
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 83 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/12/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@virajjasani
Copy link
Contributor

javac warning does not seem relevant

Copy link
Contributor

@virajjasani virajjasani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@virajjasani
Copy link
Contributor

Let's wait for @Apache9

Copy link
Contributor

@Apache9 Apache9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general LGTM. Only some small nits.

Thanks.

private static int CHILDREN = 5;

private static ReadOnlyZKClient RO_ZK;
static final HashedWheelTimer RETRY_TIMER = new HashedWheelTimer(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pealse use 'private static final' since we do not need to expose it to other classes.

And please shutdown it in afterClass method.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Divneet18 please take care of this and you can also start preparing branch-2 PR after addressing this.

@virajjasani virajjasani changed the title HBASE-28428 : ConnectionRegistry APIs should have timeout HBASE-28428 : Zookeeper ConnectionRegistry APIs should have timeout Jul 16, 2024
Copy link
Contributor

@pankaj72981 pankaj72981 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall changes LGTM, apart from the nits.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 1m 1s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for branch
+1 💚 mvninstall 3m 20s master passed
+1 💚 compile 0m 44s master passed
+1 💚 javadoc 0m 34s master passed
+1 💚 shadedjars 5m 25s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ patch 5m 45s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 5s the patch passed
+1 💚 compile 0m 39s the patch passed
+1 💚 javac 0m 39s the patch passed
+1 💚 javadoc 0m 33s the patch passed
+1 💚 shadedjars 5m 17s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚 unit 1m 38s hbase-client in the patch passed.
+1 💚 unit 0m 49s hbase-zookeeper in the patch passed.
24m 50s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/13/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit compile shadedjars
uname Linux d6e13bef614e 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 5f1752b
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/13/testReport/
Max. process+thread count 354 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/13/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 36s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for branch
+1 💚 mvninstall 2m 58s master passed
+1 💚 compile 1m 11s master passed
+1 💚 checkstyle 0m 27s master passed
+1 💚 spotbugs 1m 9s master passed
+1 💚 spotless 0m 44s branch has no errors when running spotless:check.
-0 ⚠️ patch 0m 58s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 2m 56s the patch passed
+1 💚 compile 1m 9s the patch passed
-0 ⚠️ javac 0m 47s /results-compile-javac-hbase-client.txt hbase-client generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 28s the patch passed
+1 💚 spotbugs 1m 22s the patch passed
+1 💚 hadoopcheck 10m 35s Patch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚 spotless 0m 44s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 20s The patch does not generate ASF License warnings.
31m 53s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/13/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5837
Optional Tests dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
uname Linux b68268ceb839 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 5f1752b
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 83 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/13/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 1m 2s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for branch
+1 💚 mvninstall 3m 3s master passed
+1 💚 compile 0m 46s master passed
+1 💚 javadoc 0m 40s master passed
+1 💚 shadedjars 5m 42s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ patch 6m 1s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 6s the patch passed
+1 💚 compile 0m 40s the patch passed
+1 💚 javac 0m 40s the patch passed
+1 💚 javadoc 0m 33s the patch passed
+1 💚 shadedjars 5m 19s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚 unit 1m 38s hbase-client in the patch passed.
+1 💚 unit 0m 48s hbase-zookeeper in the patch passed.
25m 3s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/14/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit compile shadedjars
uname Linux 8341579acf02 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / df28809
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/14/testReport/
Max. process+thread count 353 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/14/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 35s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for branch
+1 💚 mvninstall 2m 53s master passed
+1 💚 compile 1m 10s master passed
+1 💚 checkstyle 0m 28s master passed
+1 💚 spotbugs 1m 8s master passed
+1 💚 spotless 0m 44s branch has no errors when running spotless:check.
-0 ⚠️ patch 0m 58s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 2m 54s the patch passed
+1 💚 compile 1m 10s the patch passed
-0 ⚠️ javac 0m 47s /results-compile-javac-hbase-client.txt hbase-client generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 28s the patch passed
+1 💚 spotbugs 1m 22s the patch passed
+1 💚 hadoopcheck 10m 21s Patch does not cause any errors with Hadoop 3.3.6 3.4.0.
-1 ❌ spotless 0m 19s patch has 26 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
+1 💚 asflicense 0m 19s The patch does not generate ASF License warnings.
31m 0s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/14/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5837
Optional Tests dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
uname Linux f42c72cfae3f 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / df28809
Default Java Eclipse Adoptium-17.0.11+9
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/14/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 83 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/14/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 45s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for branch
+1 💚 mvninstall 2m 57s master passed
+1 💚 compile 0m 39s master passed
+1 💚 javadoc 0m 32s master passed
+1 💚 shadedjars 5m 21s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ patch 5m 40s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 2m 58s the patch passed
+1 💚 compile 0m 40s the patch passed
+1 💚 javac 0m 40s the patch passed
+1 💚 javadoc 0m 34s the patch passed
+1 💚 shadedjars 5m 20s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚 unit 1m 39s hbase-client in the patch passed.
+1 💚 unit 0m 48s hbase-zookeeper in the patch passed.
23m 43s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/15/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #5837
Optional Tests javac javadoc unit compile shadedjars
uname Linux 9d8383b18863 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / afdffae
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/15/testReport/
Max. process+thread count 320 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/15/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 36s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for branch
+1 💚 mvninstall 2m 54s master passed
+1 💚 compile 1m 11s master passed
+1 💚 checkstyle 0m 28s master passed
+1 💚 spotbugs 1m 7s master passed
+1 💚 spotless 0m 43s branch has no errors when running spotless:check.
-0 ⚠️ patch 0m 57s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for patch
+1 💚 mvninstall 2m 54s the patch passed
+1 💚 compile 1m 11s the patch passed
-0 ⚠️ javac 0m 48s /results-compile-javac-hbase-client.txt hbase-client generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 28s the patch passed
+1 💚 spotbugs 1m 22s the patch passed
+1 💚 hadoopcheck 10m 22s Patch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚 spotless 0m 44s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 20s The patch does not generate ASF License warnings.
31m 13s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/15/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5837
Optional Tests dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
uname Linux 57b3046ce85c 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / afdffae
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 82 (vs. ulimit of 30000)
modules C: hbase-client hbase-zookeeper U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5837/15/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@virajjasani virajjasani merged commit 8f5516d into apache:master Jul 18, 2024
virajjasani pushed a commit that referenced this pull request Jul 18, 2024
…5837)

Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Pankaj Kumar <[email protected]>
Signed-off-by: Viraj Jasani <[email protected]>
virajjasani pushed a commit that referenced this pull request Jul 19, 2024
…6095) (#5837)

Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Pankaj Kumar <[email protected]>
Signed-off-by: Viraj Jasani <[email protected]>
virajjasani pushed a commit that referenced this pull request Jul 19, 2024
…6095) (#5837)

Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Pankaj Kumar <[email protected]>
Signed-off-by: Viraj Jasani <[email protected]>
virajjasani pushed a commit that referenced this pull request Jul 19, 2024
…6095) (#5837)

Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Pankaj Kumar <[email protected]>
Signed-off-by: Viraj Jasani <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants