[
https://issues.apache.org/jira/browse/HBASE-18966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chia-Ping Tsai updated HBASE-18966:
-----------------------------------
Description:
The in-memory compaction/merge updates only the {{TimeRangeTracker}} when
creating new {{ImmutableSegment}}, but the time information used to do time
filter is the {{TimeRange}} rather than {{TimeRangeTracker}}. It don't cause
any bugs currently because the {{TimeRange}} is used for store-level ts filter
only and the default {{TimeRange}} of {{ImmutableSegment}} created by in-memory
compaction/merge has the maximum ts range.
The {{TimeRange}} was used to be a snapshot of {{TimeRangeTracker}} for
avoiding the sync operation happening in {{TimeRangeTracker}}. We can use
non-sync trt introduced by HBASE-18753 to replace the {{TimeRange}}.
was:
The in-memory compaction/merge do the great job of optimizing the memory layout
for cells, but they don't update its {{TimeRange}}. It don't cause any bugs
currently because the {{TimeRange}} is used for store-level ts filter only and
the default {{TimeRange}} of {{ImmutableSegment}} created by in-memory
compaction/merge has the maximum ts range.
The {{TimeRange}} is used to be a snapshot of {{TimeRangeTracker}} before for
avoiding the sync operation happening in {{TimeRangeTracker}}. HBASE-
> Use non-sync TimeRangeTracker as a replacement for TimeRange in
> ImmutableSegment
> --------------------------------------------------------------------------------
>
> Key: HBASE-18966
> URL: https://issues.apache.org/jira/browse/HBASE-18966
> Project: HBase
> Issue Type: Sub-task
> Reporter: Chia-Ping Tsai
> Assignee: Chia-Ping Tsai
> Fix For: 2.0.0-beta-1
>
> Attachments: HBASE-18966.v0.patch, HBASE-18966.v1.patch,
> HBASE-18966.v2.patch, HBASE-18966.v2.patch
>
>
> The in-memory compaction/merge updates only the {{TimeRangeTracker}} when
> creating new {{ImmutableSegment}}, but the time information used to do time
> filter is the {{TimeRange}} rather than {{TimeRangeTracker}}. It don't cause
> any bugs currently because the {{TimeRange}} is used for store-level ts
> filter only and the default {{TimeRange}} of {{ImmutableSegment}} created by
> in-memory compaction/merge has the maximum ts range.
> The {{TimeRange}} was used to be a snapshot of {{TimeRangeTracker}} for
> avoiding the sync operation happening in {{TimeRangeTracker}}. We can use
> non-sync trt introduced by HBASE-18753 to replace the {{TimeRange}}.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)