httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Plüm, Rüdiger, VF-Group" <ruediger.pl...@vodafone.com>
Subject RE: non-splittable buckets (was: Regression with range fix)
Date Thu, 01 Sep 2011 07:18:32 GMT
 

> -----Original Message-----
> From: Stefan Fritsch [mailto:sf@sfritsch.de] 
> Sent: Mittwoch, 31. August 2011 23:09
> To: dev@httpd.apache.org
> Subject: non-splittable buckets (was: Regression with range fix)
> 
> On Wednesday 31 August 2011, Jim Jagielski wrote:
> > >> Looking at the patch in 2.2.x; there is a lot of effort expended
> > >> deadling with apr_bucket_split() returning ENOTIMPL - that looks
> > >> unnecessary; the filter will only handle brigades containing
> > >> buckets with known length, and all such buckets "must" be
> > >> _split-able.
> > > 
> > > So you think we can rip out the whole if (rv == APR_ENOTIMPL)
> > > blocks?
> > 
> > Belt and suspenders?
> 
> If we rip it out, we should replace it with ap_assert()s. And maybe 
> only do it in 2.3?

I guess asserts are fine. IMHO we should do it in 2.3 and 2.2 if we do it.
Nothing is different between 2.2 and 2.3 in this respect and we keep the
diff between 2.2 and 2.3 small.
>From what I can see Joe is correct with his assumption that this case
cannot happen there.

> 
> A different idea I had: If apr_bucket_split() returns ENOTIMPL, we 
> could call apr_brigade_partition on the copied brigade. 
> apr_brigade_partition() would then do all the complex handling of 
> apr_bucket_read(), etc. It is only slightly less efficient because it 
> has to traverse the brigade again. But the memory usage would still 
> stay low because the original brigade would remain untouched. And we 
> would get rid of much of the complexity in copy_brigade_range().
> 

Would be an approach, but I would like to see Joe's feedback on this
as I don't see value in reconstructing this part if ripping out is fine
as well.

Regards

Rüdiger

Mime
View raw message