Commit Graph

2772 Commits

Author SHA1 Message Date
Evan Tschannen 8870e6a211 updated release notes for 6.0.8 2018-08-21 21:33:37 -07:00
Evan Tschannen d7c01f0419 added a separate knob for tlog’s recoverMemoryLimit 2018-08-21 21:11:23 -07:00
Evan Tschannen cb60002944 Added the ability to disable all commits which do not modify the system keys by setting \xff/onlySystem = 1 in the database 2018-08-21 21:09:50 -07:00
Evan Tschannen a694364a39 fix: teams larger than the storageTeamSize can never become healthy, so we do not need to track them in our data structures. After configuring from usable_regions=2 to usable_regions=1 we will have a lot of these types of teams, leading to performance issues 2018-08-21 21:08:15 -07:00
Alex Miller 944661fa9e
Merge pull request #720 from etschannen/master
better fix to the windows build
2018-08-21 15:11:08 -07:00
Alex Miller d2da969412 Improve TLS cert refresh logging.
Explicitly call out failure/success, and surface repeated cert
mismatches.
2018-08-21 15:05:41 -07:00
Alex Miller 4113b36df7 Loading a mismatching cert shouldn't prevent TLS connections.
set_{cert,key,ca}_data returns pass/fail and not throw.  The existing
code wrongly assumed that they threw.
2018-08-21 15:02:54 -07:00
Evan Tschannen 26ec6ebac8 fixed line endings 2018-08-21 14:58:26 -07:00
Evan Tschannen 712aa00261 a better fix to the windows build issue 2018-08-21 14:54:38 -07:00
Alex Miller 4caacaaf4e I would like to atone for my sins. But later.
This fixes the windows build.  For some reason, MSVC believes that the
actor-compiled version of networkSender actually exists, but the
non-actor-compiled version doesn't exist.

This is a hackish workaround, as the largest reason to not include a
.g.h file is because it defines a POST_ACTOR_COMPILER define that messes
with actorcompiler.h's #defines.  We can just undefine that after
including the file.   ...but carefully.
2018-08-20 20:33:38 -07:00
Alex Miller 3ece3cf301 Initialize the cached copy of ca/cert/key data.
This was just purely an accidental oversight from before.  The variables
were there and handled like they were actually initilized with the
contents of the various certificate files at start-up, but never
actually were.

And add a few trace events to make it easy to see when the system
noticed and tried to reload certificate data.
2018-08-20 19:09:34 -07:00
Alex Miller fd866a3b47 Open certificates as uncached, which means they can be write-protected.
OPEN_READONLY still opens the file as read-write.  To actually be
read-only, one needs to open the file as READONLY and UNCACHED.
2018-08-20 19:07:58 -07:00
Alec Grieser 11ab3bdb99
some go bindings README tweaks 2018-08-20 18:04:35 -07:00
Alec Grieser 74771c5b1d
switch to using new release branch convention for install script 2018-08-20 18:04:20 -07:00
Evan Tschannen d8ea3dbf9a Added the ability to configure a cluster from a JSON file 2018-08-16 17:34:59 -07:00
Alex Miller 0081add1ef Preparing branch for a future 6.0.8 2018-08-16 14:22:36 -07:00
A.J. Beamon 2a97139d5d This is the first step in eliminating the usage of database names in our code. The C API remains the same, but underneath that all usage of database names is eliminated. 2018-08-16 10:24:12 -07:00
Alex Miller b97b764514 Bump versions.target to 6.0.7 2018-08-15 20:12:10 -07:00
Alex Miller f363385676 Update versions on downloads page for 6.0.7 2018-08-15 19:59:38 -07:00
Alex Miller 1934750b3a Bump MSI GUID. 2018-08-15 19:59:37 -07:00
Alex Miller e366df9752
Merge pull request #711 from etschannen/release-6.0
Fixed inefficient method of serializing status
2018-08-15 19:47:00 -07:00
Evan Tschannen c950b4780a updated release notes for 6.0.7 2018-08-15 19:42:34 -07:00
Evan Tschannen e770629229 fix: json_spirit::write_string is very CPU intensive, especially for large JSON documents. The cluster controller would call this function for each status reply it needed to send, resulting in a slow task. 2018-08-15 19:39:06 -07:00
A.J. Beamon bc0832bb55 Deprecate TLS_plugin option. Don't remove deprecated methods from Go bindings, since that breaks compatibility with old API versions. 2018-08-15 10:11:08 -07:00
A.J. Beamon 3c03ddf91e Remove value logging for options. Add some additional logging for setting an external client library and setting knobs. 2018-08-15 09:42:49 -07:00
Evan Tschannen 4f1a84116d
Merge pull request #699 from alexmiller-apple/better-ide-support
Allow IDEs to better understand and analyze the FDB codebase
2018-08-14 16:15:11 -07:00
Alex Miller c9a07937a2 Fix the last `Void _ = wait(...)` before merging. 2018-08-14 16:00:31 -07:00
Alex Miller 499560097f Fix CXXFLAGS being set for .c files in compile_commands.json 2018-08-14 15:50:26 -07:00
Alex Miller 0b4c06169b Convert tabs to spaces in ActorParser 2018-08-14 15:50:26 -07:00
Alex Miller 63b1e85338 Ban `Void _ = wait(...)` constructions, and require just `wait(...)`.
There's never any reason to save the value of a Void return, and it's
the easiest source of redefined variable bugs that will creep back in
over time.  So just `wait(...)`, it's cleaner that way.
2018-08-14 15:50:26 -07:00
Alex Miller 86dbe1f0e9 Fix more instances of actorcompiler.h being in the wrong place. 2018-08-14 15:50:26 -07:00
Alex Miller 74a9d2f836 Remove a couple more `Void _ = wait`s that crept in from rebase. 2018-08-14 15:50:26 -07:00
Alex Miller 809b2ecdd7 Add a missing #include <algorithm> to flow/Util.h 2018-08-14 15:50:26 -07:00
Alex Miller 7feb5d8209 Remove including flow.h in actorcompiler.h, and fix resulting breakage.
For files that required flow.h, and only got it through actorcompiler.h,
their version of flow.h would have the actorcompiler #defines defined.
Then, if it included a STL/boost file, the same breakage would result.

