You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by GitBox <gi...@apache.org> on 2020/08/18 19:53:13 UTC

[GitHub] [hbase] saintstack opened a new pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

saintstack opened a new pull request #2274:
URL: https://github.com/apache/hbase/pull/2274


   …ance
   
   Patch deprecates and nulls RegionInfo#UNDEFINED (added by HBASE-22723)
   so as to break possible static initialization deadlock. Adds a local
   UNDEFINED to the only place where it is used, in CatalogJanitor doing
   fixup.
   
   Cleans up checkstyle complaints in RegionInfo.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] virajjasani commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
virajjasani commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-676555512


   > The whole dependency system is still fragile and as you said, the proper way is to decouple them and I think that would be a much bigger refactor given the static fields are sprinkled all over the place and some of those places are IA.Public.
   
   +1


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache9 commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache9 commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677266826


   > ```
   > Could this really solve the problem?
   > ```
   > 
   > Problem is hard to reproduce.
   > 
   > Reasoning, this patch shoud reduce likelihood of our encountering this static loading lockup.
   > 
   > ```
   > ....That is, just move the UNDEFINED field to RegionInfoBuilder. I know this breaks the IA.Public rule, so maybe we just leave 2.3.x as is, since this is not easy to reproduce and does not cause any data loss. Let's make it clean on 2.4+.
   > ```
   > 
   > Yeah, breaks the IA.Public -- hence this patch which does not break IA.Public.
   > 
   > Following the rules, we can't move UNDEFINED till 4.0 -- not 2.4. A server hung in this manner where all priority handlers are jammed up but heartbeating, etc. keeps 'working' broke the cluster; the operator ended up doing cluster restart... Disruptive.
   > 
   > Would like to land a workaround/fix for 2.3+.
   > 
   > Perhaps you prefer the first patch which just deprecated UNDEFINED setting it to null so as not to reference RegionInfoBuilder?
   > 
   > @Apache9
   > 
   > Thanks
   
   Setting it to null does not make real difference with removing it? If users use it, their code will be in trouble...
   
   To me, I think this is a mistake, it should not be placed in RegionInfo, or at least should be marked as IA.Private? We have lots of IA.Private fields and methods in RegionInfo.
   
   So maybe, we deprecated the field on 2.3, and also marked it as IA.Private, to tell users you should not use it directly. This patch will be committed to all branches.
   
   And file another issue, to completely move this field from RegionInfo to RegionInfoBuilder, and this patch will be committed to branches other than 2.3. For me I prefer we commit this to 2.4+, but I'm also fine with committing to 3.x only, or even 4.x, since this problem is really not easy to reproduce.
   
   Thanks.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677780020


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   0m 34s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  7s |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.3 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 47s |  branch-2.3 passed  |
   | +1 :green_heart: |  compile  |   0m 27s |  branch-2.3 passed  |
   | +1 :green_heart: |  shadedjars  |   5m 13s |  branch has no errors when building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   0m 27s |  branch-2.3 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 17s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 28s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 27s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m  3s |  patch has no errors when building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   0m 24s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 13s |  hbase-client in the patch passed.  |
   |  |   |  23m 11s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 4888231358c0 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 4f6e44fe79 |
   | Default Java | 1.8.0_232 |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/testReport/ |
   | Max. process+thread count | 342 (vs. ulimit of 12500) |
   | modules | C: hbase-client U: hbase-client |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] saintstack commented on a change in pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on a change in pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#discussion_r472510700



