<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 25 Feb 2009, at 18:16, Jason T. Greene wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Manik Surtani wrote:<br><blockquote type="cite">Hi guys<br></blockquote><blockquote type="cite">I might have found a potential flaw in the NBST impl that we have.<br></blockquote><blockquote type="cite">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.<br></blockquote><blockquote type="cite">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.<br></blockquote><br>That is how it is already implemented:<br><br>transient state<br>persistent state<br>tx log<br> - log write<br> - flush<br> - log write<br> - end flush<br></div></blockquote><div><br></div><div>Whoops, yes you're right - I need to go drink some beer clear my head up. :-)</div></div><div><br></div><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div>Manik Surtani</div><div>Lead, JBoss Cache</div><div><a href="http://www.jbosscache.org">http://www.jbosscache.org</a><br><a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"> </div><br></body></html>