Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-17 Thread Paolo Romano
On 9/16/11 12:58 PM, Manik Surtani wrote: On 15 Sep 2011, at 15:41, Paolo Romano wrote: Do you want to increase the value stored in the i-th entry of each data item updated by a committing transaction independently (i.e. data_item.VC[i]=data_item.VC[i]+1 instead of

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-16 Thread Galder Zamarreño
On Sep 14, 2011, at 4:03 PM, Manik Surtani wrote: So I've been hacking on versioned entries for a bit now, and want to run the designs by everyone. Adding an EntryVersion to each entry is easy, making this optional and null by default easy too, and a SimpleVersion a wrapper around a long

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-16 Thread Galder Zamarreño
On Sep 16, 2011, at 1:58 PM, Manik Surtani wrote: On 16 Sep 2011, at 12:11, Galder Zamarreño wrote: On Sep 14, 2011, at 4:03 PM, Manik Surtani wrote: So I've been hacking on versioned entries for a bit now, and want to run the designs by everyone. Adding an EntryVersion to each entry

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-15 Thread Dan Berindei
On Wed, Sep 14, 2011 at 7:48 PM, Sanne Grinovero sa...@infinispan.org wrote: Wouldn't the node performing the operation always do an RPC anyway iff the intended operation is to replace a specific value? I was thinking along the same lines, if there is no value in the InvocationContext (L0

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-15 Thread Tristan Tarrant
On 09/14/2011 04:03 PM, Manik Surtani wrote: So I've been hacking on versioned entries for a bit now, and want to run the designs by everyone. Adding an EntryVersion to each entry is easy, making this optional and null by default easy too, and a SimpleVersion a wrapper around a long and a

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-15 Thread Manik Surtani
On 14 Sep 2011, at 17:48, Sanne Grinovero wrote: Wouldn't the node performing the operation always do an RPC anyway iff the intended operation is to replace a specific value? Examples: - If I do a put() operation which doesn't skip the return value, the RPC has to be perfomed, we get

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-15 Thread Manik Surtani
On 15 Sep 2011, at 13:32, Tristan Tarrant wrote: On 09/14/2011 04:03 PM, Manik Surtani wrote: So I've been hacking on versioned entries for a bit now, and want to run the designs by everyone. Adding an EntryVersion to each entry is easy, making this optional and null by default easy too,

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-15 Thread Paolo Romano
Interesting stuff Manik, thanks for the updates. Actually, on our side we've also been working on adding versioning to ISPN during the summer. However, in our case we are aiming at achieving serializability avoiding global synchronization points (so we're actually keeping chains of versions

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-15 Thread Paolo Romano
On 9/15/11 2:51 PM, Manik Surtani wrote: On 15 Sep 2011, at 14:44, Paolo Romano wrote: Concerning costs. For option 2), the prepare message should piggyback the version identifiers of *each* data item that needs to be write-skew checked...which may lead to big messages, if you needed to test

[infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-14 Thread Manik Surtani
So I've been hacking on versioned entries for a bit now, and want to run the designs by everyone. Adding an EntryVersion to each entry is easy, making this optional and null by default easy too, and a SimpleVersion a wrapper around a long and a PartitionTolerantVersion being a vector clock

Re: [infinispan-dev] Versioned entries - overview of design, looking for comments

2011-09-14 Thread Sanne Grinovero
Wouldn't the node performing the operation always do an RPC anyway iff the intended operation is to replace a specific value? Examples: - If I do a put() operation which doesn't skip the return value, the RPC has to be perfomed, we get the current version value which is what we will check to be