This is safe when no backups are running. We can't run with
backup_worker_enabled:=1 and a running backup job, and then switch to
backup_worker_enabled:=0, because no backup workers will be available then.
It turns out that in rare situations, simulation can run into a case
where recovering to the point that tlog generations can be dropped takes
longer than 3s, and thus tests fail with an OOM as an ever increasing
number of tlogs are recruited and never removed.
It turns out that in rare situations, simulation can run into a case
where recovering to the point that tlog generations can be dropped takes
longer than 3s, and thus tests fail with an OOM as an ever increasing
number of tlogs are recruited and never removed.
This mega-commit introduces a new configuration setting, `log_version`,
that controls the TLog implementations and features that are available
within FDB, so that users can opt in to new features if they're willing
to sacrifice backwards compatibility.
Remove the use of relative paths. A header at foo/bar.h could be included by
files under foo/ with "bar.h", but would be included everywhere else as
"foo/bar.h". Adjust so that every include references such a header with the
latter form.
Signed-off-by: Robert Escriva <rescriva@dropbox.com>
This takes advantage of the new actorcompiler functionality to avoid
having duplicate definitions of `Void _` when trying to feed the
un-actorompiled source through clang.
* Detail names now all start with an uppercase character and contain no underscores. Ideally these should be head-first camel case, though that was harder to check.
* Type names have the same rules, except they allow one underscore (to support a usage pattern Context_Type). The first character after the underscore is also uppercase.
* Use seconds instead of milliseconds in details.
Added a check when events are logged in simulation that logs a message to stderr if the first two rules above aren't followed.
This probably doesn't address every instance of the above problems, but all of the events I was able to hit in simulation pass the check.