26 Commits

Author SHA1 Message Date
sfc-gh-tclinkenbeard
e69f299a5c Added minInvalidProtocolVersion 2020-07-09 14:39:35 -07:00
Evan Tschannen
4b6e1d8a57 fix compile problem 2020-05-22 17:16:59 -07:00
Evan Tschannen
ced65cd30b finished explicitly versioning everything stored in the database 2020-05-22 17:14:21 -07:00
Evan Tschannen
72ce997d22 explicitly versioned every key in systemData, so we only will update the associated protocolVersion when the serialization actually changes 2020-05-22 16:35:01 -07:00
Evan Tschannen
8fd926e08e serialize old tlog entries with old protocol versions to support downgrades 2020-05-22 14:00:07 -07:00
Evan Tschannen
6db801ea53 shrink the serialized size of StorageServerInterface 2020-05-01 21:37:19 -07:00
Andrew Noyes
9123cd35ed Version report_conflicting_keys field 2020-03-24 18:11:15 -07:00
Jingyu Zhou
17002740bb Add epoch and backup workers to DBCoreState
This enables backup workers to know the end version of the epoch. Additionally,
the master recovery only needs to deal with crashed backup workers by
recruiting new workers to backup the unfinished version range.
2020-01-22 19:38:45 -08:00
Evan Tschannen
688940b685 merge 6.2 into master 2019-10-21 11:43:46 -07:00
Alex Miller
d38a96ab73 Make LogData aware of the spill type it was created to perform.
The spilling type is now pulled out of the request, and then stored on
LogData for later access, and persisted in the tlog metadata per tlog
generation.

It turns out that serializing types as Unversioned is a bit wonky.
2019-10-03 01:45:10 -07:00
Evan Tschannen
9ec9f41d34 backup and DR would not share mutations if they were started on different versions of FDB 2019-10-01 18:52:07 -07:00
A.J. Beamon
64ce0c3285 Remove the unused getVersion from StorageServerInterface. 2019-08-26 13:53:54 -07:00
A.J. Beamon
b91795d288 Send bytes input rate to DD. 2019-07-25 16:27:32 -07:00
Balachandar Namasivayam
af267ba053 Track the priority of sampled Transaction as part of GetReadVersion event. 2019-07-19 17:31:49 -07:00
Evan Tschannen
7f4586ad49 the number of txsTags needs to be tracked separately from the number of transaction logs because of forced recoveries 2019-06-28 12:33:24 -07:00
Evan Tschannen
52efcfd136 fix: properly create the right number for txsTags when changing between different numbers of logs 2019-06-27 15:15:05 -07:00
mpilman
68ce9a5e75 ProtocolVersion type - second try 2019-06-18 17:55:27 -07:00
mpilman
8576665a90 Revert "Revert "Make protocol version a type""
This reverts commit 455bf3b3ec9d5a347b68bf4fa89bf042f5ac312e.
2019-06-18 14:49:04 -07:00
Alex Miller
455bf3b3ec Revert "Make protocol version a type" 2019-06-18 10:59:17 -07:00
mpilman
4a14117549 Fixed typo 2019-06-17 09:30:28 -07:00
mpilman
52da31bfb3 Simplifications and addressed reviews 2019-06-16 11:07:10 -07:00
Markus Pilman
882fa39e80 fixed typo
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-06-16 09:59:15 -07:00
Markus Pilman
23fb403216 Fix typo
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-06-16 09:59:15 -07:00
mpilman
dc9522bd86 Address code-review comments 2019-06-16 09:59:15 -07:00
mpilman
9fd8dac767 Added license header to new file 2019-06-16 09:59:15 -07:00
mpilman
da53a92bec Make protocol version a type
This fixes #1214

The basic idea is that ProtocolVersion is now its own type. This
alone is an improvement as it makes many things more typesafe. For
each version, we can now add breaking features (for example Fearless).
After that, there's no need to test against actual (confusing) version
numbers. Instead a developer can simply test
`protocolVersion->hasFearless()` and this will return true iff the
protocolVersion is newer than the newest version that didn't support
fearless.
2019-06-16 09:59:15 -07:00