<div>thank you, Aki, I will use pdns-recursor to implement a feature in my company, so I have to be familiar with the source code to master it.</div>
                <div><div><br></div><div>-- </div><div>jacky</div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Friday, December 27, 2013 at 3:50 PM, Aki Tuomi wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div><div>once cache expires the records are removed and are looked for again. if you look</div><div>at SyncRes::getAddrs, you'll see the record selection process. </div><div><br></div><div>btw, are you just interested or is there some deeper issue here? </div><div><br></div><div>Aki</div><div><br></div><div><br></div><div>On Fri, Dec 27, 2013 at 03:29:27PM +0800, jacky wrote:</div><blockquote type="cite"><div><div>hi, Aki tnuomi,  </div><div>Thank you for  suggestion. I found pdns always get the fastest one from the front of result returned by function "SyncRes::shuffleInSpeedOrder”. If a slow one at the back has no opportunity to be choosed, how pdns know it become fast. I can not find the source code make pdns query the slow one.  </div><div><br></div><div>on the other hand, I found there is a houseKeeping thread which will erase the stale speed value of a dns server . If a slow dns at the back of t_sstorage->nsSpeeds map, it will be erased because of rarely to be queried, and only fast dns server will have its speed updated by this code "  t_sstorage->nsSpeeds[*tns].submit(*remoteIP, lwr.d_usec, &d_now);” at <a href="http://syncres.cc:1003">syncres.cc:1003</a>.</div><div>. And then, only dns servers which are mostly queried will stay in t_sstorage->nsSpeeds map. It make me puzzled.</div><div><br></div><div>--  </div><div>jacky</div><div><br></div><div><br></div><div>On Friday, December 27, 2013 at 3:08 PM, Aki Tuomi wrote:</div><div><br></div><blockquote type="cite"><div><div>On Thu, Dec 26, 2013 at 10:34:23PM +0800, jacky wrote:</div><blockquote type="cite"><div><div>hi, all,  </div><div>I think may be it is a question more suitable to dev maillist, so I submit it here. If I made a mistake , please let me know. Thanks.</div><div> </div><div>I'am reading the source code of pdns-recursor-3.5.3. There is question I can not understand.</div><div>When a authoritative dns server become slow because of overload, pdns-recursor will move it backwards in the  </div><div>t_sstorage->nsSpeeds map, and then a faster dns server will be used preferred. But when the dns server recoverd  </div><div>from overload and become fast again, what will pdns-recursor do about it ? Will pdns-recursor move it forward  </div><div>in speed map? I can't find relevant source code. Any suggestion?</div><div> </div><div>--  </div><div>jacky</div><div> </div></div></blockquote><div> </div><div> </div><div>Hi!</div><div> </div><div>It works by moving the fastest one on top.  </div><div> </div><blockquote type="cite"><div><div>_______________________________________________</div><div>Pdns-dev mailing list</div><div>Pdns-dev@mailman.powerdns.com (<a href="mailto:Pdns-dev@mailman.powerdns.com">mailto:Pdns-dev@mailman.powerdns.com</a>)</div><div><a href="http://mailman.powerdns.com/mailman/listinfo/pdns-dev">http://mailman.powerdns.com/mailman/listinfo/pdns-dev</a></div><div> </div></div></blockquote><div> </div><div> </div><div> </div></div></blockquote></div></blockquote></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>