hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anoop Sam John <anoo...@huawei.com>
Subject RE: Regarding memstoreTS in bulkloaded HFiles
Date Wed, 30 May 2012 03:57:03 GMT
        Thanks for your reply. Yes I have seen that your algo is dealing with this memstoreTS.
Why I said may be we should allow to exclude (in bulkload- Just allow)
it should not be like for this reason some one should use the any of the encoding scheme.
May be as per the use case some one may not wish to go with any of the encoding ( may be).
In that case also these 8 bytes per KV may be we can easily save.  As per my study on the
code, in bulk load case storing this might not be needed at all..  And now we will write all
these values as 0 only as there is no memstoreTS in bulk load.

This memstoreTS was added for readers consistency when memstore is getting flushed in btw
read ( correct me if my understanding is wrong pls )

Mean while  good work Matt on the new encoder. Looking forward to get it included in HBase.

From: Matt Corgan [mcorgan@hotpads.com]
Sent: Wednesday, May 30, 2012 1:57 AM
To: dev@hbase.apache.org
Subject: Re: Regarding memstoreTS in bulkloaded HFiles

Hi Anoop,

I'm working on the Trie encoding you mentioned.  Just to confirm - it does
support encoding the memstore timestamp, and in the case that they are all
0, it will not take up any space.

I think the other DataBlockEncoders also write it to disk.  See

As for whether it's ever needed in a bulk load, I unfortunately don't know.
 My guess would be no, or that it's too exotic of a use case to worry
about.  Maybe someone else can confirm.  But, I'd say you might as well
support the option to include it since it will not take up any space after


On Tue, May 29, 2012 at 5:55 AM, Anoop Sam John <anoopsj@huawei.com> wrote:

> Hi Devs
>            In HFile V2 we have introduced the memstore TS to be getting
> written to the HFiles. In case of bulk load also, now we are writing a long
> value as part of every KV. I think in case of the bulk loading there is no
> meaning for the memstore TS. Can we avoid this?
> As of now we are not able to set any Block encoder algo as part of bulk
> loading. But I have created HBASE-6040 which solves this. I have checked
> the current available encoder algos but none of them handles the memstoreTS
> as such. There is a new type of trie encoder issue open. In this it seems
> it will handle this kind of scenario. Only one long value will get stored
> as memstoreTS for one block.    Still thes all makes it mandatory that some
> block encoder scheme to be used.
> Do we need to think making the memstoreTS write into the HFile (in version
> 2) as some way configurable? In case of bulk loading we can turn it OFF.
> Pls correct me if my understanding is wrong
> -Anoop-

View raw message