You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "zhuobin zheng (Jira)" <ji...@apache.org> on 2022/11/04 12:57:00 UTC
[jira] [Updated] (HBASE-27464) In memory compaction 'COMPACT' may cause data corruption when adding cells large than maxAlloc(default 256k) size.
[ https://issues.apache.org/jira/browse/HBASE-27464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
zhuobin zheng updated HBASE-27464:
----------------------------------
Summary: In memory compaction 'COMPACT' may cause data corruption when adding cells large than maxAlloc(default 256k) size. (was: In memory compaction 'COMPACT' may cause data corruption when add cell bigger than maxAlloc(default 256k) size.)
> In memory compaction 'COMPACT' may cause data corruption when adding cells large than maxAlloc(default 256k) size.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-27464
> URL: https://issues.apache.org/jira/browse/HBASE-27464
> Project: HBase
> Issue Type: Bug
> Components: in-memory-compaction
> Reporter: zhuobin zheng
> Priority: Critical
> Attachments: image-2022-11-04-15-46-21-645.png
>
>
> When init 'CellChunkImmutableSegment' for 'COMPACT' action, we not force copy to current MSLab.
> When cell size bigger than maxAlloc, cell will stay in previous chunk which will recycle after segment replace, and we may read wrong data when these chunk reused by others.
> !image-2022-11-04-15-46-21-645.png!
>
> Timeline:
> # add a cell 'A' bigger than 256K
> # cell 'A' will copy to a chunk 'A' when first compact
> # cell 'A' will retain in chunk 'A' when second compact
> # chunk 'A' recycled after segment swap and close
--
This message was sent by Atlassian Jira
(v8.20.10#820010)