[Box Backup-commit] [boxbackup/boxbackup] 09603c: Refactor BackupStoreCheck to use BackupFileSystem, ...
GitHub
noreply at github.com
Fri Sep 29 21:50:39 BST 2017
Branch: refs/heads/s3_support_merge
Home: https://github.com/boxbackup/boxbackup
Commit: 09603cc8db9ac1f5f908f41d4adc5d3eb0639406
https://github.com/boxbackup/boxbackup/commit/09603cc8db9ac1f5f908f41d4adc5d3eb0639406
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck2.cpp
M lib/backupstore/BackupStoreException.txt
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 7
Move most low-level filesystem structure check code into BackupFileSystem, and
add specialised implementation for S3.
Commit: 9a346bfa3369f911552aee38ce970e62adb07720
https://github.com/boxbackup/boxbackup/commit/9a346bfa3369f911552aee38ce970e62adb07720
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/backupstore/BackupStoreCheck2.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 8
Remove last vestiges of RaidFile from BackupStoreCheck.
Commit: e07d16017aa923a796d7f88dbe51069ce7048370
https://github.com/boxbackup/boxbackup/commit/e07d16017aa923a796d7f88dbe51069ce7048370
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreCheck2.cpp
Log Message:
-----------
Rename some local variables in BackupStoreCheck
Commit: e23da3a8d2f567d85be83a51c32728d36bf37614
https://github.com/boxbackup/boxbackup/commit/e23da3a8d2f567d85be83a51c32728d36bf37614
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupclient/BackupDaemonConfigVerify.cpp
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreException.txt
M test/s3store/testfiles/bbackupd.conf
Log Message:
-----------
Add configuration for S3 local cache directory
Commit: 11f011b26c72b7ce8034973365a977de3706f33b
https://github.com/boxbackup/boxbackup/commit/11f011b26c72b7ce8034973365a977de3706f33b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
Log Message:
-----------
Fix repeated calls to TryGetLock() when already holding lock
Commit: d7a4ec74e29eae55895dbec47a002971db4becf6
https://github.com/boxbackup/boxbackup/commit/d7a4ec74e29eae55895dbec47a002971db4becf6
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Implement RefCountDatabase methods in S3BackupFileSystem
Commit: a72fa9640ffd8e2ec7fb9c74c67e0ebbe1420ee3
https://github.com/boxbackup/boxbackup/commit/a72fa9640ffd8e2ec7fb9c74c67e0ebbe1420ee3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Fix writeback of refcount databases on BackupFileSystem destruction
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.
Commit: ad908f2a0284ebe8d805aa869064a2f488a3974f
https://github.com/boxbackup/boxbackup/commit/ad908f2a0284ebe8d805aa869064a2f488a3974f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/bbstored/BBStoreDHousekeeping.cpp
M lib/bbstored/BackupStoreDaemon.cpp
Log Message:
-----------
Wait for housekeeping to finish before bbstored exits
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.
Commit: c76dcb82a35daf7f49732853900211c3717db6c8
https://github.com/boxbackup/boxbackup/commit/c76dcb82a35daf7f49732853900211c3717db6c8
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Remove useless Get/Put/HeadObject methods from S3BackupFileSystem
These should not have been part of the API, and are not needed since mrClient
has the same methods.
Commit: 7d9805e8d594a34f0f1ac7b2638ff632d1eab9bf
https://github.com/boxbackup/boxbackup/commit/7d9805e8d594a34f0f1ac7b2638ff632d1eab9bf
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreInfo.cpp
M lib/backupstore/BackupStoreInfo.h
R test/s3store/testfiles/store/subdir/dirs/create-me.txt
M test/s3store/tests3store.cpp
Log Message:
-----------
Refactor BackupAccountControl to use BackupFileSystem
Commit: 9f42efabf6ea6e8126684ed3956ab66cba591388
https://github.com/boxbackup/boxbackup/commit/9f42efabf6ea6e8126684ed3956ab66cba591388
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupStoreFile.cpp
M lib/backupstore/BackupStoreFile.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Refactor BackupStoreFile::VerifyStream from write to read side
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.
Commit: 989caf643448717262b246c3e4c1b2dc7570d16c
https://github.com/boxbackup/boxbackup/commit/989caf643448717262b246c3e4c1b2dc7570d16c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/StoreTestUtils.cpp
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Fix a long-standing bug in the set_refcount() test helper function
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.
Commit: 5b60e321499b733d41233ad177b5f293292c36db
https://github.com/boxbackup/boxbackup/commit/5b60e321499b733d41233ad177b5f293292c36db
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Add extra refcount checks to test_server_housekeeping
Commit: b9418a119d9433ada9dd4316936446ce932e7c8b
https://github.com/boxbackup/boxbackup/commit/b9418a119d9433ada9dd4316936446ce932e7c8b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupCommands.cpp
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreContext.cpp
M lib/backupstore/BackupStoreContext.h
M lib/backupstore/BackupStoreDirectory.h
M lib/backupstore/BackupStoreException.txt
M lib/backupstore/StoreTestUtils.cpp
A lib/common/ByteCountingStream.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Refactor BackupStoreContext to use BackupFileSystem
Commit: 5bdc48ee08ee4e24c8b5f787436eaeb68c133163
https://github.com/boxbackup/boxbackup/commit/5bdc48ee08ee4e24c8b5f787436eaeb68c133163
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Enable and fix warnings in infrastructure/makebuildenv.pl
Commit: c9cbada78760b6ba054c5734f001c2e53f662d6a
https://github.com/boxbackup/boxbackup/commit/c9cbada78760b6ba054c5734f001c2e53f662d6a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Fix Makefile dependency tracking of configured files
This allows protocol files to be regenerated automatically if
makeprotocol.pl.in changes, and similarly exception files and
makeexception.pl.in.
Commit: 78eb7385b98bd626b9f86b51c63456277ffa0f5b
https://github.com/boxbackup/boxbackup/commit/78eb7385b98bd626b9f86b51c63456277ffa0f5b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M bin/bbackupctl/bbackupctl.cpp
M bin/bbackupquery/bbackupquery.cpp
M lib/bbackupd/BackupDaemon.cpp
M lib/bbstored/BBStoreDHousekeeping.cpp
M lib/common/CommonException.txt
M lib/common/FdGetLine.cpp
M lib/common/FdGetLine.h
R lib/common/GetLine.cpp
R lib/common/GetLine.h
M lib/common/IOStream.cpp
M lib/common/IOStreamGetLine.cpp
M lib/common/IOStreamGetLine.h
A lib/common/LineBuffer.cpp
A lib/common/LineBuffer.h
M lib/httpserver/HTTPException.txt
M lib/httpserver/HTTPHeaders.cpp
M lib/httpserver/HTTPRequest.cpp
M lib/httpserver/HTTPResponse.cpp
M lib/httpserver/S3Simulator.cpp
M lib/httpserver/S3Simulator.h
M lib/server/ServerControl.cpp
M lib/server/SocketStream.cpp
A test/backupstore/testfiles/bbackupd.conf
A test/backupstore/testfiles/s3simulator.conf
M test/backupstorefix/testbackupstorefix.cpp
M test/basicserver/testbasicserver.cpp
M test/bbackupd/testbbackupd.cpp
M test/common/testcommon.cpp
Log Message:
-----------
Refactor GetLine
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.
Commit: a4083f39f9cc5794e369373d78091ea4ca024ae9
https://github.com/boxbackup/boxbackup/commit/a4083f39f9cc5794e369373d78091ea4ca024ae9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/common/DebugMemLeakFinder.cpp
M lib/common/MemLeakFinder.h
Log Message:
-----------
Implement placement operator delete
"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.
Commit: 54d2d9b125b08053a4afdd28f4ee2d451cd539c1
https://github.com/boxbackup/boxbackup/commit/54d2d9b125b08053a4afdd28f4ee2d451cd539c1
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupclient/BackupDaemonConfigVerify.cpp
M lib/backupstore/BackupAccountControl.cpp
M lib/httpserver/S3Client.h
Log Message:
-----------
Enable support for S3 virtual hosts in BackupAccountControl
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.
Commit: 1c49e464c19d8e9465b825fe188d0aa61493e2e1
https://github.com/boxbackup/boxbackup/commit/1c49e464c19d8e9465b825fe188d0aa61493e2e1
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreException.txt
Log Message:
-----------
Properly implement S3BackupFileSystem::GetPermanentRefCountDatabase
Commit: 504eaadbd5e39c149c5e2ee2154f7ee5f6df1955
https://github.com/boxbackup/boxbackup/commit/504eaadbd5e39c149c5e2ee2154f7ee5f6df1955
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
Log Message:
-----------
Remove always-false assertion in S3BackupFileSystem::GetDirectory
This was designed to stop untested code from running. Now we are ready to use
this code, with tests soon to come.
Commit: d842757bff00631bbbca04cb68bec091d46e400e
https://github.com/boxbackup/boxbackup/commit/d842757bff00631bbbca04cb68bec091d46e400e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/StoreTestUtils.cpp
M lib/backupstore/StoreTestUtils.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Add store test helpers for specialised tests
Commit: 2279450b287a3d5b553932262348be7a599be2bb
https://github.com/boxbackup/boxbackup/commit/2279450b287a3d5b553932262348be7a599be2bb
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-29 (Fri, 29 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreContext.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Make BackupStoreContext::ClearDirectoryCache() public
Needed to clear the cache in backupstore tests specialised for S3.
Compare: https://github.com/boxbackup/boxbackup/compare/707b67501528...2279450b287a
More information about the Boxbackup-commit
mailing list