Polygraph 2.7.4 available

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Sat, 22 Sep 2001 23:50:54 -0600 (MDT)

Hi there,

    Web Polygraph 2.7.4 is available. The change log is attached.
        http://www.web-polygraph.org/downloads/

    This is a minor release incorporating PolyMix/WebAxe-4 polishing
and other improvements and bug fixes. Most changes were inspired by
feedback from vendors preparing for the 4th cache-off. Please see
change log for details.

    Most important workload changes include: no robot DNS lookups for
embedded objects, longer WebAxe plateau (depending on which
documentation you used), and corrected WAN simulation parameters for
WebAxe. Bugs related to MD5 checksum verification and stale objects
detection have been fixed, hopefully. Also, Polygraph should no longer
complain about transactions aborted by the other Polygraph side due to
abort_prob PGL settings; several users asked for this feature.

    Users running large-scale configurations (1000 or more servers?)
may notice an improvement in polysrv speed due to optimized address
map handling.

    This may be the release we will use at the cache-off. However,
quite a few participants have not submitted their reports yet so we
cannot be sure that all major bugs have been nailed down. Please
upgrade and report all problems ASAP!

Thank you,

Alex.

------------- change log -----------------
2.7.3 -> 2.7.4
20010922
    - synchronized packet delay/loss parameters with on-line
      workloads documentation (PolyMix-4 and WebAxe-4): 40msec delay
      and 0.05% packet loss in both directions, on one side
    - changed plateau phase duration back to 4 hours until more
      evidence is collected to support the theory that shorter
      measurement phase is OK. (WebAxe-4)
    - set final populus factor to zero and added "synchronize =
      false" flag to last phase (dec2) in PolyMix-4 and WebAxe-4
      workloads to ensure smooth test termination
    - do not perform DNS lookups for embedded objects
    - added "synchronize" flag to Phase type (PGL); by default,
      phases try to synchronize their finishes with remote
      schedules; if set to false, the phase will quit when its local
      schedule tells it so; the latter is handy for the very last
      phase of the test when request rate may be almost zero,
      leaving few chances for synchronization; this per-phase flag
      replaces the global --sync_phases option
    - emit progress reports on the console every 5 minutes; handy
      when a phase seem to be stuck for no apparent reason; the
      report frequency is currently hard-coded
    - do not report "premature end of message body" errors when
      transaction is aborted by the other side due to PGL abort_prob
      settings
    - ignore stale objects that became stale while in-transit;
      report more info about stale objects
    - update clock more often at startup
    - replaced several assertions with warnings and workarounds to
      be robust in the presence of yet unknown internal and external
      errors
    - fixed waiting transaction accounting bug: when robots were
      made idle to meet (smaller) populus goal or for other reasons,
      waiting transaction queue was silently flushed instead of
      "killing" each individual queued xaction and updating
      appropriate counters/tables; the bug led to wrong wait.level
      statistics and to memory leaks
    - robot transactions were not resetting calculated Object
      Lifecycle timestamps leading to false "stale object" errors
    - different embedded object IDs were sometimes generated for the
      same container, screwing MD5 checksums and probably some
      supersmart intermediaries because generated content for the
      same oid may not be the same
    - optimized address map searching; linear search was too slow
      for large scale configuration, leading to worse response times
      for servers closer to the end of the robots' origins array
    - make sure that no more than scheduled abort size gets
      written/read on a connection; old code would read/write as
      much as possible, and many scheduled aborts would not happen
      until the object is fully written/read, when it is too late
      for the other side to notice/experience an abort
    - a CRLF sequence was getting appended to a host name in the
      Host: header if that header happened to be the last HTTP
      header in the request/response; Polygraph servers would report
      "foreign host name" errors because of that extra CRLF in the
      host name; other headers in the same [last] position were
      getting extra CRLF as well, but, apparently, their parser
      would ignore those extra characters (or, at least, no
      side-effects were noticed)
    - initialize OS-dependent libraries in aka to prevent aka from
      quitting due to WSAStartup() not being called on MS Windows;
      alias handling code still needs more work on Windows
Received on Sat Sep 22 2001 - 23:54:39 MDT

This archive was generated by hypermail 2.2.0 : Tue Dec 02 2008 - 12:00:10 MST