@ori tells me that we already have a rule in Varnish to return HTTP 204 (no response) for any URL beginning with "/beacon/" (http://git.wikimedia.org/blob/operations%2Fpuppet.git/e8c64e206ac573cd2f8f078029258bd60179189d/modules%2Fvarnish%2Ftemplates%2Fvcl%2Fwikimedia.vcl.erb#L402)
Let's hit an URL under that path rather than Special:RecordImpression. This is a cheap code fix, and is a huge deal for app servers and varnish memory.
- Choose URL pattern. //${wgServer}/beacon/impression?params...
- Create a new log filter for that pattern.
- Verify that CentralNotice does not freak out if S:RI returns a 204.
- Make sure impression log processor will be able to find new files, named "beaconImpressions*"
- Point CentralNotice bannerController at this new endpoint, using the $wgCentralBannerRecorder config.
- When finished, verify that impressions are still logged through to the database.