phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <>
Subject Re: UPSERT SELECT Isolation Level
Date Thu, 18 Oct 2018 18:09:53 GMT
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
> <>

View raw message