Commit Graph

6730 Commits

Author SHA1 Message Date
Yichi Chiang 6b2f1abbf8 release 5.0.4 preparation 2017-08-28 16:02:31 -07:00
Yichi Chiang 9fe927127f choose leader on the perferred process class 2017-08-28 14:41:04 -07:00
Bhaskar Muppana 8ac750672b Make RestoreTag and RestoreTags classes generic to be used with Backup. 2017-08-28 11:28:19 -07:00
Alvin Moore 44e0df78c5 Added support for tracking roles for simulation workers
Fixed the exclusion and inclusion address simulation API and integration within workloads
Added more information within trace events for simulation
2017-08-28 11:25:37 -07:00
Alvin Moore 581bd6c8ed Added option to delay the displaying of the simulation workers 2017-08-28 10:53:56 -07:00
Stephen Atherton 14ef5bed42 Major bug fix. In certain situations, some mutations were being applied to two adjacent pages, which had a lot of crazy side effects. 2017-08-28 06:28:49 -07:00
Stephen Atherton d9136743f7 Bug fix, reformatted and cleaned up a lot of debug output. 2017-08-28 03:53:29 -07:00
Stephen Atherton 0fd57e9183 Many bug fixes. 2017-08-28 01:57:01 -07:00
Stephen Atherton 86d025f943 Bug fix: Metric base enabled state was not being initialized. Metrics are configured to be disabled upon construction, however if during construction it appears that a metric was initially enabled then a crash would result if the MetricsCollection global was not created. 2017-08-27 22:22:32 -07:00
Alec Grieser d5a198b547 Merge branch release-5.0' 2017-08-26 14:11:11 -07:00
Alec Grieser 300b5a17ed Merge branch 'release-5.0' 2017-08-25 18:55:33 -07:00
Alec Grieser dd635cb264 Merge branch 'release-5.0' of github.com:apple/foundationdb into release-5.0 2017-08-25 18:55:08 -07:00
Stephen Atherton 1070a5ed66 Several bug fixes. 2017-08-25 15:48:32 -07:00
Alec Grieser 9e2b0debcd made emboldening and capitalization consistent 2017-08-25 11:43:13 -07:00
Alec Grieser 9b10fb627c capitalize DEPRECATED 2017-08-25 11:39:08 -07:00
Alec Grieser fef18ee0a3 worked through some formatting issues 2017-08-25 11:38:21 -07:00
Alec Grieser 850ab5b64e MOAR NEWLINES 2017-08-25 11:36:33 -07:00
Alec Grieser 833c388d89 tried adding some newlines 2017-08-25 11:34:06 -07:00
Alec Grieser 9be6348580 added tuple spec to design section of repo 2017-08-25 11:30:46 -07:00
Evan Tschannen 272b4b984c fix: fixed a rare bug where we do not wait for a file in the process of being deleted to shutdown before rebooting a machine 2017-08-25 10:12:58 -07:00
Stephen Atherton 888093463b Checkpointing progress on large rewrite of how mutations are stored and applied. Not working yet. 2017-08-24 17:25:53 -07:00
Alec Grieser e31a7ff354 Merge branch 'release-5.0' 2017-08-24 17:07:35 -07:00
Alec Grieser 45ade048c4 use apple internal repos for node stuff 2017-08-24 16:30:39 -07:00
A.J. Beamon 45c0585891 Merge branch 'release-5.0' 2017-08-24 14:48:47 -07:00
Alec Grieser 63c2636ce5 Merge pull request #146 from cie/circus-retry-on-ssh-connection-closed
Retry SSH connections on connection failure
2017-08-24 14:23:08 -07:00
Alvin Moore 0c1be7537c Fixed OSX compilation warning about printf field value specification 2017-08-24 12:30:38 -07:00
A.J. Beamon 0d394a21fa Merge branch 'release-5.0' 2017-08-24 10:48:52 -07:00
Evan Tschannen 26a5b5e422 rollback workload now clogs the communication between one of the proxies and the tlogs, since that is what will cause a rollback 2017-08-23 16:08:13 -07:00
Alec Grieser b8c0b0e13f Merge branch 'release-5.0' 2017-08-23 15:53:58 -07:00
A.J. Beamon 4c706d33e9 Merge branch 'release-5.0' 2017-08-23 14:59:43 -07:00
Evan Tschannen be941b4bd1 sending void to committed could cause self to be deleted, so call cleanup before sending 2017-08-23 13:56:18 -07:00
Alvin Moore 7729f663e9 Ensured that the circus id is always lowercase 2017-08-23 13:45:00 -07:00
Evan Tschannen f9308b8fa6 Merge pull request #145 from cie/alexmiller/simrefactor
Refactor simulation to pull all configuration parameters into one struct.
2017-08-23 12:54:21 -07:00
Evan Tschannen 4b40f817f1 fix: is recovery is cancelled before the copy is complete, remove the tlog 2017-08-23 12:26:03 -07:00
Alec Grieser 2b678f6e91 Merge remote-tracking branch 'origin/release-5.0' 2017-08-23 10:24:23 -07:00
Alvin Moore 17c6392295 Added support for printing out information on the current simulation workers 2017-08-22 16:56:33 -07:00
Alvin Moore 8056b78414 Merge branch 'release-5.0' 2017-08-22 13:51:19 -07:00
Alvin Moore 814e471689 Added support for displaying initial workers via printf within simulation using a workload 2017-08-22 13:38:24 -07:00
Stephen Atherton 0b817f95f2 Bug fixes, but there’s still an issue with crossing page boundaries at the same key. 2017-08-22 11:30:44 -07:00
Alex Miller 7b78035365 Have SimulationConfig wrap DatabaseConfiguration to reduce code duplication.
This effectively turns initializing SimulationConfig into the equivalent of
building a config string and calling buildConfiguration on it.
2017-08-22 10:13:57 -07:00
A.J. Beamon ae56d8e111 Merge pull request #142 from cie/alexmiller/clicrash
Make fdbcli gracefully handle malformed and partial command errors.
2017-08-22 09:05:47 -07:00
Alex Miller 9b25c72971 Pull database config and cluster config into one struct.
This will allow us to specify custom situations to be chosen more frequently,
and in particular control machines and processes.
2017-08-21 22:35:44 -07:00
Stephen Atherton aff31b7f36 Checkpointing. Clears almost work, but two edge cases aren’t handled correctly yet involving range clears that must cross leaf page boundaries. 2017-08-21 22:29:57 -07:00
Alex Miller 0c7fd0a23d Unify and clarify interactive and --exec command error and parse error handling.
Previously, interactive execution and --exec used two models for how a failed
command would impact other commands in the execution.

