[infinispan-dev] PutForExternalRead performance in 5.1
Slorg1
slorg1 at gmail.com
Thu Dec 15 17:33:52 EST 2011
Hi,
See below,
On Thu, Dec 15, 2011 at 17:15, Slorg1 <slorg1 at gmail.com> wrote:
> Hi,
>
> See question below,
>
>
>
> I am thinking of something evil and wonder what you think about that.
> I am supposing the fail silently code + solution #3.
>
> tx1 | tx2
> | Read data1
> Read data1 | PFER data1 -> fails silently
> | Commit data1-changed
> PFER data1 (works?) |
>
> (sorry if this looks bad I did not major in ASCII-art).
>
> Now what happens? Do all other tx see the old data1 or the new
> data1-changed? or is this an impossible case ?
> I am having a hard time seeing what would happen in the lap of time
> between the commit of tx2 and the PFER of tx1 (outside of a tx). Like
> which one would win.
I just thought some more about it and while it may not cause a failure
on a local cache, I think that if tx1 happens on 1 cache and tx2
happens on a remote cache set up with invalidation, it is much more
likely for all transactions to never know that tx2 ever changed the
data.
e.g.
tx1 | tx2
| Read data1
Read data1 | PFER data1 -> fails silently
| Commit data1-changed
INVALIDATE data1 |
PFER data1 (works?) |
The read and the PFER are not atomic as far as I can tell, unless I
missed something and I apologize in advance if I did.
Regards,
Slorg1
--
Please consider the environment - do you really need to print this email ?
More information about the infinispan-dev
mailing list