Changes:
* r3585: With downstream caching, don't touch `Cache-Control` headers.
* No longer require `Modify Caching Headers off`.
* Change from `modify_caching_headers` as a boolean to a three valued enum
`PreserveCachingHeaders`.
* r3596: Make tests less flaky.
* Changes WGET_DUMP to write to WGET_DIR instead of OUTDIR.
* r3597: Remove now-redundant system tests.
* Some system tests were moved into `automatic/system_test.sh` which means we
can remove our forks.
* r3598: Enable the shared memory metadata cache by default.
* The code change just worked and needed no changes, but it also added
substantial tests, which needed some porting.
* Deflake the `scrape stats` test by moving it before config reloading.
The keepalive tests were occasionally bumping up against
the 1s timeout we had set for curl, but a 1s 99.9% tail
latency is a little agressive. Drop it to 2s to make the
tests less flaky.
What we really need is a proper load testing setup, so
the keepalive test isn't doing double-duty.
I missed this when moving shared components to SystemRewriteDriverFactory;
this call used to be in NgxRewriteDriverFactory::RootInit. Without it we only
log VLOG(0), not VLOG(1) and VLOG(2) the way Apache does.
Fixes#518.
The pagespeed_connection needs a log to write to, but unfortunately
r->connection->log isn't guaranteed to still be around for the whole
lifetime of the pagespeed_connection. Use the log from the server
context instead.
Fixes issue #522.
No major changes that we need to be compatible with. r3508 tweaks
InPlaceResourceRecorder::DoneAndSetHeaders so that we can now make sure to
release it: the recorder is allocated in ps_in_place_check_header_filter and
released in ps_in_place_body_filter, but if there's an error in between it will
be leaked. We know ps_release_request_context will get run regardless because
it's set as a cleanup handler, so clean up the recorder there.
Fixes#527
This fixes a few valgrind errors on shutdown, plus a potential
issue when url_util.cc would lazily initialize in a thread-unsafe
manner. Also adds --leak-check=full to the suggested valgrind
command for the system tests.
Issue #364 was fixed upstream in r3492. Backport the fix to master.
"We only need to shut down the caches in child processes because they are not
started in the master process. This wasn't a problem before, but shutting down
the caches can start a thread which isn't safe to do in the master process of a
forking server like Nginx."
Also backport the change from r3497 where we use a DCHECK for
may_start_threads_. It's bad to start threads in the root process, but it's not
worth crashing a production server over.
* Adds IPRO tests that we should have copied from apache_system_test.sh back
when we first added IPRO.
* The "IPRO-optimized resources should have fixed size, not chunked" test
fails. The problem is as it says: IPRO optimized resources are being sent
out with `Transfer-Encoding: Chunked` instead of `Content-Length: ...`. How
do we fix this?
* install/system_test.sh moved to net/instaweb/automatic/system_test.sh
* minor method signature changes
* url.is_valid() is gone, replaced by .IsWebValid()
* I pushed Otto's #464 upstream, and now we need to make some IPRO changes.
* beacons have nonces now, so we need to update tests.