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

Lars Hofhansl commented on HBASE-8927:
--------------------------------------

Coming back to this... I think in order to make TTL work we need to be able to 
at least distinguish old and new tables and/or column families.

I still think the easiest is to add TIMESTAMP_MULTIPLIER as a table or CF 
option.
That way we:
# can handle old tables (the multiplier would default to 1)
# handle new table (there the multiplier could default to 1000 - for microsecs, 
or 1000000 - for nanosec)
# allow folks to tweak their their time range against their resolution
# (could even allow to set the multiplier to 0, indicating we're not dealing 
with time at all in the TS fields, and then we can disallow TTL)
# when checking the TTL, we'd scale the TTL with this value, and it would do 
the right thing.

Note that we would not actually have a higher resolution per se, we'd just make 
space in the KVs.
We can either set the free bits to 0, or fill them with a random numbers, or do 
some nanotime trickery.

It's a new option (sorry [~stack]), but I do not see another way out.

Thoughts?


> Use nano time instead of mili time everywhere
> ---------------------------------------------
>
>                 Key: HBASE-8927
>                 URL: https://issues.apache.org/jira/browse/HBASE-8927
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>              Labels: phoenix
>         Attachments: 8927.txt
>
>
> Less collisions and we are paying the price of a long anyways so might as 
> well fill it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to