httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@ai.mit.edu (Robert S. Thau)
Subject Issues for a beta release...
Date Tue, 11 Apr 1995 18:15:25 GMT
Apache 0.5.1 seems to be a reasonably stable piece of software, and if
we were working in isolation, it would be a fairly strong candidate
for beta 1.  However, we aren't working in isolation, so a few issues
come up, if we're actually going to do that in the next few days,
mostly regarding how we relate to NCSA 1.4 (which may also be released
in pretty much the same time frame).

1) The whole forking/non-forking thing.  As a side project, mention of
   which has shown up here from time to time, I've been working on
   integrating the non-forking stuff from NCSA 1.4 (basically, their
   httpd.c) with Apache.

   Our current nameserver cache has to go, unfortunately (it relies on
   each process being handled by a new child which inherits a recent
   copy of the parent's memory), but the rest of the code seems to
   work OK.  I've actually been running a non-forking Apache
   configuration since Sunday, and aside from one untoward incident
   when it ran out of file descriptors on a restart (since fixed), it
   has given me no trouble --- in particular, I haven't seen the
   mysterious core dumps which have been reported for the real 1.4.

   (FWIW, Rob H. has reported a ~60-byte per transaction memory leak
   in my non-forking Apache; however, when he tried to duplicate this
   with the real 1.4, it blew up completely after fifty-odd requests.  
   Brandon --- you might want to look at this; it's a bit more serious
   than the garden-variety memory leak Rob advertised it as when he
   submitted the report).

   Our options, as I see them ---

   a) release a non-forking thing now, with promise of a forking
      server to come "soon after NCSA releases 1.4".

   b) wait until NCSA releases 1.4, and then release our code

   Personally, I wouldn't feel comfortable releasing the forking code
   yet --- for one thing, it would feel odd to be releasing 1.4 code
   to the general public before they do (although it would be labeled
   beta in both cases).  However, it's possible that reasonable people
   will disagree.

   (Besides, I'd feel a bit more comfortable with letting it loose on
   the general public if it had run on at least one fairly busy server
   other than mine; either HotWired or Cardiff would be nice...).

2) Compatibility.  Current versions (i.e., the *most* recent betas) of
   1.4 have the following features which we *don't* support, or do
   differently.  Our current draft public docs page says we expect to
   be plug-compatible with 1.4, so we have to deal with the following
   somehow: 
  
   a) Some of the script variables we now both set on error redirects
      have different names (ERROR_foo vs. REDIRECT_foo --- we have the
      latter names because we set them as well when a script redirects
      to another local script).

   b) RefererLog, UserAgentLog --- I don't think these are a terribly
      good idea, but if we really want to be plug compatible with 1.4,
      we're stuck with them.

   c) There's (experimental?) support for group annotation of some
      sort --- so far, it seems to consist only of having an
      annotation server named in the config files, and jamming its URL
      into the MIME headers on returned documents.  We may not even
      want to support this until it's documented and stabilized, but
      it's there.

   Hope I haven't missed anything...

3) I really would like the APB code in our first public release.
   (NB this may involve nontrivial coding --- most of my code looks
   pretty much like, well, Apache, but httpd.c is taken more or less
   from 1.4, and looks rather different.  I think there is a 1.4
   version of the APB patches out there, which might help adapting
   it). 

4) It would also be nice to do something about getting the nameserver
   cache back in to the non-forking code, for when we release it,
   whenever that is.  I do have my old shared-memory code, which I've
   since dinked a bit to be more portable, but I haven't had time to
   test the revised version.

Any thoughts from anyone would be appreciated...

rst

Mime
View raw message