Re: Apache 2.4 adoption

2013-02-06 Thread pfee
How many Linux distros ship httpd 2.4?

Fedora 18 is their first release to include httpd 2.4.  Since Fedora is often 
an early adopter of new releases, I expect 2.4 hasn't trickled down to other 
distributions yet, e.g. RHEL, CentOS.

It looks like 2.4 has only got as for as Debian experimental:
http://packages.debian.org/search?keywords=apache

Ubuntu haven't adopted it yet: http://packages.ubuntu.com/search?keywords=apache

Of course the next question could be why have distros not adopted 2.4, is it 
just a matter of time or are there other factors?





 From: Kevin A. McGrail kmcgr...@pccc.com
To: dev@httpd.apache.org; William A. Rowe Jr. wr...@rowe-clan.net 
Sent: Wednesday, 6 February 2013, 0:47
Subject: Re: Apache 2.4 adoption
 

I won't be able to make the session but would add that because of a lack of 
mod perl support with 2.4, we have not fully embraced it. 

Might be others in a similar boat! 
Regards,
KAM


William A. Rowe Jr. wr...@rowe-clan.net wrote:
I've found the following data summary very useful in terms of
drill-down capability;

http://w3techs.com/technologies/details/ws-apache/2.2/all
http://w3techs.com/technologies/details/ws-apache/2.4/all

while their breakdown/segmentation tabulations provide some
interesting data such as;

http://w3techs.com/technologies/breakdown/ws-apache/operating_system

The very limited 'free' tabulation remaining from SecuritySpace 
seems to back up this assessment;

http://www.securityspace.com/s_survey/data/201301/servers.html

There seems to be a worthwhile discussion about the challenges
presented by 2.4 which have adversely affected its adoption, 
during the ApacheCon Hackathon Mon 2/25 in Portland.  I'd like
to set aside time about 11am for that discussion for anyone who 
wants to participate.

Once we take away some good information from that roundtable,
it would be worthwhile to hold a BoF later in the week especially
for end users who are looking at or challenged by adopting 2.4.




Re: Inserting protocol filters into chains with no resource filters

2011-01-12 Thread pfee
- Original Message 

 From: Stefan Fritsch s...@sfritsch.de
 To: dev@httpd.apache.org
 Cc: p...@talk21.com p...@talk21.com
 Sent: Tuesday, 11 January, 2011 22:33:33
 Subject: Re: Inserting protocol filters into chains with no resource filters
 
 On Tuesday 11 January 2011, p...@talk21.com wrote:
  I've  encountered an issue with add_any_filter_handle().  Let me
  explain  the background.
  
  My understanding of filter chains is that they  form a linked list
  with three entry points.  The entry points  correspond to resource
  filters, protocol filters
  
  and  connection filters.  Depending on the filters present, these
  entry  points can overlap, but the order must be: resource filters =
   protocol filters = connection filters.
  
  I have a module that  sets up a filter chain from scratch, with
  perhaps unusual  characteristics.  I've noticed that if the chain
  has no resource  filters and you
  
  try to add a protocol filter, then the protocol  filter entry point
  moves to accommodate new filter, but the resource  filter entry
  point remains unchanged.
  
  For example,  before add_any_filter_handle() the chain looks like
  this: filter1  (protocol)  - resource filters - protocol filters
  filter2  (connection) - connection filters
  
  After adding another  protocol filter:
  new filter(protocol) - protocol filters
   filter1 (protocol) - resource filters
  filter2 (connection) -  connection filters
  
  I'd expect that traversing the chain  starting at the resource
  filters entry point would pass by every filter,  hence the expected
  result would be:
  
  new  filter(protocol) - resource filters - protocol filters
  filter1  (protocol)
  filter2 (connection) - connection filters
  
  I've extracted the add_any_filter_handle code from httpd trunk  and
  created a unit test.
  http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_filter.c
   ?revision=965325view=co
  
  
  With my patch enabled,  add_any_filter_handle() functions as I'd
  expect.  When the patch is  disabled, via conditional compilation,
  the test2() function  fails.
  
  I'd like to know if there's a valid reason for the  current
  behaviour, or if the fix I've posted is appropriate.
 
 I  think what you describe is a bug.
 
 There is at least one issue with your  fix: r_filters and p_filters can 
 be NULL. If I change the if clause in your  patch to
 
 if (r_filters  p_filters 
 *r_filters ==  *p_filters  outf == p_filters)
 
 it passes the test suite.
 
 Apart  from that, I haven't tried to understand add_any_filter_handle() 
 well enough  to tell if your fix is correct.


I agree, adding checks for non-NULL improves the fix.

add_any_filter_handle() is complex, the annotated source shows who has worked 
on 
this function.  Maybe its authors could review this change.
http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_filter.c?annotate=965325





Re: mod_cache: disk layout for vary support

2010-10-10 Thread pfee
- Original Message 

From: William A. Rowe Jr. wr...@rowe-clan.net
To: dev@httpd.apache.org
Sent: Sunday, 10 October, 2010 18:09:23
Subject: Re: mod_cache: disk layout for vary support

 On 10/10/2010 10:56 AM, Graham Leggett wrote:
  
  One of the things that needs to be fixed with mod_cache is the support for 
caching varying
  responses. In the current cache, we store it as below, as an additional 
directory tree
  below the original URL's directory tree. This wastes lots of inodes, and is 
very expensive
  to write.
 
  What I have in mind is to move the varied content into the main tree, [...]
  We reuse the same directory structure in the process, and keep the original 
QSJf2JA.header
  file indicating that the URL is a varied URL.

 +1

Currently the CacheDirLevels and CacheDirLength are also used to calculate 
the path for the varied entities.  What about having separate configuration 
for the vary sub-directory tree?

CacheDirLevels/CacheDirLength will be tuned for storing a huge number of 
URLs.  But how many variants do we expect per URL? A much smaller number.

I'd expect you can safely store all variants in a single subdirectory, i.e. 
VaryCacheDirLevels=0.  That way when it comes to retrieving content, once 
you've parsed the vary file, you've less inodes to deal with before getting 
to the final content.


The directory tree would be:

/tmp/cacheroot/
/tmp/cacheroot//1uq
/tmp/cacheroot//1uq/w...@d
/tmp/cacheroot//1uq/w...@d/Fok
/tmp/cacheroot//1uq/w...@d/Fok/HRU
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/
thJbK5im1RSzfCKYHquMmA.data
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/
thJbK5im1RSzfCKYHquMmA.header

Is that better than starting over from the top level to find the varied 
content?

Thanks,
Paul