[master] 5dde9ff33 Clear seen_methods bitmask inbetween requests

Nils Goroll nils.goroll at uplex.de
Tue Dec 14 07:46:06 UTC 2021


commit 5dde9ff334216ca53b1055b5c676955909242876
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Tue Dec 14 08:39:52 2021 +0100

    Clear seen_methods bitmask inbetween requests
    
    Confusing panic output was generated when a worker ran multiple
    requests before returning to the pool.
    
    Noticed when debugging #3755 :
    
      VCL::methods = {RECV, PASS, HASH, MISS, HIT, DELIVER},
    
    Same panic with this fix:
    
      VCL::methods = {RECV, HASH},

diff --git a/bin/varnishd/cache/cache_req.c b/bin/varnishd/cache/cache_req.c
index cf456c98f..27cfe3034 100644
--- a/bin/varnishd/cache/cache_req.c
+++ b/bin/varnishd/cache/cache_req.c
@@ -292,6 +292,8 @@ Req_Cleanup(struct sess *sp, struct worker *wrk, struct req *req)
 
 	if (WS_Overflowed(req->ws))
 		wrk->stats->ws_client_overflow++;
+
+	wrk->seen_methods = 0;
 }
 
 /*----------------------------------------------------------------------


More information about the varnish-commit mailing list