<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mv="http://macVmlSchemaUri" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:MingLiU;
        panose-1:2 2 5 9 0 0 0 0 0 0;}
/* 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
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Calibri;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:595.0pt 842.0pt;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Nice!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Have you stress tested your patch with perfdhcp with, say, 1500 RPS?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">As I wrote in a previous thread [1] KEA is a mono threaded application and your hook might not perform as expected if your backend is slow (e.g. between 20ms and 50ms).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Even if your backend takes 8ms to respond you will probably still max out at 125 RPS (best conditions).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">This is because when a request is being served all the incoming udp packets will be buffered in kernel space, and processed sequentially… and if your hook is not fast enough your network
 recvq will max out until it hits the kernel buffer limits, after which you will start dropping packets.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">You might need to alternatives solutions to this. For example the solution we use in Facebook (in our hook) is to drop the first DISCOVERY/SOLICIT request, spawn a background fetch to our
 backend, which populate internal data structure in memory, when the client retries a second or so later the info will be in memory and therefore it can be served fast. We basically take advantage of the fact that clients usually have retry/exponential backoff
 logic.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">If you run into performance issues (like we did) you might find my proposal viable (until and if KEA people will consider redesign the core to be async or multithread).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">[1] https://lists.isc.org/pipermail/kea-dev/2016-March/000628.html<o:p></o:p></span></p>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Calibri;color:black">-- <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Calibri;color:black">Angelo Failla<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Calibri;color:black">Cluster Infrastructure - Dublin<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Calibri;color:black">Pallotron@fb.com</span><span style="font-size:11.0pt;font-family:Calibri"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-family:Calibri;color:black">From: </span>
</b><span style="font-family:Calibri;color:black"><kea-dev-bounces@lists.isc.org> on behalf of Razvan Becheriu <razvan.becheriu@qualitance.com><br>
<b>Date: </b>Thursday, May 19, 2016 at 9:58 AM<br>
<b>To: </b>"kea-dev@lists.isc.org" <kea-dev@lists.isc.org><br>
<b>Subject: </b>[kea-dev] kea apache cassandra/datastax cassandra<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">Hi, <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">My name is Razvan Becheriu.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I work for Qualitance in collaboration with Deutsche Telekom.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I have been working on improving the KEA server by adding support for apache cassandra/datastax cassandra.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">From my understanding, the new source files will be commited with "Apache License".<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I am ready to commit the changes to a separate branch (for code review). The source files have been updated to latest (main branch) version.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">One thing to mention is that not all unit tests have been written for the cassandra backend.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Please let me know how to proceed.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Razvan<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<div>
<table class="MsoNormalTable" border="0" cellpadding="0">
<tbody>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><span style="color:#333333"><img width="32" height="32" id="_x0000_i1025" src="https://www.qualitance.com/Q48x48.gif"><o:p></o:p></span></p>
</td>
<td style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 3.75pt;font-stretch:normal">
<p class="MsoNormal"><strong><span style="font-size:8.5pt;font-family:Verdana;color:#333333">Razvan Becheriu</span></strong><span style="font-size:8.5pt;font-family:Verdana;color:#333333">  </span><span style="font-size:8.5pt;font-family:Verdana;color:#BEBEBE">|</span><span style="font-size:8.5pt;font-family:Verdana;color:#333333">  senior
 software engineer  </span><span style="font-size:8.5pt;font-family:Verdana;color:#BEBEBE">|</span><span style="font-size:8.5pt;font-family:Verdana;color:#333333">  QUALITANCEâ„¢</span><span style="font-size:8.5pt;font-family:MingLiU;color:#333333"><br>
</span><strong><span style="font-size:8.5pt;font-family:Verdana;color:#333333">RO:</span></strong><span style="font-size:8.5pt;font-family:Verdana;color:#333333"> +00 (000) 000 000  </span><span style="font-size:8.5pt;font-family:Verdana;color:#BEBEBE">|</span><span style="font-size:8.5pt;font-family:Verdana;color:#333333">  <strong><span style="font-family:Verdana">office:</span></strong> +40
 (372) 944 741<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.google.ro_maps_place_QUALITANCE_-4044.433653-2C26.079464-2C17z_data-3D-214m6-211m3-213m2-211s0x40b1ff173c5bc0b9-3A0x7226343f810c7ede-212sQUALITANCE-213m1-211s0x40b1ff173c5bc0b9-3A0x7226343f810c7ede-3Fhl-3Dro&d=CwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=XQHjLQh2eTTW8a0c8kaZ9Q&m=4FJSvXdaJAhK6dHo-ycbobR-0O43b8wsYhIS_w3ZsvA&s=Gg2OEEGB_Larq_eTb8TzCz6ZseeMou69mVoauRLWN5M&e=" target="_blank"><span style="color:#333333;text-decoration:none">Opera
 Center bldg. 2, fl. 7-8, 2 Dr. Nicolae D. Staicovici, Bucharest 050556</span></a><br>
<a href="mailto:razvan.becheriu@qualitance.com" target="_blank"><span style="color:#333333;text-decoration:none">razvan.becheriu@qualitance.com</span></a>  </span><span style="font-size:8.5pt;font-family:Verdana;color:#BEBEBE">|</span><span style="font-size:8.5pt;font-family:Verdana;color:#333333">  <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.qualitance.com_&d=CwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=XQHjLQh2eTTW8a0c8kaZ9Q&m=4FJSvXdaJAhK6dHo-ycbobR-0O43b8wsYhIS_w3ZsvA&s=NgDyDRXU1fCXOCOXNGGfK4tT9pJHog4M4lWDjpw_GPk&e=" target="_blank"><span style="color:#333333;text-decoration:none">www.qualitance.com</span></a><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="display:none"><o:p> </o:p></span></p>
<table class="MsoNormalTable" border="0" cellpadding="0">
<tbody>
<tr>
<td style="padding:0in 0in 0in 0in;font-stretch:normal">
<p class="MsoNormal"><span style="font-size:7.0pt;font-family:Verdana;color:#999999">--<br>
The information contained in this email is confidential. It is intended only for the stated addressee and access to it by any other person is unauthorised. If you are not an addressee, you must not disclose, copy, circulate or in another way use or reply to
 the information contained in this email. Such unauthorised use may be unlawful. If you have received this email in error, please notify the sender immediately and delete all copies from your computer and network.<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>