[infinispan-dev] Hotrod client intelligence

Galder Zamarreño galder at redhat.com
Tue Jul 20 09:13:43 EDT 2010


On Jul 20, 2010, at 1:37 PM, Manik Surtani wrote:

> 
> On 20 Jul 2010, at 12:19, Mircea Markus wrote:
> 
>>> 
>>> What if the field was missing?
>> I don't know how can we read the optional field form the socket: we read it byte by byte, so if a byte is missing we block on read. Something like InputStream.available() would be useful, but even that one returns "an *estimate* of the number of bytes that can be read" - so it's not "good enough". 
> 
> Ah yes, what I meant was the field is unset.  E.g., contains a 0 or a -1 as a tx id which assumes either no tx in progress or a client that doesn't support txs.

As I said in another email. Use tx_id_length to signal this. 

If 0, not transactional
If !=0, transactional and tx id follows

Btw, IMO [tx_id length] [tx_id] should be part of the header area.

And finally, I don't see anything wrong with having a version 2 of the Hot Rod protocol for 5.x where we can add these modifications.

> 
> So I presume this was to optimise away the extra, unset field?  How big is this field anyway?
> 
> --
> Manik Surtani
> manik at jboss.org
> Lead, Infinispan
> Lead, JBoss Cache
> http://www.infinispan.org
> http://www.jbosscache.org
> 
> 
> 
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache




More information about the infinispan-dev mailing list