Hi Owen,

I'm not aware of any atomicity on an UPSERT-SELECT. I believe the semantics will be much more like what HBase provides than a higher-level RDBMS isolation level.

That is, if you update a cell's value after you start an upsert-select, it is non-deterministic if your upsert-select will see the new or old value (would depend on when the upsert-select scan in the RegionServer is actually reading the data you're updating).

On 10/18/18 6:21 AM, Owen Rees-Hayward wrote:
Hi,

We are on Phoenix 4.7, so pre-Atomic Upserts that were introduced in 4.9. I am trying to determine if there is a way to achieve similar functionality with UPSERT SELECTs.

However, having read the documentation I'm not clear on the isolation-level that is used when UPSERT SELECTs are executed on the serverside.

Can anyone confirm whether both the SELECT and UPSERT elements are performed atomically? And also that updates to an individual row are performed serially?

I'm guessing there is no atomicity otherwise the new Atomic Upserts wouldn't exist.

Thanks in advance, Owen

--
Owen Rees-Hayward
07912 876046
twitter.com/owen4d <http://twitter.com/owen4d>

Reply via email to