##########
File path: hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
##########
@@ -69,7 +65,14 @@
  */
 @InterfaceAudience.Public
 public interface RegionInfo extends Comparable<RegionInfo> {
-  RegionInfo UNDEFINED = RegionInfoBuilder.newBuilder(TableName.valueOf("__UNDEFINED__")).build();
+  /**
+   * Do not use.
+   * @deprecated Since 2.3.1; to be removed in 4.0.0 with no replacement.
+   */
+  // Removed because creation was creating a static deadlock, HBASE-24896
+  @Deprecated
+  RegionInfo UNDEFINED = null;

Review comment:
       Thanks for the review @bharathv 
   
   Say more. You suggesting move FIRST_META_REGIONINFO define into RegionInfo?




----------------------------------------------------------------
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.

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



[GitHub] [hbase] bharathv commented on a change in pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
bharathv commented on a change in pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#discussion_r472538396



##########
File path: hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
##########
@@ -69,7 +65,14 @@
  */
 @InterfaceAudience.Public
 public interface RegionInfo extends Comparable<RegionInfo> {
-  RegionInfo UNDEFINED = RegionInfoBuilder.newBuilder(TableName.valueOf("__UNDEFINED__")).build();
+  /**
+   * Do not use.
+   * @deprecated Since 2.3.1; to be removed in 4.0.0 with no replacement.
+   */
+  // Removed because creation was creating a static deadlock, HBASE-24896
+  @Deprecated
+  RegionInfo UNDEFINED = null;

Review comment:
       > You suggesting move FIRST_META_REGIONINFO define into RegionInfo?
   
   Exactly. I think thats one way to break the loop without this deprecation schedule. I don't know if it has other implications (especially if it breaks the semantics described in HBASE-17980).




----------------------------------------------------------------
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.

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



[GitHub] [hbase] bharathv commented on a change in pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
bharathv commented on a change in pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#discussion_r472503645



##########
File path: hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
##########
@@ -69,7 +65,14 @@
  */
 @InterfaceAudience.Public
 public interface RegionInfo extends Comparable<RegionInfo> {
-  RegionInfo UNDEFINED = RegionInfoBuilder.newBuilder(TableName.valueOf("__UNDEFINED__")).build();
+  /**
+   * Do not use.
+   * @deprecated Since 2.3.1; to be removed in 4.0.0 with no replacement.
+   */
+  // Removed because creation was creating a static deadlock, HBASE-24896
+  @Deprecated
+  RegionInfo UNDEFINED = null;

Review comment:
       Was wondering if we can move the following into RegionInfo to avoid this deprecation stuff. For that we will have to switch to RegionInfoBuilder c'tor because the following usage is a private c'tor. Curious if you considered that and didn't want to do it for some reason. The c'tor was specifically designed for this usecase, so I may be missing some context here.
   
   public static final RegionInfo FIRST_META_REGIONINFO =
       new MutableRegionInfo(1L, TableName.META_TABLE_NAME, RegionInfo.DEFAULT_REPLICA_ID);




----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677399405


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   0m 30s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  7s |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.3 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 54s |  branch-2.3 passed  |
   | +1 :green_heart: |  compile  |   0m 27s |  branch-2.3 passed  |
   | +1 :green_heart: |  shadedjars  |   5m 31s |  branch has no errors when building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   0m 28s |  branch-2.3 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 26s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 27s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 27s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 16s |  patch has no errors when building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   0m 25s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 27s |  hbase-client in the patch passed.  |
   |  |   |  24m 10s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 10f911c06e17 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 4f6e44fe79 |
   | Default Java | 1.8.0_232 |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/testReport/ |
   | Max. process+thread count | 346 (vs. ulimit of 12500) |
   | modules | C: hbase-client U: hbase-client |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677022356


   `Wondering if moving MutableRegionInfo impl class to separate outer class could help us by any chance (It's static init that is causing issue, not static subclass. `
   
   I could make a PR to do that or do that tooo.... Thanks @virajjasani 


----------------------------------------------------------------
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.

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



[GitHub] [hbase] virajjasani commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
virajjasani commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-676578737


   Wondering if moving `MutableRegionInfo` impl class to separate outer class could help us by any chance (It's static init that is causing issue, not static subclass. However, even in the example mentioned in the blog post provided by Bharath has static init referring to static sub-class within it's own class and not any extended outer class, maybe some JVM bug not able to deal with this inter-dependencies **only** when one subclass is static subclass, who knows...)


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-675802441


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 29s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  1s |  No case conflicting files found.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any anti-patterns.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   ||| _ branch-2.3 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 17s |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 36s |  branch-2.3 passed  |
   | +1 :green_heart: |  checkstyle  |   2m  7s |  branch-2.3 passed  |
   | +1 :green_heart: |  spotbugs  |   3m 39s |  branch-2.3 passed  |
   ||| _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 15s |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 10s |  the patch passed  |
   | -0 :warning: |  checkstyle  |   0m 41s |  hbase-client: The patch generated 1 new + 318 unchanged - 0 fixed = 319 total (was 318)  |
   | -0 :warning: |  checkstyle  |   1m 16s |  hbase-server: The patch generated 2 new + 412 unchanged - 16 fixed = 414 total (was 428)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
   | +1 :green_heart: |  hadoopcheck  |  17m  0s |  Patch does not cause any errors with Hadoop 2.10.0 or 3.1.2 3.2.1.  |
   | +1 :green_heart: |  spotbugs  |   5m 22s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 40s |  The patch does not generate ASF License warnings.  |
   |  |   |  48m 45s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-general-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle |
   | uname | Linux a09bab3a56bf 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 6202ee6b64 |
   | checkstyle | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt |
   | checkstyle | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt |
   | Max. process+thread count | 94 (vs. ulimit of 12500) |
   | modules | C: hbase-client hbase-zookeeper hbase-server U: . |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12 |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-678038915


   Closing this PR. Will open a new one against this JIRA when I have a better story.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677264516


   Thanks for the help here.
   
   The last push implements @virajjasani 's suggestion. It moves the MutableRegionInfo out of RegionInfoBuilder to be standalone. This allows breaking of a static reference to RegionInfoBuilder from RegionInfo. A static Reference from RegionInfo to MutableRegionInfo remains but it seems clean; MRI has no interesting statics initializations for its part.
   
   This approach looks sufficient breaking the possible static load tangle. I could add this to first patch -- deprecating and nulling UNDEFINED -- and/or add the nice @bharathv suggestion. Either would nail it but this looks enough.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677814307


   Thats for the helpful pointer @bharathv and your input.
   
   Given the above discussion and my not wanting to waste valuable review resource, I think I need to reproduce this issue so can say for sure whether an approach works; I speculate too much overusing the 'hard-to-reproduce' license.
   
   Let me add the IA.Private and the deprecation per @Apache9 suggests in a separate issue for now at least while I figure how to repro. the lockup.
   
   Thank you for reviews @bharathv , @virajjasani , and @Apache9 


----------------------------------------------------------------
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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-676559559


   ```
   Could this really solve the problem?
   ```
   
   Problem is hard to reproduce.
   
   Reasoning, this patch shoud reduce likelihood of our encountering this static loading lockup.
   
   ```
   ....That is, just move the UNDEFINED field to RegionInfoBuilder. I know this breaks the IA.Public rule, so maybe we just leave 2.3.x as is, since this is not easy to reproduce and does not cause any data loss. Let's make it clean on 2.4+.
   ```
   
   Yeah, breaks the IA.Public -- hence this patch which does not break IA.Public.
   
   Following the rules, we can't move UNDEFINED till 4.0 -- not 2.4. A server hung in this manner where all priority handlers are jammed up but heartbeating, etc. keeps 'working' broke the cluster; the operator ended up doing cluster restart... Disruptive.
   
   Would like to land a workaround/fix for 2.3+.
   
   Perhaps you prefer the first patch which just deprecated UNDEFINED setting it to null so as not to reference RegionInfoBuilder?
   
   @Apache9 
   
   Thanks


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-675837123


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 33s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  8s |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.3 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 17s |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 39s |  branch-2.3 passed  |
   | +1 :green_heart: |  compile  |   1m 42s |  branch-2.3 passed  |
   | +1 :green_heart: |  shadedjars  |   5m  3s |  branch has no errors when building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   1m 17s |  branch-2.3 passed  |
   ||| _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 16s |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 26s |  the patch passed  |
   | +1 :green_heart: |  compile  |   1m 40s |  the patch passed  |
   | +1 :green_heart: |  javac  |   1m 40s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m  6s |  patch has no errors when building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   1m 15s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 16s |  hbase-client in the patch passed.  |
   | +1 :green_heart: |  unit  |   0m 42s |  hbase-zookeeper in the patch passed.  |
   | +1 :green_heart: |  unit  | 153m 48s |  hbase-server in the patch passed.  |
   |  |   | 184m 51s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux ce005da07678 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 6202ee6b64 |
   | Default Java | 1.8.0_232 |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/testReport/ |
   | Max. process+thread count | 3615 (vs. ulimit of 12500) |
   | modules | C: hbase-client hbase-zookeeper hbase-server U: . |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677767879


   Added IA.Private and deprecation on UNDEFINED in RI per @Apache9 suggestion.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677789166


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   0m 38s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any anti-patterns.  |
   | +1 :green_heart: |  @author  |   0m  1s |  The patch does not contain any @author tags.  |
   ||| _ branch-2.3 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 45s |  branch-2.3 passed  |
   | +1 :green_heart: |  checkstyle  |   0m 45s |  branch-2.3 passed  |
   | +1 :green_heart: |  spotbugs  |   1m 31s |  branch-2.3 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 16s |  the patch passed  |
   | +1 :green_heart: |  checkstyle  |   0m 41s |  hbase-client: The patch generated 0 new + 23 unchanged - 3 fixed = 23 total (was 26)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
   | +1 :green_heart: |  hadoopcheck  |  20m 16s |  Patch does not cause any errors with Hadoop 2.10.0 or 3.1.2 3.2.1.  |
   | +1 :green_heart: |  spotbugs  |   1m 13s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 13s |  The patch does not generate ASF License warnings.  |
   |  |   |  41m 37s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/artifact/yetus-general-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle |
   | uname | Linux d9b5fac11a41 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 4f6e44fe79 |
   | Max. process+thread count | 94 (vs. ulimit of 12500) |
   | modules | C: hbase-client U: hbase-client |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12 |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] saintstack closed pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack closed pull request #2274:
URL: https://github.com/apache/hbase/pull/2274


   


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-675835722


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 24s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  8s |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.3 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 16s |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   4m 26s |  branch-2.3 passed  |
   | +1 :green_heart: |  compile  |   1m 58s |  branch-2.3 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  5s |  branch has no errors when building our shaded downstream artifacts.  |
   | -0 :warning: |  javadoc  |   0m 31s |  hbase-client in branch-2.3 failed.  |
   | -0 :warning: |  javadoc  |   0m 41s |  hbase-server in branch-2.3 failed.  |
   | -0 :warning: |  javadoc  |   0m 16s |  hbase-zookeeper in branch-2.3 failed.  |
   ||| _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 21s |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   4m  2s |  the patch passed  |
   | +1 :green_heart: |  compile  |   1m 54s |  the patch passed  |
   | +1 :green_heart: |  javac  |   1m 54s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m 11s |  patch has no errors when building our shaded downstream artifacts.  |
   | -0 :warning: |  javadoc  |   0m 31s |  hbase-client in the patch failed.  |
   | -0 :warning: |  javadoc  |   0m 17s |  hbase-zookeeper in the patch failed.  |
   | -0 :warning: |  javadoc  |   0m 49s |  hbase-server in the patch failed.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 39s |  hbase-client in the patch passed.  |
   | +1 :green_heart: |  unit  |   0m 49s |  hbase-zookeeper in the patch passed.  |
   | +1 :green_heart: |  unit  | 142m 39s |  hbase-server in the patch passed.  |
   |  |   | 178m 27s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 75e9a9fe9270 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 6202ee6b64 |
   | Default Java | 2020-01-14 |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-zookeeper.txt |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-zookeeper.txt |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/testReport/ |
   | Max. process+thread count | 3908 (vs. ulimit of 12500) |
   | modules | C: hbase-client hbase-zookeeper hbase-server U: . |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/1/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] virajjasani edited a comment on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
virajjasani edited a comment on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-676578737


   Wondering if moving `MutableRegionInfo` impl class to separate outer class could help us by any chance (It's static init that is causing issue, not static subclass. However, even in the example mentioned in the blog post provided by Bharath has static init referring to static sub-class within it's own class and not any extended outer class, maybe some JVM bug not able to deal with this inter-dependencies **only** when one of the involved subclasses is static subclass, who knows...)


----------------------------------------------------------------
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.

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



[GitHub] [hbase] bharathv commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
bharathv commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677785949


   > This approach looks sufficient breaking the possible static load tangle. I could add this to first patch -- deprecating and nulling UNDEFINED 
   
   Wondering if this is sufficient. Going by the jstacks, FIRST_META_REGIONINFO access triggers a MutableRegionInfo load and that triggers the parent interface RegionInfo load [1]. And any UNDEFINED access in RegionInfo triggers the exact opposite order. I was under the impression that we should break this tie. While un-nesting MutableRegionInfo is a welcome change, curious if that solves the problem. Thanks.
   
   [1] https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.4.2


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677429588


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 12s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  7s |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.3 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 46s |  branch-2.3 passed  |
   | +1 :green_heart: |  compile  |   0m 31s |  branch-2.3 passed  |
   | +1 :green_heart: |  shadedjars  |   6m 27s |  branch has no errors when building our shaded downstream artifacts.  |
   | -0 :warning: |  javadoc  |   0m 29s |  hbase-client in branch-2.3 failed.  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 23s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 32s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 32s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m 27s |  patch has no errors when building our shaded downstream artifacts.  |
   | -0 :warning: |  javadoc  |   0m 28s |  hbase-client in the patch failed.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 36s |  hbase-client in the patch passed.  |
   |  |   |  29m  8s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 5e2498ab52e7 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 4f6e44fe79 |
   | Default Java | 2020-01-14 |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/testReport/ |
   | Max. process+thread count | 210 (vs. ulimit of 12500) |
   | modules | C: hbase-client U: hbase-client |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677785767


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 30s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  5s |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.3 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   5m 44s |  branch-2.3 passed  |
   | +1 :green_heart: |  compile  |   0m 40s |  branch-2.3 passed  |
   | +1 :green_heart: |  shadedjars  |   7m 36s |  branch has no errors when building our shaded downstream artifacts.  |
   | -0 :warning: |  javadoc  |   0m 33s |  hbase-client in branch-2.3 failed.  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   5m  4s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 39s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 39s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   7m 31s |  patch has no errors when building our shaded downstream artifacts.  |
   | -0 :warning: |  javadoc  |   0m 32s |  hbase-client in the patch failed.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   3m 19s |  hbase-client in the patch passed.  |
   |  |   |  34m 29s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux fd44bd30b838 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 4f6e44fe79 |
   | Default Java | 2020-01-14 |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt |
   | javadoc | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/testReport/ |
   | Max. process+thread count | 206 (vs. ulimit of 12500) |
   | modules | C: hbase-client U: hbase-client |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/5/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677764605


   `To me, I think this is a mistake, it should not be placed in RegionInfo, or at least should be marked as IA.Private? We have lots of IA.Private fields and methods in RegionInfo.`
   
   And I think the opposite. RegionInfo seems natural home for static defines such as UNDEFINED and first Region of meta.
   
   Thanks for the other suggestions. Let me add IA.Private and deprecation. Let me add that here to this last patch.
   
   Shout if you -1 on this last approach. Otherwise, please remove changes requested. Thanks.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] bharathv commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
