[jboss-cluster-dev] JGroups configurations in JBoss AS 5

Manik Surtani manik at jboss.org
Tue Feb 24 15:00:45 EST 2009


On 24 Feb 2009, at 18:37, Jason T. Greene wrote:

> Manik Surtani wrote:
>> On 24 Feb 2009, at 16:41, Bela Ban wrote:
>>>
>>>
>>> Manik Surtani wrote:
>>>> Yes, but it relies on an open stream between the 2 instances.   
>>>> State is written without a flush, and then a marker is placed on  
>>>> the stream asking the state requester to start a partial flush so  
>>>> that the final tx log can be written to the stream as well.
>>>
>>> IIRC the marker is on the TX log, so you can use either streaming  
>>> or regular state transfer. Whether or not we use streaming state  
>>> transfer should be hidden from the caller of Channel.getState()
>> Nope.  Regular state tfr will wait till the entire state is ready  
>> and then transfer the byte buffer.  This is no good for NBST since,  
>> with NBST, here is what happens:
>> 1.  Joiner (Cache B) joins, requests state from Cache A
>> 2.  A generates and starts streaming state to B
>> 3.  When state is transferred, A starts streaming tx log
>> 4.  When remaining tx log is small, A puts a marker on the stream
>> 5.  B sees this marker and requests a flush
>> 6.  Once flush is detected by A, write remaining tx log and *this*  
>> ends the state transfer process.  7.  B releases the flush
>> So when using regular state tfr, B will not see the marker placed  
>> by A in step 4, since the stream is flushed to a byte buffer and  
>> transferred in 6.  A will never get to step 6 until B starts a  
>> flush in step 5.  And for this to happen, state needs to stream  
>> across constantly and not wait for the state generation process to  
>> complete.
>
> Writing all of your state to a big byte array is a bad idea anyway ;)

Yes.  I can see how this can easily lead to OOMs.

Cheers
Manik

--
Manik Surtani
Lead, JBoss Cache
http://www.jbosscache.org
manik at jboss.org




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-cluster-dev/attachments/20090224/b2606185/attachment.html 


More information about the jboss-cluster-dev mailing list