Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Static constant UNDEFINED has been removed from public interface RegionInfo. This is a breaking change, but resolves a critical deadlock bug. This constant was never meant to be exposed and has been deprecated since version 2.3.2 with no replacement.
Description
See https://issues.apache.org/jira/browse/HBASE-24896 for the original description. Despite having that fix, we are seeing this issue in a 2.4.6-based deploy. We recently started seeing it as we were moving to centos8. I'm not sure why the centos version would affect this, otherwise the hbase server version and java versions were not changing.
We're seeing this in a non-trivial number of new centos8 servers that we spin up. I'm pushing a hotfix which removes RegionInfo.UNDEFINED to see if that resolves our issue.
As mentioned in my last comments on that jira, it could be that this field is still an issue because according to https://stackoverflow.com/questions/28631656/runnable-thread-state-but-in-object-wait:
> Such deadlocks may be caused by a typical bug when a subclass is referenced from a static initializer.
If that's true, in this case MutableRegionInfo is a subclass/implementer of RegionInfo, so that could trigger it. Granted the linked bug is marked "Not An Issue".
Attachments
Issue Links
- links to