Wellington Chevreuil created HBASE-29325:
--------------------------------------------

             Summary: Gson reflection failures on 
TestBucketCache.testCacheSimple
                 Key: HBASE-29325
                 URL: https://issues.apache.org/jira/browse/HBASE-29325
             Project: HBase
          Issue Type: Bug
            Reporter: Wellington Chevreuil
            Assignee: Wellington Chevreuil


This seems to happen for some specific jdk implementations. Observed on my 
local environment when executing it with Java HotSpot(TM) 64-Bit Server VM 
(build 17.0.8+9-LTS-211:
{noformat}
[ERROR] 
org.apache.hadoop.hbase.io.hfile.bucket.TestBucketCache.testCacheSimple[0: 
blockSize=8,192, bucketSizes=null]  Time elapsed: 1.722 s  <<< FAILURE!
java.lang.AssertionError: 
conversion to JSON should not fail, exception 
is:org.apache.hbase.thirdparty.com.google.gson.JsonIOException: Failed making 
field 'java.util.concurrent.locks.ReentrantLock#sync' accessible; either 
increase its visibility or write a custom TypeAdapter for its declaring type.
See 
https://github.com/google/gson/blob/main/Troubleshooting.md#reflection-inaccessible
        at org.junit.Assert.fail(Assert.java:89)
        at 
org.apache.hadoop.hbase.io.hfile.CacheTestUtils.testConvertToJSON(CacheTestUtils.java:371)
        at 
org.apache.hadoop.hbase.io.hfile.CacheTestUtils.testCacheSimple(CacheTestUtils.java:166)
        at 
org.apache.hadoop.hbase.io.hfile.bucket.TestBucketCache.testCacheSimple(TestBucketCache.java:237)
{noformat}
Apparently, the pre-commit build running with Eclipse Adoptium-17.0.11+9 
doesn't face this problem.

Possible fix is to set exclusion on private fields in the GsonUtil.createGson() 
method.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to