bharathv commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-676516425


   > RegionInfoBuilder and RegionInfo deeply reference each other, even if you remove the FIRST_META_REGIONINFO, there are lots of methods which return value or parameters are RegionInfo, and the MutableRegionInfo is a sub class of RegionInfo, and also a ineer class of RegionInfoBuilder...
   
   Right. This patch just reduces the window and chance of init race. If we see the jstacks (and see all the places that got changed in the patch), FIRST_META_REGIONINFO is touched in many init code paths and can potentially cause these races. The whole dependency system is still fragile and as you said, the proper way is to decouple them and I think that would be a much bigger refactor given the static fields are sprinkled all over the place and some of those places are IA.Public.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] saintstack commented on a change in pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on a change in pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#discussion_r472543730



##########
File path: hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
##########
@@ -69,7 +65,14 @@
  */
 @InterfaceAudience.Public
 public interface RegionInfo extends Comparable<RegionInfo> {
-  RegionInfo UNDEFINED = RegionInfoBuilder.newBuilder(TableName.valueOf("__UNDEFINED__")).build();
+  /**
+   * Do not use.
+   * @deprecated Since 2.3.1; to be removed in 4.0.0 with no replacement.
+   */
+  // Removed because creation was creating a static deadlock, HBASE-24896
+  @Deprecated
+  RegionInfo UNDEFINED = null;

Review comment:
       I'd glanced in passing but there are ~100 refs to old location. Let me try it... make sure we are not just moving this problem. Would be better I agree if it worked and we could avoid this deprecation. @bharathv 
   




----------------------------------------------------------------
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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-675774822


   Your suggestion is better @bharathv .... more code change but looks safe to me. RegionInfoBuilder, the host for FIRST_META_REGIONINFO is @InterfaceAudience.Private so moving it is 'allowed'. Thought of adding back something like the below to RegionInfoBuilder in case any downstream references...
   
      public static final RegionInfo FIRST_META_REGIONINFO = RegionInfo.FIRST_META_REGIONINFO;
   
   ... but that might bring back the statics load deadlock in a new guise.
   
   


----------------------------------------------------------------
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.

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



[GitHub] [hbase] saintstack commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
saintstack commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-675680734


   Hard to reproduce so no test.


----------------------------------------------------------------
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.

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



[GitHub] [hbase] Apache-HBase commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-677429362


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   2m 39s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any anti-patterns.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   ||| _ branch-2.3 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 56s |  branch-2.3 passed  |
   | +1 :green_heart: |  checkstyle  |   0m 39s |  branch-2.3 passed  |
   | +1 :green_heart: |  spotbugs  |   1m 24s |  branch-2.3 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 14s |  the patch passed  |
   | +1 :green_heart: |  checkstyle  |   0m 39s |  hbase-client: The patch generated 0 new + 23 unchanged - 3 fixed = 23 total (was 26)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
   | +1 :green_heart: |  hadoopcheck  |  25m  5s |  Patch does not cause any errors with Hadoop 2.10.0 or 3.1.2 3.2.1.  |
   | +1 :green_heart: |  spotbugs  |   1m 40s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 15s |  The patch does not generate ASF License warnings.  |
   |  |   |  51m 35s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/artifact/yetus-general-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/2274 |
   | Optional Tests | dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle |
   | uname | Linux a9fca2644178 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.3 / 4f6e44fe79 |
   | Max. process+thread count | 84 (vs. ulimit of 12500) |
   | modules | C: hbase-client U: hbase-client |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2274/4/console |
   | versions | git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12 |
   | Powered by | Apache Yetus 0.11.1 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.

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



[GitHub] [hbase] Apache9 commented on pull request #2274: HBASE-24896 'Stuck' in static initialization creating RegionInfo inst…

Posted by GitBox <gi...@apache.org>.
Apache9 commented on pull request #2274:
URL: https://github.com/apache/hbase/pull/2274#issuecomment-675811729


   And in general, I do not think we want users to make use of RegionInfo.UNDEFINED directly? It should be put to RegionInfoBuilder at the first place...


----------------------------------------------------------------
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.

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