[
https://issues.apache.org/jira/browse/HBASE-2265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12881620#action_12881620
]
Kannan Muthukkaruppan commented on HBASE-2265:
----------------------------------------------
Todd: Jonathan and I discussed essentially the same scheme offline. Basically,
the extra meta data per HFile serves as a hint to optimize the common case of
timestamps arriving in order, without sacrificing correctness if they did come
out of order.
You wrote <<< It may actually be sufficient to just store the max timestamp and
not the min. I haven't really thought of a great use for min. >>>. For queries
of the form "get all versions >T" max timestamp would suffice. But for queries
that look up a specific timestamp, or columns in a time range T1..T2, having
both the min and max timestamps would be better.
> HFile and Memstore should maintain minimum and maximum timestamps
> -----------------------------------------------------------------
>
> Key: HBASE-2265
> URL: https://issues.apache.org/jira/browse/HBASE-2265
> Project: HBase
> Issue Type: Improvement
> Components: regionserver
> Reporter: Todd Lipcon
>
> In order to fix HBASE-1485 and HBASE-29, it would be very helpful to have
> HFile and Memstore track their maximum and minimum timestamps. This has the
> following nice properties:
> - for a straight Get, if an entry has been already been found with timestamp
> X, and X >= HFile.maxTimestamp, the HFile doesn't need to be checked. Thus,
> the current fast behavior of get can be maintained for those who use strictly
> increasing timestamps, but "correct" behavior for those who sometimes write
> out-of-order.
> - for a scan, the "latest timestamp" of the storage can be used to decide
> which cell wins, even if the timestamp of the cells is equal. In essence,
> rather than comparing timestamps, instead you are able to compare tuples of
> (row timestamp, storage.max_timestamp)
> - in general, min_timestamp(storage A) >= max_timestamp(storage B) if storage
> A was flushed after storage B.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.