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)