43 Commits

Author SHA1 Message Date
Jingyu Zhou
426e906a87 Remove duplicated code 2021-08-01 22:39:28 -07:00
Jingyu Zhou
8f1946f522 Remove unused code 2021-08-01 21:55:39 -07:00
Jingyu Zhou
1a97c3942a Fix trace events 2021-08-01 19:25:39 -07:00
Jingyu Zhou
4f5bcaf050 Remove verbose stdout messages 2021-08-01 19:11:23 -07:00
Jingyu Zhou
e3629ef356 Refactor decoder 2021-08-01 19:09:09 -07:00
Jingyu Zhou
d7ac5830e6 Fix decoder bug of shadowing loop index 2021-08-01 13:48:45 -07:00
Jingyu Zhou
de1e9000a2 Add --hex_prefix flag 2021-07-31 21:08:13 -07:00
Jingyu Zhou
2282d8455a Fix trace format json 2021-07-31 19:02:33 -07:00
Meng Xu
9e4bee9e30 Handle ascii special characters 2021-08-01 01:50:33 +00:00
Jingyu Zhou
b930faf520 Log prefix filter 2021-07-31 12:52:39 -07:00
Jingyu Zhou
1145087543 Add UID to the events for decoders 2021-07-31 12:45:47 -07:00
Jingyu Zhou
0a98c76747 Fix trace event throttling by using different types 2021-07-31 12:24:59 -07:00
Jingyu Zhou
7054bf7054 Set max field length for long mutations 2021-07-31 11:28:13 -07:00
Jingyu Zhou
0ea432a638 Add traceevent for all printed mutations 2021-07-30 18:34:13 -07:00
Jingyu Zhou
52368eafbc Filter by version for mutations as well 2021-07-30 17:45:21 -07:00
Jingyu Zhou
1a4f6a4ccf Implement prefix key filter 2021-07-30 16:31:53 -07:00
Jingyu Zhou
c21fadeaea Add begin and end version filtering for files 2021-07-30 15:58:22 -07:00
sfc-gh-tclinkenbeard
c74047c665 Merge remote-tracking branch 'origin/master' into fix-more-clang-warnings 2021-07-28 11:51:02 -07:00
Steve Atherton
507c1f11e3 Add .log() to bare TraceEvent() invocations without any .detail()s to avoid clang-tidy warning about immediate destruction of object without use. 2021-07-26 19:55:10 -07:00
sfc-gh-tclinkenbeard
b9a22a61ef Fix many -Wreorder-ctor warnings 2021-07-23 17:33:18 -07:00
Steve Atherton
f596a81073 Rename ::TRUE and ::FALSE in BooleanParams to ::True and ::False so as to not conflict with the TRUE and FALSE macros provided by the Windows and MacOS SDKs. 2021-07-17 00:11:40 -07:00
sfc-gh-tclinkenbeard
79ff07a071 Added *BOOLEAN_PARAM macros to enforce documentation of boolean parameters 2021-07-02 15:04:42 -07:00
Jingyu Zhou
0ce3ed93ec Refactor TLS config for backup 2021-04-08 21:56:02 -07:00
Jingyu Zhou
86482606bb Add blob credentials option for fdbdecode 2021-04-08 21:56:02 -07:00
Jingyu Zhou
a5841dad7b Add TLS support to fdbdecode 2021-04-08 21:56:02 -07:00
Jingyu Zhou
219c8d8526 Remove verbose help output 2021-04-08 21:56:02 -07:00
Jingyu Zhou
7652bd1c08 Update help with all command line options 2021-04-08 21:56:02 -07:00
FDB Formatster
df90cc89de apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
Markus Pilman
074531309b
Merge pull request #3769 from sfc-gh-ljoswiak/binary-info
Add CLI argument to print build information
2021-01-26 10:29:57 -07:00
Lukas Joswiak
f011af14bc Add build flags option to fdbdecode binary 2021-01-19 11:21:21 -08:00
sfc-gh-tclinkenbeard
86c7c1e946 Fix IAsyncFileSystem method signatures 2020-12-28 01:57:42 -04:00
sfc-gh-tclinkenbeard
b7f4d69dc4 Added VersionedKVPart class to FileDecoder.actor.cpp 2020-12-26 21:53:14 -04:00
A.J. Beamon
d128252e90 Merge release-6.3 into master 2020-05-22 09:25:32 -07:00
Jingyu Zhou
3c76722504 Fix valgrind error of invalid memory access 2020-03-30 16:38:22 -07:00
Jingyu Zhou
3c32835cce Fix decoder for unfinished version batch in a log
A mutation log's version batch data can be split into multiple blocks, and some
of the blocks can be spread across two mutation logs. Thus, the decoder needs
copy unfinished version batch data from previous file progress to the next one.
2020-03-30 11:34:51 -07:00
Jingyu Zhou
7831bec2b0 Address review comments on trace events 2020-03-24 10:54:12 -07:00
Jingyu Zhou
b18f192831 Fix decode bug of missing mutations
After reading a new block, all mutations are sorted by version again, which
can invalidate previously tuple. As a result, the decoded file will miss some
of the mutations.
2020-03-20 20:15:09 -07:00
Jingyu Zhou
d0a24dd20d Decode out of order mutations in old mutation logs
In the old mutation logs, a version's mutations are serialized as a buffer.
Then the buffer is split into smaller chunks, e.g., 10000 bytes each. When
writting chunks to the final mutation log file, these chunks can be flushed
out of order. For instance, the (version, chunck_part) can be in the order of
(3, 0), (4, 0), (3, 1). As a result, the decoder must read forward to find all
chunks of data for a version.

Another complication is that the files are organized into blocks, where (3, 1)
can be in a subsequent block. This change checks the value size for each
version, if the size is smaller than the right size, the decoder will look
for the missing chucks in the next block.
2020-03-20 20:15:08 -07:00
Jingyu Zhou
e15015ee6c Add mutation log version names
I.e., BACKUP_AGENT_MLOG_VERSION for 2001 and PARTITIONED_MLOG_VERSION for 4110.
2020-03-20 20:13:38 -07:00
Andrew Noyes
09f3690f09 Fix OPEN_FOR_IDE build 2020-02-03 10:42:05 -08:00
Jingyu Zhou
690e93145e Fix some comments 2020-01-22 19:38:46 -08:00
Jingyu Zhou
3854d9a49a Fix decoder to handle multi-part values
When a value (i.e., mutations for a version) is large, it will be split into
multiple key value pairs. This is not handled previously and fixing it also
consolidate the interface of DecodeProgress.
2020-01-22 19:38:46 -08:00
Jingyu Zhou
7d1b9fe6d3 Add mutation file decoder 2020-01-22 19:38:46 -08:00