You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Huon Wilson (JIRA)" <ji...@apache.org> on 2019/08/13 05:03:00 UTC

[jira] [Created] (HBASE-22841) TimeRange's factory functions do not support ranges, only `allTime` and `at`

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 user@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)