As an example, consider:

    fdb> set foo bar ; set bar f\00 ; set baz foo

In interactive mode, this had the effect of {foo=bar, baz=foo}.
In --exec mode, this had the effect of {foo=bar}.

With this change, both now have the effect of {foo=bar}.  This is achieved by
prefixing the last parsed command, which is the one that had the error, with a
fake "parse_error" token.

The execution of this would now look like:

    ERROR: malformed escape sequence
    >>> set foo bar
    ERROR: Command failed to completely parse.
    ERROR: Not running partial or malformed command: set bar

Which indicates how much execution occurred and where it halted, identically in
both modes of execution.
2017-08-21 13:42:01 -07:00
Alec Grieser e94a1966c9 Merge branch 'release-5.0' 2017-08-17 11:29:45 -07:00
Alec Grieser 93cecd918f Merge branch 'release-5.0' 2017-08-16 13:28:16 -07:00
John Brownlee 48cddbe047 Merge remote-tracking branch 'origin/release-5.0' 2017-08-16 09:24:19 -07:00
Alex Miller d78b29625c Make fdbcli gracefully handle malformed and partial command errors.
Previously, running a command like `set \xffx\02abcded/` would cause a crash.
The `x\02` is a malformed typo of `\x02`, and the previously existing code to
handle this case looks like

    loop {
      err = parse_command
      if (err)  continue;
      // do things
    }

Thus, if we hit an error, we'd go back to the top of the loop, and try again.
This should be an infinite loop.  However, the actor compiler implementation of
loops involves function calls, so this actually turns into a series of the loop
head calling the loop body calling the loop head calling ... and we eventually
crash due to running out of stack.

This is now fixed by simply letting the code continue on to the check later
that does

    if (there was an error) {
      print nasty message
      return error
    }

With output that looks like

    ERROR: malformed escape sequence
    WARNING: the previous command failed, the remaining commands will not be executed.

And therefore the world becomes a happy place.
2017-08-15 17:49:39 -07:00
Alec Grieser 5ee07b1a9e Merge branch 'release-5.0' 2017-08-14 16:56:58 -07:00
John Brownlee 448fccbdaf Merge pull request #140 from cie/remove-wd40-refs
Remove wd40 refs
2017-08-14 10:22:52 -07:00