POSTs logged as PUTs by the proxy server

Bug #1025433 reported by John Dickinson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Undecided
Darrell Bishop

Bug Description

When the proxy is configured to implement object POSTs as COPYs, the POST request is logged as a PUT.

Changed in swift:
assignee: nobody → Darrell Bishop (darrellb)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/11636
Committed: http://github.com/openstack/swift/commit/4a2ae2b46034e8027bee20dcfaaf38a9ee0c5c17
Submitter: Jenkins
Branch: master

commit 4a2ae2b46034e8027bee20dcfaaf38a9ee0c5c17
Author: Darrell Bishop <email address hidden>
Date: Sun Aug 19 17:44:43 2012 -0700

    Upating proxy-server StatsD logging.

    Removed many StatsD logging calls in proxy-server and added
    swift-informant-style catch-all logging in the proxy-logger middleware.
    Many errors previously rolled into the "proxy-server.<type>.errors"
    counter will now appear broken down by response code and with timing
    data at: "proxy-server.<type>.<verb>.<status>.timing". Also, bytes
    transferred (sum of in + out) will be at:
    "proxy-server.<type>.<verb>.<status>.xfer". The proxy-logging
    middleware can get its StatsD config from standard vars in [DEFAULT] or
    from access_log_statsd_* config vars in its config section.

    Similarly to Swift Informant, request methods ("verbs") are filtered
    using the new proxy-logging config var, "log_statsd_valid_http_methods"
    which defaults to GET, HEAD, POST, PUT, DELETE, and COPY. Requests with
    methods not in this list use "BAD_METHOD" for <verb> in the metric name.
    To avoid user error, access_log_statsd_valid_http_methods is also
    accepted.

    Previously, proxy-server metrics used "Account", "Container", and
    "Object" for the <type>, but these are now all lowercase.

    Updated the admin guide's StatsD docs to reflect the above changes and
    also include the "proxy-server.<type>.handoff_count" and
    "proxy-server.<type>.handoff_all_count" metrics.

    The proxy server now saves off the original req.method and proxy_logging
    will use this if it can (both for request logging and as the "<verb>" in
    the statsd timing metric). This fixes bug 1025433.

    Removed some stale access_log_* related code in proxy/server.py. Also
    removed the BaseApplication/Application distinction as it's no longer
    necessary.

    Fixed up the sample config files a bit (logging lines, mostly).

    Fixed typo in SAIO development guide.

    Got proxy_logging.py test coverage to 100%.

    Fixed proxy_logging.py for PEP8 v1.3.2.

    Enhanced test.unit.FakeLogger to track more calls to enable testing
    StatsD metric calls.

    Change-Id: I45d94cb76450be96d66fcfab56359bdfdc3a2576

Changed in swift:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in swift:
milestone: none → 1.7.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.