Commit Graph

2499 Commits

Author SHA1 Message Date
Evan Tschannen 7e68bee692 update better machine classes first to give them a higher chance of becoming the next cluster controller 2018-06-29 01:11:59 -07:00
Evan Tschannen e9ac8a1039 when the cluster controller is changing itself to a better dc fitness, it should notify itself first so another process does not take over 2018-06-29 00:10:29 -07:00
Evan Tschannen 899f880ce0 fix: log router class did not have the proper fitness for becoming the cluster controller 2018-06-28 23:20:01 -07:00
Evan Tschannen 02f616eb68 fix: consistency check was broken when the key server key space is sharded 2018-06-28 23:16:32 -07:00
Evan Tschannen a288d5b9a9 added a fallback satellite configuration, so that we can use two satellites if available, but do not have to failover to the remote datacenter if one satellite is down 2018-06-28 23:15:32 -07:00
Steve Atherton ddf1d15009
Merge pull request #543 from ajbeamon/fix-missing-trace-event-fields
The Machine field was missing in early trace events.
2018-06-28 16:02:11 -07:00
A.J. Beamon a680837ee4 The Machine field was missing in early trace events. The logGroup field was not being properly set. 2018-06-28 15:28:58 -07:00
A.J. Beamon 890b18505d
Merge pull request #542 from ajbeamon/master
Add missing include for Windows, remove throw from TraceEvent destructor.
2018-06-28 15:00:22 -07:00
A.J. Beamon 1ff42e078f Add missing include for Windows, remove throw from TraceEvent destructor. 2018-06-28 14:59:23 -07:00
Balachandar Namasivayam 8caa6eaecf
Merge pull request #541 from etschannen/feature-remote-logs
More multiple DC improvements
2018-06-28 11:22:08 -07:00
Evan Tschannen 45cf0067e4 fix: consistency check was not checking for data inconsistencies 2018-06-28 11:08:16 -07:00
A.J. Beamon 65e03555bc
Merge pull request #540 from ajbeamon/master
Add include statement for std::function to try to make Windows build happy.
2018-06-28 10:36:43 -07:00
A.J. Beamon 09624aeec9 Add include statement for std::function to try to make Windows build happy 2018-06-28 10:22:33 -07:00
Evan Tschannen a66eda8baa added the three_datacenter_fallback redundancy mode, which allows you to drop a down datacenter when configured in three_datacenter mode 2018-06-27 23:24:33 -07:00
Evan Tschannen 58c2f67ff6 checking outstanding requests can be CPU intensive, so rate limit checking requests 2018-06-27 23:02:08 -07:00
Evan Tschannen fb0d10635d the first location in a satellite team is the one that will serve peek requests. Make sure we probably balance peek traffic by having the first servers on each team be used an equal amount of times 2018-06-27 22:14:50 -07:00
Evan Tschannen a5b4698bc8 do not wait for good recruitment delay if the cluster controller is in the second best region 2018-06-27 21:05:55 -07:00
Evan Tschannen dd72379363 reduced the failure detection times 2018-06-27 20:41:18 -07:00
Evan Tschannen c74e43f2d0 fix: during upgrades, a storage server which does not have data for a shard could be in the source servers, so as a fallback if a fetch keys fails long enough disable locality based load balancing to allow the storage server to peek from someone different than itself 2018-06-27 20:35:51 -07:00
Alex Miller 70d078021f Implement prefix and suffix matching for TLS certificate verification.
This extends our language for specifying verification rules from, e.g.

    S.O=XYZCorp

to also include two more operators

    S.O>=XYZ  # Prefix
    S.O<=Corp # Suffix

both of which would match against an Organization of XYZCorp (among others).
2018-06-27 18:11:07 -07:00
Steve Atherton 2203ba6c8f
Merge pull request #539 from ajbeamon/backstop-trace-event-throttle-in-constructor
Move the spammy trace event backstop from the destructor to the const…
2018-06-27 16:30:02 -07:00
Alex Miller e39d2c702d Support Subject Alternative Name verification in TLS Plugin.
The TLS code understands three different things it can verify: the subject, the
issuer, and the root.  The existing code assumes that any attribute we can
verify against one of these is also verifyable against the others.

