On 25 Feb 2009, at 18:16, Jason T. Greene wrote:
Manik Surtani wrote:
> Hi guys
> I might have found a potential flaw in the NBST impl that we have.
> The way it works, transient state is written to the stream, and
> when this is done, the tx log is flushed. When the tx log is
> small, a FLUSH is requested and then the remaining tx log is written.
> But the flush isn't lifted here - the flush is only lifted once the
> state transfer process is complete, and in between these 2 events
> is the generation, streaming and storing of persistent state.
> Which is potentially much bigger than transient state, and could
> mean that the flush is in place for much longer than expected. Any
> thoughts here, Jason? Perhaps a solution would be to stream
> persistent state before the tx log is flushed? Could lead to wacky
> stream multiplexing on the receiver's end though.
That is how it is already implemented:
transient state
persistent state
tx log
- log write
- flush
- log write
- end flush
Whoops, yes you're right - I need to go drink some beer clear my head
up. :-)
--
Manik Surtani
Lead, JBoss Cache
http://www.jbosscache.org
manik(a)jboss.org