title: Why varnish ban requests not removing/invalidating cached data?
body: <p>I am trying to debug inconsistent behavior with varnish.<br>
  I have an application in which when a piece of content is updated a ban request is issued to varnish in order to remove it from cache and invalidate that cache.  The problem is that this works fine just a few times but not in the majority of times although I can see the bans in the varnish log. Just to rephrase, when I save a piece of content, a ban is issued to varnish of the form
  <code>1374003254.031996    75    req.http.host ~ www.example.com &amp;&amp; req.url ~ ^(.*)(?&lt;!\d{1})539250(?!\d{1})</code> where 539250 is the unique content id present in the url.    </p>
  
  <p>I logged into the varnish host and check the varnish process. Executing ps -ef |grep varn gives<br>
  <code>root      8889     1  0 15:19 ?        00:00:00 /usr/sbin/varnishd -P /var/run/varnish.pid -a :80 -T :8100 -f /etc/varnish/qa.vcl -u varnish -g varnish -h critbit -p http_max_hdr 256 -p thread_pool_min 200 -p thread_pool_max 4000 -p thread_pools 2 -p thread_pool_stack 262144 -p thread_pool_add_delay 2 -p session_linger 100 -p sess_timeout 60 -p listen_depth 4096 -p lru_interval 20 -p ban_lurker_sleep 0.2 -s malloc,1G</code></p>
  
  <p><code>varnish   8897  8889  0 15:19 ?        00:00:00 /usr/sbin/varnishd -P /var/run/varnish.pid -a :80 -T :8100 -f /etc/varnish/qa.vcl -u varnish -g varnish -h critbit -p http_max_hdr 256 -p thread_pool_min 200 -p thread_pool_max 4000 -p thread_pools 2 -p thread_pool_stack 262144 -p thread_pool_add_delay 2 -p session_linger 100 -p sess_timeout 60 -p listen_depth 4096 -p lru_interval 20 -p ban_lurker_sleep 0.2 -s malloc,1G</code></p>
  
  <p>Is it Normal to have 2 processes?</p>
  
  <p>then I did an ban.list in the varnish cli:   </p>
  
  <p><code>1374003254.031996    75    req.http.host ~ example.com &amp;&amp; req.url ~ ^(.*)(?&lt;!\d{1})539250(?!\d{1})</code><br>
  <code>1374003202.365076   224G   req.http.host ~ example.com &amp;&amp; req.url ~ ^(.*)(?&lt;!\d{1})539250(?!\d{1})</code><br>
  <code>1374003116.772315    83G   req.http.host ~ example.com &amp;&amp; req.url ~ ^(.*)(?&lt;!\d{1})539250(?!\d{1})</code><br>
  <code>1374002967.450431   267G   req.http.host ~ example.com &amp;&amp; req.url ~ ^(.*)(?&lt;!\d{1})539250(?!\d{1})</code><br>
  <code>1374002756.701640   187G   req.http.host ~ example.com &amp;&amp; req.url ~ ^(.*)(?&lt;!\d{1})539250(?!\d{1})</code>  </p>
  
  <p>All I want to know if there is somthing wrong causing the ban not remove cached data.</p>