This needs to not happen, so the include of flow.h in actorcompiler.h
was removed.
2018-08-14 15:50:26 -07:00
Alex Miller bca324eaa6 More actorcompiler.h fixes and additions. 2018-08-14 15:50:26 -07:00
Alex Miller fb31a6999f Rewrite all files to have #include actorcompiler.h as the last include. 2018-08-14 15:50:26 -07:00
Alex Miller 9bcc7685d2 Add creating compile_commands.json to the build system.
I'm really not proud of how I did this though.

It must be run from the same environment as one's editor (ie. not in the
docker image) so that the paths are correct.
2018-08-14 15:50:26 -07:00
Alex Miller 69aa33eed5 Fix a case of a bool being used as an integer. 2018-08-14 15:50:26 -07:00
Alex Miller 6e7f8da694 Add includes for missing definitions of size_t and uint32_t. 2018-08-14 15:50:26 -07:00
Alex Miller 3a0366d4c5 Add clang as a supported compiler. 2018-08-14 15:50:26 -07:00
Alex Miller 07e5281142 Restrict actor keyword #defines to actor files.
This introduces a new rule in our codebase, that any file that #includes
actorcompiler.h needs to do it as the last #include, and it needs to
then #include unactorcompiler.h at the end of the file.

The point of this is that it prevents our actorcompiler.h #defines from
leaking into boost or the c++ standard library.  Both of these start
throwing errors if you s/state// their code, which `#define state `
effectively does.
2018-08-14 15:50:26 -07:00
Alex Miller 805781ed32 Forward declare instead of #include in actorcompiler.
For some reason, clang thinks that the #ifndef's aren't matched by
 #endif's if we #include "flow.h" in the middle.  Regardless, it's
better for compile time slightly to forward declare, so let's just do
that anyway.

It also maybe gets us away from a weird
actorcompiler.h -> flow.h -> genericactor.actor.h -> actorcompiler.h
circular include.
2018-08-14 15:50:26 -07:00
Alex Miller 535b5701e5 Rewrite all `Void _ = wait(...)` -> `wait(...)`.
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.
2018-08-14 15:50:26 -07:00
Alex Miller 1901be1e63 Allow `wait()` instead of `Void _ = wait()`. 2018-08-14 15:49:47 -07:00
Alex Miller 848ebcb4e5
Merge pull request #702 from pzmarzly/patch-1
Fix broken link in documentation
2018-08-14 13:11:43 -07:00
Evan Tschannen b7e08377b4
Merge pull request #707 from ajbeamon/remove-non-network-thread-suppressions
Remove suppressions happening off the network thread
2018-08-14 11:03:16 -07:00
Evan Tschannen f51d0ea020
Merge pull request #708 from etschannen/master
Merge 6.0 into master
2018-08-14 09:44:58 -07:00
Evan Tschannen cdcf056aef Merge branch 'release-6.0' 2018-08-14 09:43:51 -07:00
A.J. Beamon 168dce94cb Remove some trace event suppressions that were happening off the network thread. Downgrade some trace events related to trace logging problems from SevError to SevWarnAlways. 2018-08-14 09:00:43 -07:00
AlvinMooreSr de396d15f2
Merge pull request #706 from AlvinMooreSr/release-6.0.6
Release 6.0.6 prerequisite changes
2018-08-14 08:08:10 -04:00