<div dir="ltr">Hello everyone,<br><br>I have a PowerDNS Authoritative server, where some domains starting with a specific pattern end up in a "pipe" backend (instead of going to the main, MySQL-powered backend). The pipe command returns a different result based on some conditions, so I found myself forced to disable the cache globally.<br><br>Given that I want to put dnsdist in front of PowerDNS Authoritative (for various reasons) I was thinking to create two pools pointing to the same backend server, associate a packet cache only to one of them, then send the "pattern" queries to the non-cached backend. So I made this:<br><br>    newServer({address='127.0.0.1:5301'})<br>    newServer({address='<a href="http://127.0.0.1:5301">127.0.0.1:5301</a>', pool="noCache"})<br>    <br>    pc = newPacketCache(20000000, {maxTTL=86400, minTTL=0, temporaryFailureTTL=60, staleTTL=3600, dontAge=false})<br>    getPool(""):setCache(pc)<br>    <br>    special_domains = newSuffixMatchNode()<br>    special_domains:add(newDNSName("<a href="http://pattern-a.mydomain.com">pattern-a.mydomain.com</a>."))<br>    special_domains:add(newDNSName("<a href="http://pattern-b.mydomain.com">pattern-b.mydomain.com</a>."))<br>    <br>    addAction(SuffixMatchNodeRule(special_domains), PoolAction("noCache"))<br>    <br>which works perfectly, but there's a catch. We have plenty of records outside of those patterns that are CNAMEs to those patterns, i.e. "<a href="http://www.mydomain.com">www.mydomain.com</a>" is a CNAME for "<a href="http://www.pattern-a.mydomain.com">www.pattern-a.mydomain.com</a>". Therefore, queries like these end up being cached, which is not what I want to achieve.<br><br>Is there anything I can do to avoid that? <br><br>Thanks,<br>Carlo</div>