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>