On 27 Apr 2016, at 2:49 PM, Stefan Eissing <stefan.eiss...@greenbytes.de> wrote:

> I had a look into 2.4.x this morning and while there are changes in filter 
> brigade setaside code, the basic "cleanup" of empty and meta buckets before 
> the setaside is there already.
> 
> I think this has not bween noticed before as 
> 1. EOR is always followed by a FLUSH
> 2. most bucket types survive the destruction of r->pool quite well, even pool 
> buckets silently morph
> 3. even if transient buckets would reference pool memory, settings those 
> aside after destruction of r->pool, but before filter return would access 
> freed, but not re-used memory from the connection allocator - I think.
> 
> So far, I have seen no reasons why meta buckets should not just be setaside 
> in core filter. 0 length data buckets should also stay, IMHO, just ignored in 
> the actual write.
> 
> I can only guess the original intent: 0-length data buckets sometimes happen 
> during some brigade read modes and if there are several FLUSH buckets in the 
> brigade, it makes sense to get rid of them also. But I think the space 
> savings are minimal.
> 
> But there could be reasons for the current behavior, I overlooked. So, I am 
> asking around.

I don’t see any obvious reason for the current behaviour either - is it 
possible to go back in history and confirm the log entry when it was introduced?

Regards,
Graham
—

Reply via email to