The current change detection only marks the current request, but not the main request if the current request is subrequest: https://github.com/api7/apisix-nginx-module/blob/1af1ee48b06d1acc58fd2ca15fd27541953f57f9/src/ngx_http_apisix_module.c#L565 However, the headers_in field is shared between subrequest and the main request.