You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "PDavid (via GitHub)" <gi...@apache.org> on 2024/12/04 15:32:59 UTC

[PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invo… [hbase]

PDavid opened a new pull request, #6520:
URL: https://github.com/apache/hbase/pull/6520

   Before this change it returned HTTP 500 Internal Server Error.…ked on disabled table
   
   Before it returned HTTP 500 Internal Server Error.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6520:
URL: https://github.com/apache/hbase/pull/6520#issuecomment-2517905319

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 53s |  |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  4s |  |  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 _ |
   | +1 :green_heart: |  mvninstall  |   4m  5s |  |  master passed  |
   | +1 :green_heart: |  compile  |   0m 32s |  |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m 23s |  |  master passed  |
   | +1 :green_heart: |  shadedjars  |   5m 36s |  |  branch has no errors when building our shaded downstream artifacts.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 47s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 42s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 42s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 32s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   8m 33s |  |  patch has no errors when building our shaded downstream artifacts.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   6m 26s |  |  hbase-rest in the patch passed.  |
   |  |   |  36m 21s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6520 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux ec55497f7684 5.4.0-200-generic #220-Ubuntu SMP Fri Sep 27 13:19:16 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 9f25e0357b95415cc0e1699029e09bd5497aeb8b |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/1/testReport/ |
   | Max. process+thread count | 1987 (vs. ulimit of 30000) |
   | modules | C: hbase-rest U: hbase-rest |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/1/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.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "PDavid (via GitHub)" <gi...@apache.org>.
PDavid commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1870996741


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   Many thanks for the feedback. :+1: 
   
   Good point, performance is very important. I'll look into it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6520:
URL: https://github.com/apache/hbase/pull/6520#issuecomment-2517874998

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 48s |  |  Docker mode activated.  |
   |||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any anti-patterns.  |
   |||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   2m 40s |  |  master passed  |
   | +1 :green_heart: |  compile  |   0m 32s |  |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m 11s |  |  master passed  |
   | +1 :green_heart: |  spotbugs  |   0m 36s |  |  master passed  |
   | +1 :green_heart: |  spotless  |   0m 40s |  |  branch has no errors when running spotless:check.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   2m 42s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 33s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks issues.  |
   | +1 :green_heart: |  checkstyle  |   0m 11s |  |  the patch passed  |
   | +1 :green_heart: |  spotbugs  |   0m 40s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |   9m 25s |  |  Patch does not cause any errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  spotless  |   0m 39s |  |  patch has no errors when running spotless:check.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 11s |  |  The patch does not generate ASF License warnings.  |
   |  |   |  25m 48s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/1/artifact/yetus-general-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6520 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless |
   | uname | Linux 94edeb43a2de 5.4.0-195-generic #215-Ubuntu SMP Fri Aug 2 18:28:05 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 9f25e0357b95415cc0e1699029e09bd5497aeb8b |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 85 (vs. ulimit of 30000) |
   | modules | C: hbase-rest U: hbase-rest |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/1/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.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "stoty (via GitHub)" <gi...@apache.org>.
stoty commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1871142064


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   Of course we should add a new case for the not enabled case to the exception handler.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "stoty (via GitHub)" <gi...@apache.org>.
stoty commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1871140970


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   The other endpoints have this code for that:
   
   https://github.com/apache/hbase/blob/1880cb3ab57f74ada8fd0161a400676a15b4012c/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableScanResource.java#L116
   
   I think that would work here as well.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "stoty (via GitHub)" <gi...@apache.org>.
stoty commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1871140970


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   The other endpoints have this code for that:
   
   https://github.com/apache/hbase/blob/1880cb3ab57f74ada8fd0161a400676a15b4012c/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableScanResource.java#L116
   
   I think that would for here as well.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invo… [hbase]

Posted by "PDavid (via GitHub)" <gi...@apache.org>.
PDavid commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1869801904


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   To be completely honest I'm not 100% sure if this is the best way to solve this.
   This newly created `ServiceUnavailableException` class extends `IOException` so that it will be caught and handled in the catch block below (also incrementing failed requests metrics).
   What do you think?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "stoty (via GitHub)" <gi...@apache.org>.
stoty commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1870750400


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   I am worried that this explicit check may cause some extra network traffic.
   
   Can we catch whatever exception HBase throws in this case, and process that ?
   
   Also, the same check applies to most operations, so we should probably check this on all non-metadata endpoints.
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "PDavid (via GitHub)" <gi...@apache.org>.
PDavid commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1871289962


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   Many thanks for the suggestion but it will not work this particular case as the linked source is from the protobuf implementation which is very different: it uses the `ProtobufStreamingOutput` class and it does not uses the `CellSetModelStream` and that custom iterator implementation.
   
   I did the change but the test will fail.
   
   Here you can see why it will not work:
   
   ```java
   public CellSetModelStream get(final @Context UriInfo uriInfo) {
       if (LOG.isTraceEnabled()) {
         LOG.trace("GET " + uriInfo.getAbsolutePath());
       }
       servlet.getMetrics().incrementRequests(1);
       try {
         final int rowsToSend = userRequestedLimit;
         servlet.getMetrics().incrementSucessfulScanRequests(1);
         final Iterator<Result> itr = results.iterator();
         return new CellSetModelStream(new ArrayList<RowModel>() {
           @Override
           public Iterator<RowModel> iterator() {
             return new Iterator<RowModel>() {
               int count = rowsToSend;
   
               @Override
               public boolean hasNext() {
                 return count > 0 && itr.hasNext(); // <-- Exception is thrown here (JAXB / Jackson calls this later)
               }
   
               @Override
               public RowModel next() {
                 Result rs = itr.next();
                 if ((rs == null) || (count <= 0)) {
                   return null;
                 }
                 RowModel rModel = RestUtil.createRowModelFromResult(rs);
                 count--;
                 if (count == 0) {
                   results.close();
                 }
                 return rModel;
               }
             };
           }
         });
       } catch (Exception exp) {  // <-- Exception will not be caught here as "problematic" code is called later by JAXB / Jackson when serializing the response
         servlet.getMetrics().incrementFailedScanRequests(1);
         processException(exp);
         LOG.warn(exp.toString(), exp);
         return null;
       }
     }
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "PDavid (via GitHub)" <gi...@apache.org>.
PDavid closed pull request #6520: HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table
URL: https://github.com/apache/hbase/pull/6520


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "PDavid (via GitHub)" <gi...@apache.org>.
PDavid commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1871307845


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   Actually this Exception also happening in the protobuf case. There `ProtobufStreamingOutput.write()` is invoked by Jersey because it is using a streaming output feature
   
   ```
   Caused by: org.apache.hadoop.hbase.TableNotEnabledException: test
   	at java.lang.Thread.getStackTrace(Thread.java:1619) ~[?:?]
   	at org.apache.hadoop.hbase.util.FutureUtils.setStackTrace(FutureUtils.java:144) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.util.FutureUtils.rethrow(FutureUtils.java:163) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.client.AsyncTableResultScanner.next(AsyncTableResultScanner.java:173) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.client.ResultScanner.next(ResultScanner.java:94) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.rest.ProtobufStreamingOutput.write(ProtobufStreamingOutput.java:65) ~[hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:55) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:37) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:242) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:227) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:85) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:61) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   
   ...
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "PDavid (via GitHub)" <gi...@apache.org>.
PDavid commented on code in PR #6520:
URL: https://github.com/apache/hbase/pull/6520#discussion_r1871127237


