We might need a static creator method which takes start and end time in TR?
Anoop On Tue, Aug 6, 2019 at 9:11 AM OpenInx <open...@gmail.com> wrote: > Hi > I've checked the code, I think you can use the deprecated TimeRange(ts+1) > first, also the methods defined in TimeRange > is not good enough now, we may need to create an issue to address this > thing. > > Thanks. > > On Tue, Aug 6, 2019 at 10:15 AM Wilson, Huon (Data61, Eveleigh) < > huon.wil...@data61.csiro.au> wrote: > > > Hi, > > > > I’m trying to do an atomic read-modify-write where a cell is read and > then > > rewritten with an updated value (updated in a complicated way, more than > > just incrementing), but only if there’s been no writes since it was read, > > otherwise try again from the read. > > > > My plan is to use something like > > > > table.checkAndMutate(row, family).qualifier(qualifier).timeRange(new > > TimeRange(ts + 1)).ifNotExists().put(put) > > > > to insert if the cell row/family/qualifier doesn't exist in the range > `[ts > > + 1, infinity)`, which I think means no writes after time `ts`. However, > > that TimeRange constructor is @Deprecated and @Private, and the only > > remaining ways to publicly construct a TimeRange is > `TimeRange.allTime()` > > ([0, infinity)) and `TimeRange.at(long ts)` ([ts, ts + 1)), neither of > > which are right. > > > > Is there a way to create this time range, or another way to achieve this > > RMW operation? > > > > An alternative is to do a value comparison with `.ifEquals(...)` but my > > values could be quite large (kilobytes), so I was thinking this range > > comparison would be better. > > > > --- > > Huon Wilson > > CSIRO | Data61 > > https://www.data61.csiro.au > > > > > > > > > > >