Huon Wilson created HBASE-22841:
-----------------------------------

             Summary: TimeRange's factory functions do not support ranges, only 
`allTime` and `at`
                 Key: HBASE-22841
                 URL: https://issues.apache.org/jira/browse/HBASE-22841
             Project: HBase
          Issue Type: Improvement
          Components: Client
    Affects Versions: 2.1.5, 2.2.0
            Reporter: Huon Wilson


The {{org.apache.hadoop.hbase.io.TimeRange}} is used in functions like 
{{org.apache.hadoop.hbase.client.Table.CheckAndMutateBuilder#timeRange}}.

The current ways to create a {{TimeRange}} are:

- factory functions: {{at}} (a single instant), {{allTime}} (all valid 
timestamps)
- deprecated and {{@InterfaceAudience.Private}} constructors, which support 
more ranges, like {{[minStamp, maxStamp)}}, and {{[minStamp, MAX)}}

This is insufficient for all but the simplest use of the 
{{CheckAndMutateBuilder#timeRange}} function.

On u...@hbase.apache.org, it was suggested that more factory functions could be 
added: 
https://lists.apache.org/thread.html/0ffc5e57c396873d56e49d7b02e823432b053fb98037ee6778d7c2ce@%3Cuser.hbase.apache.org%3E

However, {{TimeRange}}'s documentation currently says:

{code:java}
 * Can be returned and read by clients.  Should not be directly created by 
clients.
 * Thus, all constructors are purposely @InterfaceAudience.Private.
{code}

so another approach to making {{CheckAndMutateBuilder#timeRange}} useful may be 
required.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to