##########
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java:
##########
@@ -139,6 +139,9 @@ public TableScanResource getScanResource(final @PathParam("scanspec") String sca
     @DefaultValue("true") @QueryParam(Constants.SCAN_INCLUDE_START_ROW) boolean includeStartRow,
     @DefaultValue("false") @QueryParam(Constants.SCAN_INCLUDE_STOP_ROW) boolean includeStopRow) {
     try {
+      if (servlet.getAdmin().isTableDisabled(TableName.valueOf(this.table))) {
+        throw new ServiceUnavailableException("Table disabled.");

Review Comment:
   I checked that the `TableNotEnabledException` is coming  via `TableScanResource.CellSetModelStream` here: https://github.com/apache/hbase/blob/master/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableScanResource.java#L77
   
   This code is actually called by JAXB / Jackson (for XML / JSON respectively).
   
   The problem is that even if we catch the `TableNotEnabledException` in the `Iterator.hasNext()` implementation we cannot throw any checked Exceptions from there or return REST response.
   
   Here is the full stacktrace:
   
   ```
   2024-12-05T11:21:47,001 WARN  [qtp485475507-43 {}] server.HttpChannel: handleException /test/* org.apache.hadoop.hbase.TableNotEnabledException: test
   2024-12-05T11:21:47,001 WARN  [qtp485475507-43 {}] server.HttpChannelState: unhandled due to prior sendError
   javax.servlet.ServletException: java.io.UncheckedIOException: org.apache.hadoop.hbase.TableNotEnabledException: test
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:412) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:349) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:379) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hadoop.hbase.http.SecurityHeadersFilter.doFilter(SecurityHeadersFilter.java:66) ~[hbase-http-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hadoop.hbase.http.ClickjackingPreventionFilter.doFilter(ClickjackingPreventionFilter.java:49) ~[hbase-http-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hadoop.hbase.rest.filter.GzipFilter.doFilter(GzipFilter.java:73) ~[hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server.handle(Server.java:516) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at java.lang.Thread.run(Thread.java:840) ~[?:?]
   Caused by: java.io.UncheckedIOException: org.apache.hadoop.hbase.TableNotEnabledException: test
   	at org.apache.hadoop.hbase.client.ResultScanner$1.hasNext(ResultScanner.java:53) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.rest.TableScanResource$1$1.hasNext(TableScanResource.java:77) ~[hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister$1.hasNext(Lister.java:285) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:137) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:159) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:344) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:597) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:328) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:498) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:320) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:249) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:110) ~[jaxb-api-2.3.1.jar:2.3.0]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.jaxb.internal.AbstractRootElementJaxbProvider.writeTo(AbstractRootElementJaxbProvider.java:181) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.jaxb.internal.AbstractRootElementJaxbProvider.writeTo(AbstractRootElementJaxbProvider.java:160) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:242) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:227) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:85) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:61) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1116) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:649) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:380) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:370) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:259) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:292) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:274) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:244) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:397) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	... 45 more
   Caused by: org.apache.hadoop.hbase.TableNotEnabledException: test
   	at java.lang.Thread.getStackTrace(Thread.java:1619) ~[?:?]
   	at org.apache.hadoop.hbase.util.FutureUtils.setStackTrace(FutureUtils.java:144) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.util.FutureUtils.rethrow(FutureUtils.java:163) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.client.AsyncTableResultScanner.next(AsyncTableResultScanner.java:173) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.client.ResultScanner$1.hasNext(ResultScanner.java:51) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.rest.TableScanResource$1$1.hasNext(TableScanResource.java:77) ~[hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister$1.hasNext(Lister.java:285) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:137) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:159) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:344) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:597) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:328) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:498) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:320) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:249) ~[jaxb-impl-2.2.3-1.jar:2.2.3]
   	at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:110) ~[jaxb-api-2.3.1.jar:2.3.0]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.jaxb.internal.AbstractRootElementJaxbProvider.writeTo(AbstractRootElementJaxbProvider.java:181) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.jaxb.internal.AbstractRootElementJaxbProvider.writeTo(AbstractRootElementJaxbProvider.java:160) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:242) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:227) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:85) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:61) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1116) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:649) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:380) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:370) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:259) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:292) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:274) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:244) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:397) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:349) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:379) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) ~[hbase-shaded-jersey-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hadoop.hbase.http.SecurityHeadersFilter.doFilter(SecurityHeadersFilter.java:66) ~[hbase-http-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hadoop.hbase.http.ClickjackingPreventionFilter.doFilter(ClickjackingPreventionFilter.java:49) ~[hbase-http-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hadoop.hbase.rest.filter.GzipFilter.doFilter(GzipFilter.java:73) ~[hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server.handle(Server.java:516) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[hbase-shaded-jetty-4.1.9.jar:?]
   	at java.lang.Thread.run(Thread.java:840) ~[?:?]
   	at --------Future.get--------(Unknown Source) ~[?:?]
   	at org.apache.hadoop.hbase.client.AsyncRpcRetryingCaller.lambda$onError$2(AsyncRpcRetryingCaller.java:206) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:71) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
   	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
   	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
   	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
   	at org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.completeCheckTableState(RawAsyncHBaseAdmin.java:767) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.lambda$isTableDisabled$40(RawAsyncHBaseAdmin.java:797) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:71) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
   	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
   	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
   	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
   	at org.apache.hadoop.hbase.ClientMetaTableAccessor.lambda$getTableState$0(ClientMetaTableAccessor.java:96) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:71) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
   	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
   	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
   	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
   	at org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.lambda$call$4(AsyncSingleRequestRpcRetryingCaller.java:92) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:71) ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
   	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
   	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
   	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
   	at org.apache.hadoop.hbase.client.ConnectionUtils$2.run(ConnectionUtils.java:628) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.com.google.protobuf.RpcUtil$1.run(RpcUtil.java:56) ~[hbase-shaded-protobuf-4.1.9.jar:4.1.9]
   	at org.apache.hbase.thirdparty.com.google.protobuf.RpcUtil$1.run(RpcUtil.java:47) ~[hbase-shaded-protobuf-4.1.9.jar:4.1.9]
   	at org.apache.hadoop.hbase.ipc.AbstractRpcClient.onCallFinished(AbstractRpcClient.java:400) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:430) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:425) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.Call.callComplete(Call.java:117) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.Call.setResponse(Call.java:149) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.RpcConnection.finishCall(RpcConnection.java:396) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.RpcConnection.readResponse(RpcConnection.java:461) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.NettyRpcDuplexHandler.readResponse(NettyRpcDuplexHandler.java:125) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hadoop.hbase.ipc.NettyRpcDuplexHandler.channelRead(NettyRpcDuplexHandler.java:140) ~[hbase-client-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[hbase-shaded-netty-4.1.9.jar:?]
   	at org.apache.hbase.thirdparty.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[hbase-shaded-netty-4.1.9.jar:?]
   	... 1 more
   
   ```
   
   Do you maybe have any idea how to solve this? :thinking: 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6520:
URL: https://github.com/apache/hbase/pull/6520#issuecomment-2520277140

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 24s |  |  Docker mode activated.  |
   |||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any anti-patterns.  |
   |||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 29s |  |  master passed  |
   | +1 :green_heart: |  compile  |   0m 43s |  |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m 12s |  |  master passed  |
   | +1 :green_heart: |  spotbugs  |   0m 46s |  |  master passed  |
   | +1 :green_heart: |  spotless  |   0m 57s |  |  branch has no errors when running spotless:check.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 10s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 38s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 38s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks issues.  |
   | +1 :green_heart: |  checkstyle  |   0m 11s |  |  the patch passed  |
   | +1 :green_heart: |  spotbugs  |   0m 56s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  11m 17s |  |  Patch does not cause any errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  spotless  |   0m 50s |  |  patch has no errors when running spotless:check.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 11s |  |  The patch does not generate ASF License warnings.  |
   |  |   |  30m 36s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/2/artifact/yetus-general-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6520 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless |
   | uname | Linux af01ddc7089f 5.4.0-200-generic #220-Ubuntu SMP Fri Sep 27 13:19:16 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / cfb5623dfed0a4f28e923ae3a306963066c9391c |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 85 (vs. ulimit of 30000) |
   | modules | C: hbase-rest U: hbase-rest |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/2/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.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6520:
URL: https://github.com/apache/hbase/pull/6520#issuecomment-2520256870

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 52s |  |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  4s |  |  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 _ |
   | +1 :green_heart: |  mvninstall  |   2m 57s |  |  master passed  |
   | +1 :green_heart: |  compile  |   0m 28s |  |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m 20s |  |  master passed  |
   | +1 :green_heart: |  shadedjars  |   5m 10s |  |  branch has no errors when building our shaded downstream artifacts.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   2m 44s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 21s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 21s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 17s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   4m 50s |  |  patch has no errors when building our shaded downstream artifacts.  |
   |||| _ Other Tests _ |
   | -1 :x: |  unit  |   3m 14s | [/patch-unit-hbase-rest.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/2/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-rest.txt) |  hbase-rest in the patch failed.  |
   |  |   |  22m 20s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6520 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 4e15abc2586e 5.4.0-200-generic #220-Ubuntu SMP Fri Sep 27 13:19:16 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / cfb5623dfed0a4f28e923ae3a306963066c9391c |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/2/testReport/ |
   | Max. process+thread count | 1853 (vs. ulimit of 30000) |
   | modules | C: hbase-rest U: hbase-rest |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6520/2/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.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "PDavid (via GitHub)" <gi...@apache.org>.
PDavid commented on PR #6520:
URL: https://github.com/apache/hbase/pull/6520#issuecomment-2522639542

   > I don't have a solution.
   > 
   > Maybe we should just leave this be, and trade a good error message off for performance.
   
   Many thanks. I agree. Then I'll close this PR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-28999 Return HTTP 503 when stateless scan REST endpoint is invoked on disabled table [hbase]

Posted by "stoty (via GitHub)" <gi...@apache.org>.
stoty commented on PR #6520:
URL: https://github.com/apache/hbase/pull/6520#issuecomment-2522220485

   I don't have a solution.
   
   Maybe we should just leave this be, and trade a good error message off for performance.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org