- 22 Nov, 2017 4 commits
-
-
Chris Wilson authored
-
Chris Wilson authored
Remove the compatibility code that caught these exceptions and made the functions return 1 instead of throwing the exception. Make bbstoreaccounts catch these exceptions and exit with status 1 instead.
-
Chris Wilson authored
-
Chris Wilson authored
Enable the relevant compiler warning as an error, if supported (-Werror=undefined-bool-conversion). http://www.gotw.ca/conv/002.htm http://stackoverflow.com/questions/2165078/a-reference-can-not-be-null-or-it-can-be-null (cherry picked from commit f2911aca)
-
- 20 Nov, 2017 2 commits
-
-
Chris Wilson authored
-
Chris Wilson authored
Should increase reliability of tests running on Travis.
-
- 11 Nov, 2017 34 commits
-
-
Chris Wilson authored
ReleaseLock() could fail if it can't contact the S3/SimpleDB server, but destructors aren't allowed to throw exceptions, so catch this case and log a warning instead (because we failed to release the lock that we were holding). (cherry picked from commit 6226c014dd2988a6a29cd21f6cc29fa0e7816607)
-
Chris Wilson authored
If syslog can't log to the Windows event log for some reason, instead of just printing the log message to the console, include some explanatory text about what went wrong. (cherry picked from commit c492c90062d2e88db1016f13bd912629477a8a46)
-
Chris Wilson authored
This extends the -L command-line option to allow overriding by filename/category=level as well as the existing support for overriding by filename=level. (cherry picked from commit 4421c53ab59adb494308f9c9f881a6a57bfd571c)
-
Chris Wilson authored
(cherry picked from commit feddbef8052208508a2e542a1a70c23138f476b8)
-
Chris Wilson authored
(cherry picked from commit cc14b3b4b9ec509233000c7d0a995580afd97f15)
-
Chris Wilson authored
(cherry picked from commit ca39b88d4a73b64de68400dfa29270f203fd0f14)
-
Chris Wilson authored
(cherry picked from commit c50aac67ee6ce6af9d63d5b96290585f2c5b7c21)
-
Chris Wilson authored
(cherry picked from commit 24bc49f30b9ce54d5024777f9c34d70a476d9663)
-
Chris Wilson authored
error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
-
Chris Wilson authored
-
Chris Wilson authored
I'm not convinced that it does anything on Windows without an RTT estimate, which we can't get without administrator access: https://msdn.microsoft.com/en-us/library/windows/desktop/bb485738(v=vs.85).aspx (cherry picked from commit b646d22f415bbc8f5b5b065ed7462166591404f2)
-
Chris Wilson authored
(cherry picked from commit 9df71c89)
-
Chris Wilson authored
(cherry picked from commit 3a8ca0c97e7346912889df72a1a87b80b430fe7a)
-
Chris Wilson authored
This extends test_server_commands() to the S3 backend implementation, using test specialisation.
-
Chris Wilson authored
This tests that HTTPRequest::SendHeaders includes the "Expect: 100-continue" header only when expected. A separate test calls HTTPRequest::SendWithStream which sends these headers, and therefore checks that both sides correctly handle such exchanges.
-
Chris Wilson authored
Needed to clear the cache in backupstore tests specialised for S3.
-
Chris Wilson authored
-
Chris Wilson authored
This was designed to stop untested code from running. Now we are ready to use this code, with tests soon to come.
-
Chris Wilson authored
-
Chris Wilson authored
This enables the S3 bucket name to be included in the virtual hostname, for example bucketname.s3.amazonaws.com, when connecting to a different hostname such as localhost. This makes bucket names usable in tests with BackupAccountControl.
-
Chris Wilson authored
"If the object is being created as part of a new expression, and an exception is thrown, the object’s memory is deallocated by calling the appropriate deallocation function. If the object is being created with a placement new operator, the corresponding placement delete operator is called—that is, the delete function that takes the same additional parameters as the placement new operator. If no matching placement delete is found, no deallocation takes place." So to avoid memory leaks, we need to implement placement delete operators that correspond to our placement new, which we use for leak detection (ironically) in debug builds.
-
Chris Wilson authored
The class name was a problem, because the method that we want to call on it is also called GetLine, which looks too much like a constructor in C++, so I renamed it to LineBuffer. I haven't yet renamed the child classes. Also, it was impossible to distinguish between the different causes of GetLine() returning false (timeout and signal) and EOF could only be checked by calling a different function. Now all of these causes throw different exceptions. This really fixes the problem with attaching a debugger to a process waiting in GetLine, which would previously cause the read() to return immediately with EINTR, which we never retried because it looked like a timeout.
-
Chris Wilson authored
This allows protocol files to be regenerated automatically if makeprotocol.pl.in changes, and similarly exception files and makeexception.pl.in.
-
Chris Wilson authored
-
Chris Wilson authored
-
Chris Wilson authored
-
Chris Wilson authored
Previously it would truncate the expected refcount list at the first zero entry, instead of just removing zero entries from the end. Also move some test code to test_server_commands which should have been there, since they were causing issues with the check for the refcount database in test_server_housekeeping. It's hard to disentangle these two changes.
-
Chris Wilson authored
Don't allow an uncaught exception to kill the whole server. This makes it consistent with multi-process servers, where death of a child worker does not stop the main server process, so it continues to serve requests. This makes the HTTPServer robust to exceptions (such as the child disconnecting while the server is streaming a response) on Windows. (cherry picked from commit 4a515b9ce8e616b357dc07bee27aa7b3692c3602)
-
Chris Wilson authored
This allows us to wrap an existing stream (not necessarily a file, e.g. a streaming HTTPRequest) in a VerifyStream and pass that stream to a S3PutFileCompleteTransaction, which isn't just going to CopyStreamTo() somewhere, but do something more complex to it.
-
Chris Wilson authored
-
Chris Wilson authored
These should not have been part of the API, and are not needed since mrClient has the same methods.
-
Chris Wilson authored
Should fix random test failures due to housekeeping process realising that the master has asked it to terminate, and logging that it has, after the master has already died and the test finished, confusing the test runner with its extra output. Should also help make the occasionally-reported housekeeping crashes more obvious and easier to debug.
-
Chris Wilson authored
Call ReleaseLock in the child destructor (not the parent) to allow the refcount database to clean itself up (normally involving calling BackupFileSystem::SaveRefCountDatabase) before the BackupFileSystem is too destroyed to be able to fulfil the request.
-
Chris Wilson authored
-