[ 
https://issues.apache.org/jira/browse/HBASE-30521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18142570#comment-18142570
 ] 

Hudson commented on HBASE-30521:
--------------------------------

Results for branch master
        [build #1521 on 
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1521/]: 
(/) *{color:green}+1 overall{color}*
----
details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1521/General_20Nightly_20Build_20Report/]








(/) {color:green}+1 jdk17 hadoop3 checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1521/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk21 hadoop3 checks{color}
-- For more information [see jdk21 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1521/JDK21_20Nightly_20Build_20Report_20_28Hadoop3_29/]


> BlockCacheUtil JSON serializer includes transient BucketCache internals
> -----------------------------------------------------------------------
>
>                 Key: HBASE-30521
>                 URL: https://issues.apache.org/jira/browse/HBASE-30521
>             Project: HBase
>          Issue Type: Bug
>          Components: BlockCache
>            Reporter: Julian Chandra Sutadi
>            Assignee: Julian Chandra Sutadi
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-1, 2.7.0, 3.1.0, 3.0.1, 2.6.8
>
>
> HBASE-29215 fixed the block cache JSON view for {{BucketCache}} by marking 
> the cache internals (e.g. {{backingMap}}, {{ioEngine}}) {{transient}}, which 
> Gson excludes by default.
> HBASE-29325 later changed the serializer in {{BlockCacheUtil}} to 
> {{excludeFieldsWithModifiers(Modifier.PRIVATE)}}. In [PR 
> #6999|https://github.com/apache/hbase/pull/6999], excluding {{TRANSIENT}} and 
> {{STATIC}} explicitly was dropped since they are Gson's default exclusions. 
> However, {{excludeFieldsWithModifiers}} overrides those defaults rather than 
> adding to them, so the non-private transient fields are serialized again. For 
> example, {{BucketCache.backingMap}}, which holds an entry for every cached 
> block, is included, so the size of the JSON view grows with the number of 
> cached blocks. This is the concern about serializing the whole BucketCache 
> raised in the same PR.
> The suggested fix is to pass the defaults along with {{PRIVATE}}, i.e. 
> {{excludeFieldsWithModifiers(Modifier.PRIVATE, Modifier.TRANSIENT, 
> Modifier.STATIC)}}. We will submit the fix proposal soon.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to