<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New">Dave,<br>
        <br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New">I applaud you for this effort and your
        implementation and wiki are indeed admirable as you have
        followed the goals outlined in this JIRA. However, now that I
        have had an opportunity to look at the final solution I have one
        concern. </font><font face="Courier New">We went through a
        great lengths to design a container that has a low lock
        contention [1] while maintaining high precision of a
        sophisticated eviction algorithm. Goals outlined in this JIRA
        have lead you in a direction </font><font face="Courier New">to
        redesign the original proposal. I was wondering if it is
        possible to use your MemoryMonitor to make a decision whether or
        not to grow BCHM rather than to check if eviction should be done
        upon each put invocation? Currently we preset the size of BCHM
        and we never grow it (i.e. Segment#rehash is never invoked).
        Maybe this is a place where </font><font face="Courier New">MemoryMonitor
        comes as a natural fit. We can keep the current design as
        outlined in [1] while reaping the benefits of a memory bound
        resizeable container. <br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New"><br>
        WDYT?<br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New"><br>
        Regards,<br>
        Vladimir<br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New"><br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New"><br>
        [1]
<a class="moz-txt-link-freetext" href="http://infinispan.blogspot.com/2010/03/infinispan-eviction-batching-updates.html">http://infinispan.blogspot.com/2010/03/infinispan-eviction-batching-updates.html</a><br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New"><br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New">Dave said:<br>
      </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New">It took me some time to figure out how to use
        Git and add some more tests. I have pushed my changes to a topic
        branch located at <a
          href="https://github.com/dlmarion/infinispan/tree/ISPN-863-master">https://github.com/dlmarion/infinispan/tree/ISPN-863-master</a></font><font
        face="Courier New">. </font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New">Please let me know if you have any questions
        or concerns. I have put up some documentation at <a
href="https://github.com/dlmarion/infinispan/wiki/ISPN-863-Implementation">https://github.com/dlmarion/infinispan/wiki/ISPN-863-Implementation</a></font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New">&nbsp;</font></p>
    <p style="margin: 0in 0in 0pt;" class="MsoPlainText"><font
        face="Courier New">&nbsp;</font></p>
    <font face="Courier New">-- Dave Marion</font>
  </body>
</html>