For Subject Alternative Name, this might not be true.  There exists both
Subject Alternative Name and Issuer Alternative Name.  This code change allows
one to write "I.subjectAltName=Foo", and we'll verifiy a Subject Alt Name
against the Issuer, which wouldn't be right.  Issuer Alternative Name isn't a
requested feature (yet?), so I'm punting on this problem.
2018-06-27 16:14:34 -07:00
A.J. Beamon ea8a288a20
Merge pull request #537 from apple/release-5.2
Merge Release-5.2 into master
2018-06-27 15:55:58 -07:00
A.J. Beamon cbc840ad0a Move the spammy trace event backstop from the destructor to the constructor. This allows us to avoid doing needless work on a trace event that is going to be throttled. 2018-06-27 15:51:30 -07:00
Alec Grieser ac9de812f4
Merge pull request #406 from ajbeamon/directory-tester-cleanup
Directory tester cleanup
2018-06-27 15:48:15 -07:00
Alex Miller 23b691b9c8
Merge pull request #536 from brownleej/ruby-doc-fixes-52
Add a documentation plugin for the formatting in our Ruby docs.
2018-06-27 15:40:08 -07:00
John Brownlee 9a51dec64e Add a documentation plugin for the formatting in our Ruby docs. 2018-06-27 14:58:34 -07:00
Steve Atherton cbcf5177eb
Merge pull request #429 from ajbeamon/trace-log-refactor
Trace log refactor
2018-06-27 14:52:09 -07:00
Alex Miller f6c6d79056
Merge pull request #534 from etschannen/feature-remote-logs
Durable known committed version was incorrect
2018-06-27 14:24:09 -07:00
A.J. Beamon d8ca7a766c Change tree node state to have references to parent nodes and update merge logic accordinly. 2018-06-27 14:12:51 -07:00
Alvin Moore 45849d1f95 Added support for no-op legacy TLS options 2018-06-27 09:25:05 -07:00
Alvin Moore f4937b261c Removed TLS target from packages 2018-06-27 07:50:26 -07:00
Alvin Moore c6e18f5b2b Removed TLS target
Changed TLS documentation to not specify it as a plugin but compiled in
2018-06-27 07:46:04 -07:00
Evan Tschannen 2987f85177 fix: known committed version must be updated before creating the tlogQueueEntryRef 2018-06-26 23:21:30 -07:00
Richard Low de00994b69 Correct the default peer verification in the docs 2018-06-26 19:07:07 -07:00
Evan Tschannen 00167b0157 renamed some uses of knownCommittedVersion to durableKnownCommittedVersion
epochEnd exclusively refers to the last version a set of logs is responsible for serving peek requests for
recoverAt and recoveredAt refer to the last committed version of the previous generation
2018-06-26 18:20:28 -07:00
Evan Tschannen 6e19622872 fix: durableKnownCommittedVersion was incorrect because we could update knownCommittedVersion before pushing a TLogQueueEntry with that known committed version 2018-06-26 18:02:55 -07:00
Alvin Moore 65d8b38ae9 Changed generic plugin code to work as expected plugin code except for TLS use case
Defined TLS plugin name constant
Changed TLS plugin name to get_tls_plugin
Fixed link script
Removed compilation flags from info make target
2018-06-26 16:01:25 -07:00
A.J. Beamon 1f0561a9c0 Missed a couple requested changes 2018-06-26 15:22:39 -07:00
A.J. Beamon a7158f96aa Address some review comments 2018-06-26 15:06:15 -07:00
A.J. Beamon 2ed452353f Merge branch 'release-5.2' into directory-tester-cleanup 2018-06-26 14:56:09 -07:00
A.J. Beamon fec225075f Merge branch 'master' into trace-log-refactor 2018-06-26 14:54:42 -07:00
Alvin Moore dd967bd9e2 Removed developmental debug messages 2018-06-26 14:44:21 -07:00
A.J. Beamon fe956bc35a Address review comments 2018-06-26 14:37:21 -07:00
Alvin Moore ef8de426d3 Changed the TLS_DISABLED macro
Disable TLS within Windows until working
2018-06-26 12:08:32 -07:00
A.J. Beamon 9f545ce002 Merge commit '892727e358c0b3f075564c60c2b7cedb64306f83' into trace-log-refactor 2018-06-26 11:37:23 -07:00
Drew Richardson efdca64f15 Avoid calls that can panic when handling errors 2018-06-26 08:23:48 -07:00
Alex Miller 4f6054a3e6
Merge pull request #530 from etschannen/feature-remote-logs
Bug fixes
2018-06-25 18:41:15 -07:00
Evan Tschannen c6313a79e3 fix: the cluster controller needs to continue to retry recruitment until after wait_for_good_remote_recruitment_delay 2018-06-25 18:20:16 -07:00
Evan Tschannen 1a8dac365d fix: poppedAllAfter was not set to a large enough version 2018-06-25 15:57:11 -07:00