Commit Graph

18793 Commits

Author SHA1 Message Date
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
John Brownlee 62990fd8a4 Merge pull request #139 from cie/exclusion-free-space-calc
change exclusions so that they calculate free space based on storage …
2017-08-14 10:18:24 -07:00
Evan Tschannen de1b590a8a The TLog did not delete data from removed logs
The TLog continued to make data from removed logs persistent
2017-08-11 18:08:09 -07:00
John King f6d282e66a change exclusions so that they calculate free space based on storage servers only 2017-08-11 17:20:28 -07:00
Stephen Atherton 50fb44be92 Merge branch 'release-5.0'
# Conflicts:
#	versions.target
2017-08-09 23:36:12 -07:00
Stephen Atherton 8cd43692bf Update versions.target for next release. 2017-08-09 23:34:14 -07:00
Stephen Atherton 4b8e2adb8e Updated WIX Installer GUID. 2017-08-09 23:24:05 -07:00
Stephen Atherton 95cd5dc3a2 Updated installer package GUID, updated docs for 5.0.3. 2017-08-09 22:29:02 -07:00
Evan Tschannen 2335fc73f2 fix: peek cursors were being timed out every 10 minutes, instead of 10 minutes after the last use
fix: if an interface is changed while we are not waiting in getMore, we will not reset the sequence to 0.
2017-08-09 15:58:06 -07:00
A.J. Beamon f8be643662 Merge branch 'release-5.0' 2017-08-09 15:30:43 -07:00
A.J. Beamon 29a38d1a51 Add warning that the slow task profiling network option is not recommended for use in production. 2017-08-09 14:39:05 -07:00
A.J. Beamon 2c3920c7b3 Merge branch 'release-5.0' of github.com:apple/foundationdb into release-5.0 2017-08-09 14:36:34 -07:00
A.J. Beamon 853a98053c Move some memory related activities outside of the timed block 2017-08-09 14:36:19 -07:00
Alec Grieser 677cf10168 Merge branch 'release-5.0' 2017-08-09 12:00:52 -07:00
Alec Grieser d608152069 fdbversion -> 5.0.3 after downgrade to 5.0.2 for docs publish 2017-08-09 11:59:20 -07:00
Alec Grieser a576b9c8a8 Merge branch 'release-5.0' of github.com:apple/foundationdb into release-5.0 2017-08-09 11:40:45 -07:00
Alec Grieser 9df8c266e9 fix docs links for 5.0.2 2017-08-09 11:40:42 -07:00
A.J. Beamon cf1d65f5fd Merge branch 'release-5.0' 2017-08-09 10:52:10 -07:00
A.J. Beamon 9ce8d3ae4f Merge branch 'release-5.0' 2017-08-09 10:37:43 -07:00
Yichi Chiang aac82074af Avoid calling setCachedLocation twice 2017-08-08 10:03:04 -07:00
A.J. Beamon 5a8cd34224 Disable profiling if we aren't using the cached dl_iterate_phdr values. 2017-08-08 09:03:04 -07:00
Balachandar Namasivayam e767860010 Addressed review comments.
Changed current protocol version to match master
Added operation details for operations that failed.
2017-08-07 18:45:42 -07:00
A.J. Beamon c7402eb10c fix: call initSignalSafeUnwind in fdbcli and backup to avoid hangs in slow task profiling. 2017-08-07 15:55:08 -07:00
Evan Tschannen 47a37f3f1e Merge pull request #135 from cie/switch-for-data-distribution
Add a switch to turn off data distribution in CLI
2017-08-07 12:54:08 -07:00
Alvin Moore 0e38063038 Added min version compilation option for OS X 2017-08-07 11:56:12 -07:00
Alec Grieser baa9998e4d Merge branch 'release-5.0' 2017-08-07 10:44:04 -07:00
A.J. Beamon 47b4a81710 Merge pull request #136 from cie/circus-c-perf-tests
<rdar://problem/33247796> 🎪 C perf test in circus
2017-08-07 10:00:34 -07:00
Alec Grieser 2499aac09d for once, a whitespace change 2017-08-07 09:51:53 -07:00
Stephen Atherton de03491475 Switched to new commit buffer type which can support more than set, but so far only set is implemented. 2017-08-04 00:01:25 -07:00
Evan Tschannen c22708b6d6 added tag localities
fix: remote logs need to stop the master when they are stopped
2017-08-03 16:16:36 -07:00
A.J. Beamon 03915ce4ea Merge branch 'release-5.0' 2017-08-03 15:49:54 -07:00
A.J. Beamon f66e22c89d fix: machine metrics could sometimes default to 0, which cause underflows when compared with prior results. 2017-08-03 15:49:30 -07:00
Stephen Atherton dbcd3526d7 Memory lifetime bug fix and previously missed changes for enforcing only reading committed versions. 2017-08-03 15:07:29 -07:00
Alec Grieser ca7437ecf6 Merge branch 'release-5.0' 2017-08-02 22:07:01 -07:00
Alec Grieser b8b61a66b3 maybeLogError uses logError ; FDB_API_VERSION defined in test.h 2017-08-02 21:58:51 -07:00
Alec Grieser 604be02f62 spaces to tabs 😢 2017-08-02 21:55:36 -07:00
Alec Grieser 646bb0725d Merge pull request #134 from cie/alexmiller/sidechanges
Assorted mostly docker/gdb related changes for dev workflow
2017-08-02 14:19:36 -07:00
Balachandar Namasivayam 3e90fdfae7 Added extra client transactional profiling info
1) Key has been added to GET
2) KeyRange has been added to GETRANGE
3) ReadConflict, WriteConflict, Mutation info has been added to COMMIT
2017-08-01 18:33:39 -07:00