Re: Assignment Manager and clock advance.

2018-01-03 Thread Sergey Soldatov
Thank you all for the comments, I got the point. Raised that issue because in some of our tests we are using manual advance for the clock and that was working just fine in 1.x releases (so create table operation was atomic from this perspective). And that stops working with AMv2. Of course, we can

Re: Assignment Manager and clock advance.

2018-01-03 Thread stack
Stalling environmentedge as is done here does not work. In various areas in internals we expect the clock to advance. This is not particular to AMv2. As per Appy, we need HLC generally (it is almost there but needs some concentrated effort to carry it the last few yards). For AMv2, we have a

Re: Assignment Manager and clock advance.

2018-01-02 Thread Apekshit Sharma
Yeah, you're right. Unreliable clocks open a whole set of different issues which i didn't want to go into for the question "the system capable to execute all that transition stuff in less than 1 ms?". I thought that question was genuinely asking how probable was the fabricated scenario i.e. if

Re: Assignment Manager and clock advance.

2018-01-02 Thread Nick Dimiduk
I don't think these assumptions are reliable. I've seen cases where subsequent calls to currentTimeMillis() are non-incrementing on specific Linux distributions. Taken in aggregate, the system clock makes progress, but those aggregations are on the multi-second scale. On Tue, Jan 2, 2018 at 4:37

Re: Assignment Manager and clock advance.

2018-01-02 Thread Apekshit Sharma
Hi Sergey, Interesting test and find. Makes total sense too. However, in real world case, any put in meta table itself will take more than a ms, and then we have lot of Procedure framework and other logic in between meta accesses which would make this scenarios impossible. Specifically, there a

Assignment Manager and clock advance.

2018-01-02 Thread Sergey Soldatov
Hi, Not sure whether we may consider that as a bug, but I found an interesting dependency of AM2 on clock advancing. A simple operation such as create table is unable to perform with the same current_time value: public void testCreateTable() throws IOException {