Commit Graph

3612 Commits

Author SHA1 Message Date
Stephen Atherton 567a7bd58a Print a final deleted object count at the end of backup deletion. 2018-12-20 01:24:31 -08:00
Stephen Atherton 354abebf64 Added progress reporting to backup expiration. Simplified backup delete progress. 2018-12-20 00:23:26 -08:00
Stephen Atherton fcb34a8768 In backup describe, when not using the original cluster to resolve versions to date/time strings the versions will be converted to approximate day deltas from maxLogEndVersion (if available) using core_versionspersecond. 2018-12-19 16:53:39 -08:00
Stephen Atherton 00568f4011 Error code was misleading, added comment. 2018-12-19 13:14:48 -08:00
Stephen Atherton fd4a62fbfd Backup expire will fail earlier if force option is needed but not specified. 2018-12-19 10:36:25 -08:00
Stephen Atherton 172c3f2021 Bug fix in backup describe, do not update log begin/end metadata in backup if describe was given a start version override as it can result in incorrect metadata. 2018-12-19 10:35:06 -08:00
Stephen Atherton afa243bc97 Added fdbbackup expire options to calculate approximate version boundaries based on a number of days prior to the latest log file found in the backup container. This enables expiration operations based on time (with reasonable precision) without accessing the source cluster. 2018-12-18 18:55:44 -08:00
Stephen Atherton 69d847dbbd Backup describe can now analyze a backup assuming log data starts at a given version. This is used by expire both as an optimization and because doing so enables expire to repair a bad metadata state that can result from a cancelled or failed expire operation from fdbbackup <= 6.0.17. ListLogFiles() and ListRangeFiles() no longer sort results as in most cases the sort is not required and the result set can be very large. Describe will now update minLogBegin metadata to the beginning of the log range known to be present when possible. Several serial log and range list pairings are now done in parallel. 2018-12-18 04:33:37 -08:00
Alex Miller f88d5f56ff Fix copyright header and use c++11 for now. 2018-12-17 23:50:33 -08:00
Stephen Atherton 779a4b1e3b Static de-initialization order isn't well thought out so use flushAndExit() instead of returning from main after runNetwork() has been called. 2018-12-17 18:39:14 -08:00
Alex Miller bfab7c150a Require PageHeader to be 36 bytes, and don't use magic numbers. 2018-12-17 13:37:44 -08:00
Stephen Atherton 9ef9041fba Bug fix, metadata read futures were moved to a vector but then not waited on. 2018-12-17 13:13:35 -08:00
Stephen Atherton dac1827d23 Backup describe's "deep scan" mode should only ignore log begin/end versions, not expire and unreliable end versions. 2018-12-16 00:41:38 -08:00
Stephen Atherton 5951e9d577 Added backup URL and exceptions to trace events where applicable. 2018-12-16 00:33:30 -08:00
Stephen Atherton 223b19f5ba Rewrote backup metadata scheme to fix several design flaws involving cancelled or concurrent operations. Most importantly, before an expire deletes any data it marks the end of the range being deleted as 'unreliable' so further reads of the backup will treat versions before that point as having data holes. 2018-12-16 00:18:13 -08:00
Alex Miller b0f9aab1de
Merge pull request #979 from xumengpanda/mengxu/teamcollection-release-osx-build-fix
TeamCollection: Fix build in osX
2018-12-14 15:12:46 -08:00
Alex Miller b4b7f382a7 Fix issues that a newer compiler warned about. 2018-12-14 14:43:50 -08:00
Meng Xu 486a7b04fa TeamCollection: Fix build in osX
In osX, we cannot adding unsigned long to a string to append to the string.
2018-12-14 13:44:11 -08:00
Adam Kocoloski 0a6d423569 Improve three_data_hall / three_dc descriptions
This patch includes descriptions of the transaction log configurations
for these redundancy modes, and corrects what I believe is an incorrect
statement about the minimum number of machines required to make
progress. It also clarifies that commits require synchronous
replication across datacenters.
2018-12-14 16:31:23 -05:00
Adam Kocoloski e18713450f Remove outdated information on multi-dc config
The only published datacenter-aware mode is three_datacenter, which
replicates data 6x (not in triplicate) and does replicate each piece of
data to all three datacenters.
2018-12-14 16:04:44 -05:00
Markus Pilman cdc7e83993
Update flow/Trace.cpp
Co-Authored-By: alexmiller-apple <35046903+alexmiller-apple@users.noreply.github.com>
2018-12-14 11:30:40 -08:00
Markus Pilman 4ae701d8a9 minor bugfix to look up correct filename in cache
(manually cherry-picked from flat-buffers branch)
2018-12-13 22:21:25 -08:00
Markus Pilman 0207831fd6 Use abspath when dealing with the simulator file-cache
The simulator uses a hash table to cache all open files to make sure
that several simulated processes don't open the file more than once.
This currently doesn't work properly and deleted files are often kept
open forever. As a result, we often ran out of file descriptors.

