<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Though it doesn&#8217;t fully exist yet, I have been
pondering writing a locking system built around memcached, and specifically the
add method.&nbsp; I wrote such a system for my own use the other night, would
like to generalize it a bit and would like to open source it.&nbsp; I would
also like to pattern it around something open sourced from work to allow for
locking over nfs, namely File::NFSLock<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><a
href="http://search.cpan.org/src/BBB/File-NFSLock-1.20/README">http://search.cpan.org/src/BBB/File-NFSLock-1.20/README</a><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Course, a locking system using memcached wouldn&#8217;t
really care about nfs, which is kind of the beauty.&nbsp; I would plan on mimicking
a few File::NFSLock functions, like returning a lock object that unlocks when
it leaves scope, blocking and non-blocking locks, blocking timeouts and stale
lock timeouts.&nbsp; Instead of locking on a file, one would lock on an
arbitrary word.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>In my tests going between two athlon 3200+s, I got around
10,000 add/delete cycles per second.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I am not saying it would be a hard module to write, especially
since add does most of the work, but I think it could be quite useful.&nbsp; My
module from the other night, which by design, does some weird thing where only
one process per second gets the lock, has already solved a few problems for me.&nbsp;
It might also be that such a thing exists, but in my cpan searchings, I couldn&#8217;t
find anything.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>As a final note, whoever was responsible 1.1.12 and for
fixing the slow delete problem, many thanks.&nbsp; Just before I filed a bug
report, or at least emailed the list, I checked the changes and found what I
needed.&nbsp; Also wondering how to get version 1.1.12 into debian distributions.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Feedback welcome.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Earl<o:p></o:p></span></font></p>

</div>

</body>

</html>