[infinispan-dev] performance issue when using return types
Mircea Markus
mircea.markus at jboss.com
Mon Nov 21 17:33:05 EST 2011
On 21 Nov 2011, at 22:26, Manik Surtani wrote:
>
> On 21 Nov 2011, at 18:01, Mircea Markus wrote:
>
>> Hi,
>>
>> The DistributionInterceptor can be simplified significantly now that we are supporting transactional or non transactional caches.
>> Looking at it I've found an significant performance issues though: seems like for each put we do, if the unreliableReturnValues is disabled (that's the default, i.e. disabled) then we do a remote get and then a put, i.e. 2 RPCs to the same remote node. That seems to be highly inefficient so just wondering is there any reason not to piggyback the return value on the put itself?
>
> Agreed, but this will involve separate PutKeyValueCommands for replicated vs. distributed mode. Unless you pass in a flag to the command.
it's the return value what matters, we shouldn't need different commands for that.
But that's a impl detail and this is a seriously important optimisation, as it potentially adds 1 RPC for each write in the default config.
More information about the infinispan-dev
mailing list