Evan Tschannen
e17dfea3b6
fix: desiredTLogCount was used instead of getDesiredLogs(), which caused problems with recruitment when desiredTLogCount was -1.
...
canKillProcess logic was wrong.
We still need to configure usable_regions because if datacenterVersionDifference is too large we cannot complete data movement.
2018-07-04 16:22:32 -04:00
Alex Miller
01659e34cc
Move TLS libs into STATIC_LIBS to avoid having a make dependency on them.
...
And fix STATIC_LIBS to be cross platform.
2018-07-04 00:29:53 -07:00
Evan Tschannen
ea3365dc38
fix: quiet database only needs to use repopulate_anti_quorum instead of reducing usable_regions
2018-07-04 02:52:00 -04:00
Evan Tschannen
66a6fbb219
Merge branch 'master' into feature-remote-logs
2018-07-04 01:59:30 -04:00
Evan Tschannen
866ccfe344
added the ability to allow the master to finish recovery before all storage servers in both regions have their mutations. This allows you to recover from scenarios where you lose all your tlogs in one dc.
2018-07-04 01:59:04 -04:00
Alex Miller
77aecd3900
Merge pull request #559 from bnamasivayam/force-recovery-hidden-command
...
Add force_recovery_with_data_loss to hidden command list.
2018-07-03 15:51:13 -07:00
Alex Miller
78c23e4e1e
Merge pull request #558 from AlvinMooreSr/tls-init
...
Fixed problem with stack initialization of TLS Options class
2018-07-03 15:50:33 -07:00
Balachandar Namasivayam
cbdf598fa2
Add force_recovery_with_data_loss to hidden command list.
2018-07-03 15:04:11 -07:00
Alvin Moore
9ea0f0a5ae
Fixed problem with stack initialization of TLS Options class
2018-07-03 15:02:53 -07:00
Alex Miller
37f0e4be09
Merge pull request #557 from AlvinMooreSr/tls-build
...
Added support for specifying location of LibreSSL libraries via defin…
2018-07-03 13:08:02 -07:00
Balachandar Namasivayam
af07a3782f
Merge pull request #556 from etschannen/feature-remote-logs
...
Attempted to fix force recovery
2018-07-03 10:51:45 -07:00
Evan Tschannen
c69d6166e3
another attempt at forced recovery
2018-07-03 13:42:58 -04:00
Alvin Moore
ab255b444f
Added support for specifying location of LibreSSL libraries via define TLS_LIBDIR
2018-07-03 09:01:01 -07:00
Evan Tschannen
57a8c6862e
fix: force recovery did not work if the latest log set did not recover th
2018-07-02 23:48:22 -04:00
Evan Tschannen
88ddc1c228
Merge branch 'master' into feature-remote-logs
2018-07-02 22:36:23 -04:00
Evan Tschannen
9eb8dc3a59
fix: previous attempt at force recovery did not work because we need to treat the remote logs as local for peeking
2018-07-02 22:35:18 -04:00
Alex Miller
29f560bafe
Fix a warning-turned-error about not returning from an unreachable point.
2018-07-02 14:31:06 -07:00
Evan Tschannen
b635d40a8f
Merge pull request #553 from etschannen/feature-remote-logs
...
Minor bug fixes and improvements
2018-07-02 10:10:52 -07:00
Evan Tschannen
f2ec80f10d
added trace events for cluster controller changing datacenters
2018-07-02 13:06:54 -04:00
Evan Tschannen
604b3bca17
increased the api correctness timeout
2018-07-02 12:51:50 -04:00
Evan Tschannen
334a433238
spend less time before using satellite fallback, because the database will be unavailable during this waiting time
2018-07-02 12:50:52 -04:00
Evan Tschannen
89a4b2cd68
fix: consistency check could loop too long
2018-07-02 12:08:02 -04:00
Steve Atherton
abb5100388
Merge pull request #550 from etschannen/feature-remote-logs
...
Fixed a variety of problems found by Valgrind, and added the untested ability to do an ACI recovery
2018-07-02 00:00:46 -07:00
Evan Tschannen
e67f951c06
Merge branch 'master' into feature-remote-logs
2018-07-02 02:18:20 -04:00
Evan Tschannen
d3e1067d31
Merge pull request #508 from AlvinMooreSr/tls-static
...
Added support for compiling TLS into binaries
2018-07-01 23:17:03 -07:00
Alvin Moore
c3f88dbfe1
Merge branch 'master' of github.com:apple/foundationdb into tls-static
2018-07-01 23:13:57 -07:00
Alvin Moore
132e2d9267
Defined TLS build flags for projects
...
Updated TLS documentation
2018-07-01 22:49:39 -07:00
Alec Grieser
be873001cc
Merge pull request #532 from drew-richardson/master
...
Avoid calls that can panic when handling errors
2018-07-01 21:54:18 -07:00
Evan Tschannen
b24e272394
Merge branch 'master' into feature-remote-logs
2018-07-02 00:07:25 -04:00
Evan Tschannen
3c9f3da980
fix: usable regions cannot be changed during an emergency transaction, because it could lead to all storage servers dying if the previous primary is dead
2018-07-01 23:59:06 -04:00
Evan Tschannen
73e61312c6
fix: shareLogRange was never initialized
2018-07-01 22:49:24 -04:00
Evan Tschannen
21d03cd1eb
fix: we must store the result of range reads before iterating through the results
2018-07-01 21:07:25 -04:00
Evan Tschannen
5054c194e2
Some trace events are logged before FLOW_KNOBS are initialized
2018-07-01 14:30:37 -04:00
Evan Tschannen
7a12d3e130
added the (untested) ability to force a recovery to the remote datacenter, even if that results in data loss. If the DR lag is more than 1 week there could be potential data corruption if any primary storage servers are still alive.
2018-07-01 09:39:04 -04:00
Steve Atherton
7f6bced835
Merge pull request #538 from alexmiller-apple/tlsplugin_san
...
TLS certificate handling enhancements
2018-07-01 01:50:58 -07:00
Steve Atherton
b17c8359ec
Merge pull request #549 from apple/release-5.2
...
Merge release-5.2 into master
2018-06-30 22:50:07 -07:00
Alec Grieser
45c0f01f05
Merge pull request #547 from satherton/fix-macos-aligned-allocation-bug
...
Crash fix on MacOS with aligned memory allocation of small types.
2018-06-30 22:14:33 -07:00
Stephen Atherton
3d32fc4e5d
Reduced MacOS aligned_alloc fix to the most minimal change which fixes the crash while not technically changing the aligned_alloc() contract. The previous version allowed new bad behavior (a non power of 2 alignment less than sizeof(void *)) to succeed and it also would throw an exception on failure instead of just returning nullptr as the other platform implementations would.
2018-06-30 21:37:32 -07:00
Alec Grieser
ddcf5955e8
Merge pull request #548 from satherton/fix-shardinfo-link-mishap
...
Two structs named ShardInfo in one namespace (but different scopes) results in incorrect linking
2018-06-30 18:59:08 -07:00
Stephen Atherton
5a84b5e1ef
Renamed ShardInfo to avoid a name conflict which sometimes causes the wrong destructor to be used at link time.
2018-06-30 18:44:46 -07:00
Stephen Atherton
3f57d0226c
Crash fix on MacOS. Aligned_alloc() would silently fail for alignments less than 8, which happen in Deque<T> for small T's such as Void or Error.
2018-06-30 17:16:19 -07:00
Steve Atherton
b506361c94
Merge pull request #546 from alecgrieser/fix-docs-build
...
Fix documentation build
2018-06-30 16:43:09 -07:00
Alec Grieser
7cb12c1439
switch module name of ruby domain to sphinxcontrib.rubydomain
2018-06-30 13:26:12 -07:00
Evan Tschannen
b42e0541eb
Merge pull request #545 from etschannen/feature-remote-logs
...
Fixed a few problems with the consistency check
2018-06-30 10:40:55 -07:00
Evan Tschannen
4a3247da69
fixed a few problems with the consistency check
2018-06-30 10:39:28 -07:00
Alex Miller
0f70f0435b
Merge pull request #535 from richardalow/default-peer-verification-docs-fix
...
Correct the default peer verification in the docs
2018-06-29 19:01:18 -07:00
Alex Miller
fa910d5755
Update the TLS certificate verification documentation.
...
Included is:
* Updating the fields supported to include UID and DC, from a previous change.
* Including a description of the operators supported and explaining
prefix/suffix matching.
* Including a description of Subject Alternative Name matching.
And reworking the examples section to make it clear what a certificate would
look like and how we would then handle and validate it.
2018-06-29 17:18:40 -07:00
Alex Miller
44694607e8
Fix Subject Alternative Name matching and add test cases.
...
The previous change was done in the optimistic hope that NID_subject_alt_name
could be handled in the same fashion as all the rest of the attributes we match
against. However, X509 is not a place for optimisim. Instead, it turns out
that the Subject Alternative Name is an X509v3 extension, and needs to be
handled separately.
Therefore, this change...
* Introduces the idea of Criteria matching against a location in the
certificate, and not just against the entirety of the certificate.
* Extracts the Subject Alternative Name extension, and allows iteration and
matching against its components.
* Extends our constraint language to sensibly match against SubjectAlternativeNames.
The `S.subjectAltName` syntax has been kept, but the value is now required to
provide what type of field the rest of the value is intended to match against.
The code currently supports DNS, EMAIL, URI, and IP. Prefix and suffix
matching is supported.
Both verify-test and plugin-test were updated to cover Subject Alternative Name
matching. I've additionally run plugin-test under valgrind to verify that I've
understood object lifetimes correctly.
2018-06-29 17:17:58 -07:00
Evan Tschannen
1f02bdee0a
do not buggify future version delay, because remote storage servers will be delayed getting data so they need additional time
2018-06-29 11:29:22 -07:00
Balachandar Namasivayam
899f8d8f4d
Merge pull request #544 from etschannen/feature-remote-logs
...
Reduce the number of cluster controller changes during a DC failover
2018-06-29 10:47:04 -07:00