The problem is luckily quite simple: files are often opened with an
absolute path but later a relativ path is passed for deletion. This
is not working because the map that is used to store the file
descriptors is not aware of paths - so deleted files are often not
removed from this map. The fix that works for us is to just always
work with absolute paths when adding and removing files from this map.
2018-12-13 22:21:06 -08:00
Alex Miller a5401b834b Integrate JsonTraceLogFormatter into build system + more.
Where more is:
* Changed the default format to xml, so that all traces don't suddenly
  change as of this commit.  Someone is going to need to start passing a
  flag to all their servers, but let's worry about that later.
* Changed the copyright headers to be the correct filename.
* Include paths should be specified from the root.
2018-12-13 22:07:16 -08:00
Markus Pilman 2389cf65f3 fixed escaping bug 2018-12-13 21:50:01 -08:00
Markus Pilman aa1eff8346 formatted json log formatter 2018-12-13 21:49:46 -08:00
Markus Pilman 40890e9dbe Implemented a json log formatter 2018-12-13 21:46:02 -08:00
Alex Miller a982b9da72 Additional changes from a merge commit. 2018-12-13 17:13:41 -08:00
Markus Pilman 879cb31fa2 first version of debian build 2018-12-13 15:57:12 -08:00
Markus Pilman 1007708dfb RPM package now building correctly 2018-12-13 15:56:45 -08:00
Markus Pilman 0b8af89826 Added missing dependency between boostProject and boost_target 2018-12-13 15:56:11 -08:00
Markus Pilman f13ad0d50a install fdb service with rpm and add dependencies 2018-12-13 15:55:53 -08:00
Markus Pilman c654b1bb61 First version of working rpm packages 2018-12-13 15:55:31 -08:00
Markus Pilman 8e5f62011a Compiler flags for Windows (generated via cmake-converter script)
I don't have access to a windows machine, so I am flying blind here.
This means that these options are completely untested
2018-12-13 15:54:55 -08:00
Markus Pilman f7a87e52d9 Use system boost if installed 2018-12-13 15:53:08 -08:00
Alex Miller 550daa05f8 Default configuration now builds. 2018-12-13 15:52:27 -08:00
Markus Pilman df0f491c29 Some more improvements to the build and preparations for packaging 2018-12-13 15:04:13 -08:00
Markus Pilman f8eac70700 Fixed C bindings DLLEXPORT and Java bindings 2018-12-13 14:59:36 -08:00
Markus Pilman 5fafeaf219 added bindings to cmake build 2018-12-13 14:54:38 -08:00
Markus Pilman 4833afea53 CMake compiles fdb c bindings 2018-12-13 14:54:13 -08:00
Alex Miller e70e59a895 Change some file locations. 2018-12-13 14:53:19 -08:00
Markus Pilman c06bb33730 CMake compiles all binaries except for bindings 2018-12-13 14:15:44 -08:00
Markus Pilman dce290909d fdbserver now compiling 2018-12-13 14:13:47 -08:00
A.J. Beamon bd52f8cbd6
Merge pull request #959 from bluk/fix-go-bindings-warning
Fix Go bindings possible nested comment warnings
2018-12-13 17:09:40 -05:00
mpilman 51beb8b48c fdbrpc compiling with cmake 2018-12-13 14:02:16 -08:00
mpilman f5fcb666c5 flow compiling with cmake on OS X 2018-12-13 13:58:06 -08:00
Bryant Luk 2379552aea
Fix Go bindings possible nested comment warnings
When using the Go bindings in a project, you can get compilation
warnings for the `/*` in the comment blocks. These warnings seem
unnecessary.

Warning is:

\# github.com/apple/foundationdb/bindings/go/src/fdb
In file included from _cgo_export.c:4:
cgo-gcc-export-header-prolog:43:1: warning: '/*' within block comment [-Wcomment]
cgo-gcc-export-header-prolog:44:1: warning: '/*' within block comment [-Wcomment]
2018-12-13 15:41:01 -06:00
Evan Tschannen d9626895b1
Merge pull request #964 from xumengpanda/mengxu/teamcollection-release
TeamCollection: Use machine teams to create server teams to increase availability at scale when a machine has multiple servers
2018-12-13 13:18:54 -08:00
Meng Xu 79d94f78f1 TeamCollection: Improve code efficiency
Further improve code efficiency by

1) Avoid rebuild machine locality map when machine locality is changed.
This may leave the global machine locality map stale.
This is ok as long as we do not use the global map to validate
the machine team follows the locality policy.

2) Use ASSERT_WE_THINK instead of ASSERT to avoid runtime overhead.
ASSERT_WE_THINK will only validate the condition in simulation mode.

Signed-off-by: Meng Xu <meng_xu@apple.com>
2018-12-12 22:38:38 -08:00
Meng Xu e197926c80 TeamCollection: Remove a duplicate function
Remove a duplicate function that has different signature.
No functionality change.

Signed-off-by: Meng Xu <meng_xu@apple.com>
2018-12-12 15:21:37 -08:00