Commit Graph

559 Commits

Author SHA1 Message Date
Xin Dong ac02329d7d Added a command in fdbcli to allow user to manually trigger the detailed teams info loggings in data distributor 2020-12-03 14:42:30 -08:00
sfc-gh-tclinkenbeard b1e3478267 Simplified global knobs 2020-11-21 13:27:48 -08:00
sfc-gh-tclinkenbeard 4669f837fa Add uses of makeReference 2020-11-07 22:10:18 -08:00
sfc-gh-tclinkenbeard a9607bdcec Explicitly seal classes that inherit but aren't inherited from 2020-10-07 21:58:24 -07:00
sfc-gh-tclinkenbeard 8571dcfe28 Use override where applicable in fdbserver 2020-10-07 18:41:19 -07:00
Markus Pilman 268ba0bddc Merge remote-tracking branch 'origin/release-6.3' into merge-6.3 2020-10-01 14:14:06 -06:00
Evan Tschannen 1a28520eb4 fix: fdbcli would double count satellite DCs 2020-09-30 17:42:22 -07:00
Balachandar Namasivayam c7a55fe15f
Merge pull request #3829 from yliucode/process-class
Support specifying proxy as process class and converting it to commit proxy
2020-09-30 16:46:24 -07:00
Young Liu 0c579674e6 Add more help messages for configuring 'proxies' 2020-09-30 13:29:01 -07:00
sfc-gh-tclinkenbeard 6c726ba8dd Improve ConfigurationResult and CoordinatorsResult type safety 2020-09-27 15:29:15 -07:00
sfc-gh-tclinkenbeard 4dda6f4163 Replace NULL with nullptr in fdbcli 2020-09-20 11:33:17 -07:00
Meng Xu cf69f455a9
Merge pull request #3785 from apple/release-6.3
Merge Release 6.3 to master
2020-09-17 14:43:56 -07:00
Young Liu cc5bc16bd8 Rename more places from proxy to commit proxy 2020-09-15 22:29:49 -07:00
Young Liu 35bef73a1c Rename proxy to commit proxy 2020-09-10 17:44:15 -07:00
Young Liu 1867ee1f5f Change cli output format 2020-09-09 22:34:36 -07:00
Young Liu 1615bd1a1d minor improvement 2020-09-09 13:57:26 -07:00
Young Liu 1155d015c9 fetch current log generation as well 2020-09-09 11:54:58 -07:00
Young Liu 63b3612ad5 Merge master branch and resolve conflicts 2020-08-24 16:42:31 -07:00
XiaoxiWang d8a508ce7e fix command line parse 2020-08-21 17:49:21 +00:00
XiaoxiWang 9398a78a3a add busy-read count and busy-write count to status json 2020-08-21 04:50:56 +00:00
XiaoxiWang 7dcce6979e format 2020-08-20 07:00:37 +00:00
XiaoxiWang 0945959a35 add fdbcli support to list recommended tags 2020-08-20 06:26:31 +00:00
Young Liu 79ce16650d merge master branch 2020-08-11 19:22:10 -07:00
Jon Fu a707227092 initial commit to add cache_range to fdbcli 2020-08-06 12:23:31 -04:00
Young Liu d6a23a4d6b Resolve comments to make GRV proxy a separate process class 2020-08-06 00:01:57 -07:00
Meng Xu 62a6e71626
Merge pull request #3591 from apple/release-6.3
Merge Release 6.3 to master
2020-08-02 12:45:02 -07:00
Andrew Noyes 87098afdb4 Add braces around ifs 2020-08-02 17:26:35 +00:00
Andrew Noyes 2d0449dcd6 RebootRequest uses seconds, not ms 2020-08-02 02:19:09 +00:00
Chaoguang Lin de3f243dc1 Fix \xff\xff/worker_interface call in fdbcli 2020-08-01 01:59:48 -07:00
Chaoguang Lin 29f4381c01 Deprecate \xff\xff/suspend in 7.0 2020-08-01 01:09:45 -07:00
Chaoguang Lin d9e5d65aaf Merge remote-tracking branch 'upstream/master' into add-management-api-into-special-key-space 2020-08-01 00:31:26 -07:00
Chaoguang Lin fbe36ced23 Rewrite all \xff\xff/reboot_worker call 2020-07-31 16:33:16 -07:00
Chaoguang Lin 05a0a47824 throw actor_cancelled error 2020-07-30 22:15:22 -07:00
Andrew Noyes 29e328cf32 Use addressExcluded to compare exclusions and addresses
Don't convert the exclusion to a NetworkAddress use operator==, since that's problematic for two reasons:

1. The network address of the not-yet-excluded server might compare differently due to flags like private or public
2. The network address of the not-yet-excluded server will never compare equal to a whole-machine exclusion
2020-07-27 18:52:07 +00:00
Andrew Noyes 09cf3e2883 Revert "Use IPAddress instead of NetworkAddress for exclude"
This reverts commit 331ee4dab4.
2020-07-27 18:38:57 +00:00
Andrew Noyes 331ee4dab4 Use IPAddress instead of NetworkAddress for exclude
NetworkAddress has other fields like flags that aren't relevant for
exclude. Network addresses with equal ip addresses not comparing equal
appears to be the cause of #3565
2020-07-27 05:40:14 +00:00
Evan Tschannen e1dedff7b3 Merge branch 'release-6.2' into release-6.3
# Conflicts:
#	CMakeLists.txt
#	bindings/c/test/mako/mako.c
#	cmake/ConfigureCompiler.cmake
#	documentation/sphinx/source/downloads.rst
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/FileBackupAgent.actor.cpp
#	packaging/msi/FDBInstaller.wxs
#	versions.target
2020-07-24 12:10:44 -07:00
Evan Tschannen 5a8a8153ce updated documentation 2020-07-23 11:22:16 -07:00
Evan Tschannen f5e7ee23a8 updated text of fdbcli output 2020-07-23 11:09:59 -07:00
Young Liu 229ab0d5f1 Fix some conflicts and remote debugging trace events 2020-07-22 23:35:46 -07:00
Evan Tschannen 49bf42e66a added the ability to suspend processes from fdbcli 2020-07-22 16:37:00 -07:00
Young Liu 302cf5c45f Remove debug trace events 2020-07-22 12:20:22 -07:00
Young Liu 5b06d69d25 Pass watches test 2020-07-15 00:37:41 -07:00
A.J. Beamon cff0c485b0 Update a comment to remove use of word blacklist 2020-06-15 15:27:35 -07:00
A.J. Beamon e10704fd76 Cherry-pick region related status changes from 6.3 2020-06-09 14:56:21 -07:00
A.J. Beamon 57390bfbc5
Merge pull request #3263 from apple/release-6.2
Merge release-6.2 into release-6.3
2020-05-28 14:14:38 -07:00
A.J. Beamon 382666d21e Permissions were wrong on installed files. A missing DESTINATION for fdbserver caused the binary to be missing. 2020-05-28 10:33:09 -07:00
A.J. Beamon b3c269351a
Merge pull request #3252 from apple/release-6.2
Merge release-6.2 into release-6.3
2020-05-27 19:13:24 -07:00
A.J. Beamon 96f396ec7f Make sure to build the binary stripping targets when packaging stripped binaries 2020-05-27 16:40:07 -07:00
A.J. Beamon 12225c0f46 Adopt consistent use of ... for repeating arguments 2020-05-27 15:27:47 -07:00
A.J. Beamon a632b26beb Add documentation for several fdbcli commands that were present in fdbcli help but were not in our online documentation. 2020-05-27 13:29:01 -07:00
A.J. Beamon d6be580319 Merge branch 'release-6.2' into merge-release-6.2-into-release-6.3
# Conflicts:
#	documentation/sphinx/source/command-line-interface.rst
#	documentation/sphinx/source/release-notes.rst
#	fdbcli/fdbcli.actor.cpp
2020-05-27 11:42:27 -07:00
A.J. Beamon e4b1489a0e
Merge pull request #3202 from ajbeamon/cmake-use-stripped-binaries-for-packages
cmake: use stripped binaries for packages unless generating debug packages
2020-05-27 11:36:38 -07:00
A.J. Beamon 1f1a8df7ef Auto completion for "throttle disable auto" were wrong because of logical operator grouping problems. 2020-05-22 09:48:53 -07:00
A.J. Beamon 2f9cd383ea Use stripped executables in packages when not building with debug symbols. 2020-05-21 13:39:55 -07:00
tclinken 3a8efb2d0b Added advanceversion command to fdbcli 2020-05-20 15:47:31 -07:00
tclinken 40aec61d30 Added fdbcli getversion command 2020-05-20 15:47:30 -07:00
tclinken 4f5bf41ed8 Print explanation when fdbcli unlock fails 2020-05-20 15:47:30 -07:00
tclinken 9c6bec1af6 Add unlock command to fdbcli 2020-05-20 15:47:30 -07:00
tclinkenbeard b3aa54e7eb Add lock command to fdbcli 2020-05-20 15:47:30 -07:00
A.J. Beamon cc4874918a Merge branch 'release-6.3' into tag-throttling-by-priority
# Conflicts:
#	fdbserver/Ratekeeper.actor.cpp
2020-05-20 14:26:35 -07:00
Evan Tschannen a3d4f3f4de
Merge pull request #3175 from ajbeamon/fdbcli-throttle-improve-hints-and-completion
Better hint and completion help with throttle command in fdbcli
2020-05-20 14:25:03 -07:00
A.J. Beamon b589c3c940 Remove IncludeVersions.h, which is no longer needed for cmake-only builds 2020-05-20 13:23:02 -07:00
A.J. Beamon 14b23c146f Support throttling and unthrottling tags by priority and their auto/manual state in fdbcli. 2020-05-15 12:47:55 -07:00
A.J. Beamon f1477b09e9 Better hint and completion help with throttle command in fdbcli. 2020-05-14 16:04:03 -07:00
Andrew Noyes 8bd5dcaff8 Merge branch 'master' into atn34/special-key-versioning 2020-05-09 15:34:20 -07:00
Andrew Noyes a7c21cdadd Use new worker_interfaces key range in fdbcli 2020-05-08 05:37:37 +00:00
A.J. Beamon b1055a8501 Merge branch 'master' into transaction-tagging 2020-05-05 16:03:39 -07:00
Alex Miller 78d644f673
Merge branch 'master' into bugfixes/cmake-includes 2020-05-04 02:11:46 -07:00
A.J. Beamon decf3e82b0 Fix various bugs and make sure to cleanup throttles from the database when they expire 2020-05-01 21:36:28 -07:00
A.J. Beamon 41c517a5dd Merge branch 'master' into transaction-tagging
# Conflicts:
#	fdbclient/NativeAPI.actor.cpp
2020-04-27 13:05:24 -07:00
A.J. Beamon 239876351b Add some initial auto-throttling. Move the definition of the priority enum to a more global place and use it for all transaction priorites (except in ClientLogEvents, because of serialization incompatibilites). 2020-04-24 11:31:16 -07:00
A.J. Beamon 35c18ac60a Improvements to expiration. Encode throttles with auto/manual and priority in the key to support throttling the same tag with different values in these parameters. 2020-04-23 20:50:40 -07:00
A.J. Beamon f1dd0ee298 Protect against a ratekeeper starting up with a clock set in the past (compared to old ratekeeper) extending the duration of throttles excessively. 2020-04-21 16:35:25 -07:00
A.J. Beamon 78d48a0dad Merge branch 'master' into transaction-tagging
# Conflicts:
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/Knobs.h
#	fdbclient/NativeAPI.actor.cpp
#	fdbclient/fdbclient.vcxproj
#	fdbserver/MasterProxyServer.actor.cpp
2020-04-17 09:23:18 -07:00
A.J. Beamon 2b66dcd24a Some more refactoring. Reduce what is sent from RK->MP->clients 2020-04-17 08:07:01 -07:00
A.J. Beamon 0fba8c47be Checkpoint: Ratekeeper sets absolute limits for tag throttles and enforces them by distributing requests to proxies, who distribute them to clients.
A few refactorings.
2020-04-16 14:43:22 -07:00
tclinken 93400d25c8 Added advanceversion command to fdbcli 2020-04-15 20:01:01 -07:00
A.J. Beamon bcb0a4cc78
Merge pull request #2890 from tclinken/expose-lock-fdbcli
Add lock and unlock commands to fdbcli
2020-04-10 13:54:47 -07:00
A.J. Beamon 7f3fa00897 Reorganize a bit of code. 2020-04-10 13:53:23 -07:00
A.J. Beamon 55a0d00ad4 Encoding of tags in the database now supports multiple tags per throttle. Remove throttle prefix search. 2020-04-10 10:12:26 -07:00
tclinken b44105b54c Print explanation when fdbcli unlock fails 2020-04-08 16:38:30 -07:00
A.J. Beamon af4e0088ba
Merge pull request #2896 from tclinken/atomically-update-dependent-knobs
Atomically update dependent knobs
2020-04-08 15:00:49 -07:00
tclinken 52860043c9 Merge remote-tracking branch 'origin' into atomically-update-dependent-knobs 2020-04-08 12:26:21 -07:00
A.J. Beamon 36da61dd9c Merge branch 'master' into transaction-tagging
# Conflicts:
#	fdbclient/NativeAPI.actor.cpp
#	fdbclient/vexillographer/fdb.options
2020-04-07 21:12:14 -07:00
A.J. Beamon a1d8623e5f Various changes to the throttling scheme, including most notably that clients now enforce the throttles with info they receive from the proxy. 2020-04-07 16:28:09 -07:00
Markus Pilman d4542dbb5a Delete old build system 2020-04-07 11:03:45 -07:00
Markus Pilman e4611e8ae4 fix versions.h stupidity 2020-04-06 10:28:55 -07:00
Markus Pilman 8b5780c36c don't include source and binary dir
This forces users to use include paths from the sources root.

So `#include "Arena.h"` won't work anymore, only
`#include "flow/Arena.h"` will.
2020-04-06 10:13:49 -07:00
A.J. Beamon 2336f073ad Checkpointing a bunch of work on throttles. Rudimentary implementation of auto-throttling. Support for manual throttling via fdbcli. Throttles are stored in the system keyspace. 2020-04-03 15:24:14 -07:00
A.J. Beamon 638369492f
Merge pull request #2863 from dongxinEric/feature/2290/expose-region-config-via-status-default-or-details
Expose region related configurations in status
2020-04-03 11:42:43 -07:00
Xin Dong eaae9397e5 Address review comments 2020-04-02 11:04:58 -07:00
Markus Pilman bbd2fe62cc Merge branch 'master' of github.com:apple/foundationdb into features/boost70 2020-04-02 09:21:01 -07:00
tclinken aa7d5d8816 Add unlock command to fdbcli 2020-04-01 17:39:16 -07:00
tclinken 884e92bb49 Atomically update dependent knobs 2020-04-01 15:18:49 -07:00
Xin Dong e755583c07 Address review comments. 2020-04-01 15:13:04 -07:00
Xin Dong 8e489e7031
Merge pull request #2870 from dongxinEric/feature/2399/provide-comprehensive-info-about-exclude-in-fdbcli
Instead of providing partial information about exclude results in dif…
2020-03-31 11:58:41 -07:00
Xin Dong 18356ec4e6
Apply suggestions from code review
Co-Authored-By: John Brownlee <mail@johnbrownlee.com>
2020-03-31 11:11:24 -07:00
tclinken bee6acb717 Added fdbcli getversion command 2020-03-30 17:12:52 -07:00
tclinkenbeard bb6a8bf7ab Add lock command to fdbcli 2020-03-30 16:19:18 -07:00
Xin Dong 012d41548e Address review comments 2020-03-30 13:55:59 -07:00
Xin Dong 52b6754598 Align up the outputs 2020-03-27 15:45:51 -07:00
Markus Pilman 28cd38913d Merge branch 'master' of github.com:apple/foundationdb into features/boost70 2020-03-27 13:44:10 -07:00
Xin Dong 248a097c58 Instead of providing partial information about exclude results in different scenarios, provide comprehensive result for all cases. 2020-03-26 13:15:47 -07:00
Xin Dong d7c7bbbea5 Fix macOS build failures 2020-03-25 16:39:41 -07:00
Xin Dong 040c953f74 Expose region related configurations in status 2020-03-25 16:34:24 -07:00
Evan Tschannen e08f0201f1 merge release 6.2 into master 2020-03-17 12:51:47 -07:00
Meng Xu b44747fe12
Merge pull request #2726 from alexmiller-apple/fdbcli-hints
Update LineNoise, and use hints to provide inline argument descriptions.
2020-03-17 11:24:44 -07:00
Alex Miller 8e96e5a525
Expand comment about ignoring malformed escape sequences 2020-03-16 18:25:56 -07:00
Alex Miller 6ee992eb35 Add that debug tls exits after running. 2020-03-13 15:47:16 -07:00
Alex Miller a5568b2fc6 Rewrite tlsinfo into --debug-tls, and print out configuration. 2020-03-13 15:46:03 -07:00
Alex Miller 0c558efcfe Add a `tlsinfo` command to fdbcli that prints the certificate chain.
This requires the certificate chain to load successfully, otherwise
fdbcli will error out at an earlier point due to Net2 not being able to
configure TLS.
2020-03-13 00:11:53 -07:00
Evan Tschannen 303df197cf Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	bindings/c/test/mako/mako.c
#	documentation/sphinx/source/release-notes.rst
#	fdbbackup/backup.actor.cpp
#	fdbclient/NativeAPI.actor.cpp
#	fdbclient/NativeAPI.actor.h
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/LogRouter.actor.cpp
#	fdbserver/SkipList.cpp
#	fdbserver/fdbserver.actor.cpp
#	flow/CMakeLists.txt
#	flow/Knobs.cpp
#	flow/Knobs.h
#	flow/flow.vcxproj
#	flow/flow.vcxproj.filters
#	versions.target
2020-03-06 18:22:46 -08:00
Alex Miller 595dd77ed1 Merge remote-tracking branch 'upstream/release-6.2' into certificate-refresh 2020-03-04 20:25:42 -08:00
Alex Miller 9b5ef3416e Refactor TLSParams into TLSConfig + LoadedTLSConfig
The idea being that we keep around a TLSConfig that the configuration
that the user has provided, and then when we want to intialize an SSL
context, we ask the TLSConfig to load all certificates and return us a
LoadedTLSConfig that is a concrete set of certificate bytes in memory.

initTLS now just takes the in-memory bytes and applies them to the ssl
context.

This is a large refactor to lead up into certificate refeshing, where we
will periodically check for changes to the certificates, and then
re-load them and apply them to a new SSL context.
2020-03-04 20:14:47 -08:00
A.J. Beamon 58e621eca1 Invalid knobs or knob values are treated as warnings rather than errors. Apply this change to backup as well. 2020-03-04 15:50:04 -08:00
A.J. Beamon 9862aa8bed Add support for setting knobs in fdbcli 2020-03-04 11:15:32 -08:00
Alex Miller 243a4c4480 Reduce code indentation 2020-03-03 18:14:57 -08:00
Alex Miller 6d14aacb40 I forgot to add the last change before committing and pushing the last commit. 2020-03-01 02:00:45 -08:00
Alex Miller e997be3e2d Make fdbcli act like redis-cli, and a couple fixes.
Hints now show up as a darker gray text.

Hint components now only show for pieces of the command string that
hasn't yet been typed.

The code now correctly handles offering hints if multiple commands are
issued at once seperated by ';'.

A hint of "{malformed escape sequence}" is displayed if a bad escape
sequence was typed.  e.g. \e
2020-02-29 03:07:39 -08:00
Evan Tschannen c11c24b79d removed the fdbrpc version of platform.h 2020-02-28 14:56:10 -08:00
Evan Tschannen 6054c05963 Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	documentation/sphinx/source/release-notes.rst
#	fdbserver/fdbserver.actor.cpp
#	versions.target
2020-02-28 12:11:05 -08:00
A.J. Beamon 0f5c999d4b Better containment of boost errors related to TLS. 2020-02-26 12:26:43 -08:00
Alex Miller b76f68d0e2 Add a --no-hints flag to fdbcli to disable linenoise hints 2020-02-24 16:08:04 -08:00
Alex Miller 9545091899 Merge remote-tracking branch 'upstream/master' into fdbcli-hints 2020-02-24 16:02:30 -08:00
Evan Tschannen 96258b9809 Merge branch 'release-6.2'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/ManagementAPI.actor.cpp
#	fdbrpc/FlowTransport.actor.cpp
#	fdbserver/ClusterController.actor.cpp
#	fdbserver/DataDistribution.actor.cpp
#	fdbserver/DataDistribution.actor.h
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/KeyValueStoreMemory.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/QuietDatabase.actor.cpp
#	fdbserver/SkipList.cpp
#	fdbserver/StorageMetrics.actor.h
#	fdbserver/TLogServer.actor.cpp
#	fdbserver/fdbserver.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	fdbserver/workloads/KVStoreTest.actor.cpp
#	flow/CMakeLists.txt
#	flow/Knobs.cpp
#	flow/Knobs.h
#	flow/genericactors.actor.cpp
#	flow/serialize.h
2020-02-21 19:09:16 -08:00
Alex Miller 390330176f Update LineNoise, and use hints to provide inline argument descriptions.
This makes it so that if you type:

    fdbcli> setclass

Then fdbcli shows

    fdbcli> setclass <ADDRESS> <unset|storage|transaction|default>
                    ^

With the cursor located where the ^ is pointing.
2020-02-21 17:15:40 -08:00
Evan Tschannen 3a3f6afc4c
Update fdbcli/fdbcli.actor.cpp 2020-02-20 18:04:44 -08:00
Evan Tschannen f04e311a1e Merge commit 'b46d6e25e24993ab5a5f04091fd3235050b7cd09' into feature-boost-ssl
# Conflicts:
#	fdbserver/SimulatedCluster.actor.cpp
#	flow/Net2.actor.cpp
2020-02-20 17:36:38 -08:00
Alex Miller 927cff3317 Report errors on TLS misconfigurations ... or at least try to. 2020-02-20 16:57:29 -08:00
A.J. Beamon 4f1301b2dd
Merge pull request #2583 from etschannen/feature-keep-status-connected
Clients should not disconnect from the CC after fetching status
2020-02-20 13:12:30 -08:00
Evan Tschannen 08c318d28a re-added the connect lock in the fdbcli so that the timeout is not spent before a connection has been initiated (because of the handshake lock) 2020-02-20 10:43:34 -08:00
Evan Tschannen 761da5a059 code cleanup 2020-02-19 17:59:45 -08:00
mpilman 3a1e878a9b Upgrade to boost 1.72 2020-02-14 18:10:13 -08:00
Evan Tschannen 53d0867a17 limit the number of connections a process can attempt to establish in parallel 2020-02-04 18:15:10 -08:00
mpilman d09e07f1f5 Merge remote-tracking branch 'upstream/master' into features/icc 2020-02-04 10:26:18 -08:00
Andrew Noyes 61a727d701 Allow new databases to be configured as locked 2020-02-03 15:32:01 -08:00
Alex Miller ee6490c9d1
Merge pull request #2314 from mengranwo/memory-engine
New Radix-Tree based Memory Storage Engine
2020-01-30 16:20:13 -08:00
Evan Tschannen 73ad702d14 Clients which fetch status should not disconnect from the coordinators and cluster controller between each retrieval 2020-01-22 15:41:22 -08:00
Evan Tschannen 3f9d9d8b84 Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	cmake/FlowCommands.cmake
#	documentation/sphinx/source/release-notes.rst
#	fdbclient/StorageServerInterface.h
#	fdbserver/DataDistributionTracker.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/fdbserver.actor.cpp
#	flow/Knobs.h
#	flow/Platform.cpp
#	versions.target
2020-01-16 18:37:47 -08:00
mengranwo 227edd4248 change memory storage engine name from memory-radixtree to memory-radixtree-beta 2020-01-15 13:49:45 -08:00
mengranwo f597aa7e18 WIP : deployable/stable version since Nov 3. Start rebase to master branch 2020-01-15 13:49:45 -08:00
Alvin Moore c46aebb718 Added bigobj compilation option in order to fix problem with too many sections in object file for Windows 2020-01-13 00:54:28 -08:00
Evan Tschannen 9a3dfec7c5 open a connection with processes before attempting to kill them to improve the reliability of the kill process
secondaryAddresses are included in the list of processes which can be killed
2020-01-03 16:10:44 -08:00
Jon Fu 92892d4168 Merge branch 'master' of https://github.com/apple/foundationdb into include-failed-ss 2019-11-25 11:05:35 -08:00
A.J. Beamon ed8d3f163c Rename hgVersion to sourceVersion. 2019-11-15 12:26:51 -08:00
Andrew Noyes d4de608bb6 Fix OPEN_FOR_IDE build 2019-10-25 10:42:22 -07:00
Jon Fu bedb38d3e8 fixed compilation error 2019-10-24 13:05:28 -07:00
Jon Fu 8930172e4a fixed includeall case 2019-10-23 11:12:10 -07:00
Jon Fu 9db95bd976 initial commit to allow re-inclusion of servers marked as failed 2019-10-23 11:05:48 -07:00
Jon Fu f38d52b82d re-introduced coordinator quorum and added some comments 2019-10-18 14:52:07 -07:00
Jon Fu 896701006f addressed code review changes 2019-10-16 11:30:20 -07:00
Jon Fu d96a7b2c69 Merge branch 'master' of https://github.com/apple/foundationdb into mark-ss-failed 2019-10-03 09:47:45 -07:00
Meng Xu d0147e5e5d Merge branch 'release-6.2' into mengxu/merge-release620-to-master-v3
Resolved Conflicts:
	documentation/sphinx/source/release-notes.rst
	fdbserver/DataDistribution.actor.cpp
	versions.target
2019-10-02 13:22:56 -07:00
Jon Fu 450a09e117 Code Review Changes 2019-09-24 15:48:50 -07:00
Jon Fu 471e283128 Merge branch 'master' of https://github.com/apple/foundationdb into mark-ss-failed 2019-09-18 11:49:07 -07:00
Alex Miller 9a64dc7f24
Merge pull request #1792 from ajbeamon/remove-dl-iterate-phdr-hack
Remove dl_iterate_phdr caching used by slow task profiler
2019-09-17 16:51:30 -07:00
sramamoorthy a4d38f1158 Fix #2057 snapshot cli to print UID in failure too 2019-09-17 05:18:28 -07:00
Andrew Noyes bd7678e71b Remove --object-serializer help text 2019-09-05 11:57:59 -07:00
Evan Tschannen dc1d055b27
Merge pull request #2042 from senthil-ram/snap_cli_fix
fix fdbcli --exec 'snapshot create.sh' failure
2019-08-30 13:40:38 -07:00
sramamoorthy b3277f2982 Fix #2009 posix compliant args for snapshot binary 2019-08-30 12:54:09 -07:00
A.J. Beamon 3f9e392668
Merge pull request #2014 from etschannen/feature-fdbcli-sleep
Added a sleep command to fdbcli
2019-08-30 11:22:13 -07:00
Evan Tschannen f3bc7e0abd do not duplicate data distribution disabled fields in status
fixed a few bugs related to the existing data distribution disabled fields in status
2019-08-29 18:41:34 -07:00
Jon Fu 00c2025d4b fixed removeKeys impl, adjusted test workload, and introduced extra safety checks to NativeAPI and proxy 2019-08-27 14:39:44 -07:00
Jon Fu a07cf5d038 addressed code review comments 2019-08-27 14:39:44 -07:00
Jon Fu 080fbc63dc updated keyServers removal to be multi-transactional in order to avoid hitting transaction timeout 2019-08-27 14:39:43 -07:00
Jon Fu 5a877d6b14 added safety check on client to prevent removing all servers from a team 2019-08-27 14:39:43 -07:00
Jon Fu 807b02551e updated help message and changed existing workload to use mark as failed feature 2019-08-27 14:39:43 -07:00
Jon Fu c908c6c1db added command to fdbcli and changes to SystemData and ManagementAPI 2019-08-27 14:39:43 -07:00
A.J. Beamon e465cbef07 Merge branch 'master' into remove-dl-iterate-phdr-hack
# Conflicts:
#	fdbserver/fdbserver.actor.cpp
2019-08-22 10:13:23 -07:00
Evan Tschannen 0b0c9fe0ff data distribution status was combined into regular status 2019-08-21 14:44:15 -07:00
A.J. Beamon 7953545331 Fix an unknown_error when the file passed to fileconfigure doesn't contain a valid object (e.g. if you omit the enclosing {} of your object).
Fix an internal error when configuring regions with some storage servers that don't have a datacenter set.
2019-08-19 11:28:15 -07:00
Evan Tschannen d8ab48ce7f added a sleep command to fdbcli 2019-08-16 18:13:35 -07:00
Evan Tschannen f08704557a
Merge pull request #1959 from alexmiller-apple/fix-fdbcli-help
Reword consistencycheck and remove snapshot.
2019-08-06 16:38:52 -07:00
mpilman 370ba8b841 Remove --object-serializer flag from executables 2019-08-06 09:25:40 -07:00
Alex Miller aaf72c903d Reword consistencycheck and remove snapshot.
`consistencycheck` help text made it sound like it would cause
consistency checking to be done, which was not the case.  Consistency
checking still requires dedicated `-r consistencycheck` processes to be
running.

Snapshotting requires documentation and a bit more work, cleanup, and
polish before it could be used by users without great confusion.  Thus,
it's being shuffled over to a hidden command, until that work is done.
2019-08-05 19:10:00 -07:00
A.J. Beamon 476641a087
Merge pull request #1929 from jzhou77/fix-warning
Fix compiler warnings
2019-08-01 11:15:41 -07:00
Jingyu Zhou 37450be706 Fix format usage for currentProtocolVersion
ProtocolVersion now is a class.
2019-08-01 10:19:46 -07:00
Xin Dong b653ddb30d Final clean ups after rebasing master 2019-07-30 22:35:34 -07:00
Xin Dong 5d20364423 Address review comments 2019-07-30 22:24:30 -07:00
Xin Dong 1922c39377 Resolve review comments. 100K run shows one suspecious ASSERT_WE_THINK failure which I think could be a race. 2019-07-30 22:24:30 -07:00
Xin Dong a1afafc17c Accept suggested change.
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-07-30 22:20:45 -07:00
Xin Dong 0f87ae91ac Remove the unused variable 2019-07-30 22:20:45 -07:00
Xin Dong ae11efcb0a Made following changes:
- Make sure the disabled data distribution won't be accidentally enabled by the 'maintenance' command
- Make sure the status json reflects the status of DD accordingly
- Make sure the CLI can play with the new DD states correctly, i.e. print out warns when necessary
2019-07-30 22:20:45 -07:00
Xin Dong 4ecfc9830f Added finer grained controls to DataDistribution in fdbcli. What's happening under the hood is:
- Use pre-existing 'healthZone' key and write a special value to it in order to disable DD for all storage server failures
- Use a new system key 'rebalanceDDIgnored' key to disable/enable DD for all rebalance reasons(MountainChopper and ValleyFiller)

Kicked off two 200K correctness and showed no related errors.
2019-07-30 22:17:21 -07:00
A.J. Beamon 59dd5916c5 Merge branch 'master' into rename-fault-tolerance-status-fields
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
2019-07-30 15:11:25 -07:00
A.J. Beamon 438bc636d5 Rename max_machine_failures_without_losing_X to max_zone_failures_without_losing_X in status. 2019-07-30 14:02:31 -07:00
A.J. Beamon ec7e71ed93 Add reporting for zone count; fault tolerance reports in terms of zones unless machine ID matches zone ID. 2019-07-30 12:24:13 -07:00
sramamoorthy 5a56f6b456 minor snap create client improvement and bug fixes 2019-07-29 20:28:22 -07:00
Evan Tschannen 8149b5b352
Merge pull request #1413 from atn34/change-connection-file
Switch cluster file feature
2019-07-26 13:27:37 -07:00
sramamoorthy 9afd162e2f remove snap v1 related code 2019-07-25 17:29:31 -07:00
sramamoorthy a2f2ad96ff code review comments and merge to master changes 2019-07-24 15:36:28 -07:00
sramamoorthy 30a90e546d make snap v2 the default version 2019-07-24 15:36:28 -07:00
sramamoorthy 209448807d snap v2: fdbclient related changes 2019-07-24 15:36:28 -07:00
Trevor Clinkenbeard 9ad9bd4c1f Merge branch 'master' of https://github.com/apple/foundationdb into change-connection-file 2019-07-24 15:22:26 -07:00
Evan Tschannen 846038b0e6
Merge pull request #1858 from bnamasivayam/rk-ssfetch-throttle
Ratekeeper throttling aggressively when unable to fetch storage server list
2019-07-19 16:41:58 -07:00
Evan Tschannen 3045826e3c
Merge pull request #1819 from mpilman/flatbuffers-fixes2
Flatbuffers fixes2
2019-07-19 16:33:50 -07:00
A.J. Beamon f6183df8b9
Merge pull request #1852 from vishesh/task/issue-1840-non-blocking-exclusion
fdbcli: Add `no_wait` option in `exclude` command to avoid blocking
2019-07-19 12:49:29 -07:00
Vishesh Yadav d9a8657096 fdbcli: Add `no_wait` option in `exclude` command to avoid blocking
RESOLVES #1840
2019-07-18 13:07:31 -07:00
Evan Tschannen 94c66f8d58
Merge pull request #1738 from bnamasivayam/consistency-check-disable
Disable/Re-enable consistency check through a database key.
2019-07-18 10:56:02 -07:00
mpilman 1ac2d01b03 Merge remote-tracking branch 'upstream/master' into flatbuffers-fixes2 2019-07-18 09:50:08 -07:00
Balachandar Namasivayam 406bcebdc4 Ratekeeper to throttle tpsLimit to 1 if it is not able to fetch storage server list for some configurable amount of time. 2019-07-17 18:08:17 -07:00
mpilman d5caf0c1b4 Merge branch 'flatbuffers-fixes2' of github.com:mpilman/foundationdb into flatbuffers-fixes2 2019-07-16 14:47:40 -07:00
A.J. Beamon d5051b08dd Make trace event field lengths (and total event sizes) default knobified and configurable. Add a transaction option to control the field length of transaction debug logging. Make the program start command line field less likely to be truncated. 2019-07-12 16:12:35 -07:00
Andrew Noyes 969957e619 Merge branch 'master' into change-connection-file 2019-07-12 11:39:19 -07:00
A.J. Beamon f4366e69ca Unknown options should not be used internally (i.e. underneath thread-safe API). This commit removes various checks that options exist and replaces them with an ASSERT. 2019-07-11 11:25:39 -07:00
Trevor Clinkenbeard 1582a2a24d Merge branch 'master' of https://github.com/apple/foundationdb into change-connection-file 2019-07-09 13:41:54 -07:00
A.J. Beamon a5a6f8431c Add a random UID to TransactionMetrics in case a client opens multiple connections and also a field to indicate whether the connection is internal. Convert some of the metrics to our Counter object instead of running totals. 2019-07-08 14:01:04 -07:00
Andrew Noyes 9ed8eb2cdb Explain strange use of literal byte strings 2019-07-05 14:07:02 -07:00
Andrew Noyes 889e153b81 Add object serializer flag to fdbcli 2019-07-05 14:07:02 -07:00
A.J. Beamon 6a899ddff3 Remove dl_iterate_phdr results caching that is used by slow task profiler, instead favoring disabling and reenabling profiling around the call. Add a mechanism to handle deferred profile requests. 2019-07-03 12:48:36 -07:00
Balachandar Namasivayam 7489f83a7f Disable/Re-enable consistency check through a database key.
fdbcli has a new command 'consistencycheck' to disable/re-enable consistency check.
cluster_healthy metric in status becomes false if consistencycheck is disabled.
2019-06-20 21:38:45 -07:00
mpilman 844dd60202 FDB compiling with intel compiler 2019-06-20 09:29:01 -07:00
Andrew Noyes 02e173b601 Add changeConnectionFile method to Transaction
Also add tests
2019-06-11 13:58:22 -07:00
sramamoorthy 61e93a9304 Address review comments and minor fixes 2019-05-28 22:07:46 -07:00
sramamoorthy 69edefe68b Snapshot based backup and resotre implementation 2019-05-28 22:07:46 -07:00
A.J. Beamon 603721e125 Merge branch 'master' into thread-safe-random-number-generation
# Conflicts:
#	fdbclient/ManagementAPI.actor.cpp
#	fdbrpc/AsyncFileCached.actor.h
#	fdbrpc/genericactors.actor.cpp
#	fdbrpc/sim2.actor.cpp
#	fdbserver/DiskQueue.actor.cpp
#	fdbserver/workloads/BulkSetup.actor.h
#	flow/ActorCollection.actor.cpp
#	flow/Net2.actor.cpp
#	flow/Trace.cpp
#	flow/flow.cpp
2019-05-23 08:35:47 -07:00
Alvin Moore 3acaa7343e Enabled C++17 for all Windows projects
Set Visual Studio version to 2017 (first version to support C++17)
2019-05-16 17:44:13 -07:00
Alvin Moore 94aed513c7 Switched Windows tools within projects to 2017 2019-05-16 15:05:11 -07:00
A.J. Beamon 5f55f3f613 Replace g_random and g_nondeterministic_random with functions deterministicRandom() and nondeterministicRandom() that return thread_local random number generators. Delete g_debug_random and trace_random. Allow only deterministicRandom() to be seeded, and require it to be seeded from each thread on which it is used. 2019-05-10 14:01:52 -07:00
Austin Seipp 1ce585b5ce fdbcli: fix some print/scan format warnings
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-06 13:35:29 -07:00
Evan Tschannen 2d5043c665 Merge branch 'release-6.1'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	versions.target
2019-04-30 18:27:04 -07:00
Evan Tschannen b2d19eebc4 fdbcli would return success even when configure failed for a variety of error types
the existing configure safety check would fail when attempting to change between three_datacenter and region configuration
2019-04-30 16:30:19 -07:00
Evan Tschannen 6220a5ce0f
Merge pull request #1370 from jzhou77/fix-unreferenced
Remove unused functions
2019-04-09 11:49:45 -07:00
A.J. Beamon dfad79d577 Update fdbcli/fdbcli.actor.cpp
Co-Authored-By: mpilman <markus@pilman.ch>
2019-04-05 13:12:19 -07:00
A.J. Beamon 9595b43a2d Update fdbcli/fdbcli.actor.cpp
Co-Authored-By: mpilman <markus@pilman.ch>
2019-04-05 13:12:19 -07:00
A.J. Beamon a05350bfa7 Update fdbcli/fdbcli.actor.cpp
Co-Authored-By: mpilman <markus@pilman.ch>
2019-04-05 13:12:19 -07:00
mpilman 1c16f87a4e Remove trace-calls to printable (in non-workloads) 2019-04-05 13:12:19 -07:00
Jingyu Zhou 3371cf22d4 Add manually triggered heap profiling
At client side:
fdb> profile
ERROR: Usage: profile <client|list|flow|heap>
fdb> profile heap 127.0.0.1:4500

On the server side:
$ HEAPPROFILE=/tmp/fdbserver bin/fdbserver -C ../test.cluster -p 127.0.0.1:4500
Starting tracking the heap
FDBD joined cluster.
Dumping heap profile to /tmp/fdbserver.0001.heap (1024 MB allocated cumulatively, 13 MB currently in use)
Dumping heap profile to /tmp/fdbserver.0002.heap (User triggered heap dump)
2019-04-03 16:00:54 -07:00
Evan Tschannen 39c595223b Merge branch 'release-6.1' 2019-04-02 22:30:02 -07:00
Evan Tschannen 628fec8c8b updated status with information about ongoing maintenance
clear the maintenance zone if a different storage server is detected failed
2019-04-02 14:15:51 -07:00
Evan Tschannen 72203ba47a Merge commit '56f3f0b1bc60604f965152d856ae29a591227703' 2019-04-01 18:45:38 -07:00
Evan Tschannen 781cf9b5a0 added the ability to make a zoneId for maintenance in fdbcli 2019-04-01 17:55:13 -07:00
Jingyu Zhou f7f8ddd894 Fix warnings on unused variables
Found by -Wunused-variable flag.
2019-04-01 14:00:20 -07:00
Vishesh Yadav 1ba0b4e682 fix: Parse IPv6 addresses correctly in status details 2019-04-01 12:58:26 -07:00
Jingyu Zhou 7c02ee6fdd Fix compiler warning about unreferenced exception variable 2019-03-26 13:43:47 -07:00
Andrew Noyes 555405d1ab Set TRACE_FORMAT network option in fdbcli
Previously --trace_format did not work since the network option has the
last say in what trace format to use.
2019-03-22 10:35:05 -07:00
Evan Tschannen eb54a700ba changed the old memory configuration to memory-1 2019-03-18 15:10:04 -07:00
Evan Tschannen a372c7cf18 configure memory now selects the ssd engine for transaction log spilling. Transaction log spilling is only used when the transaction logs cannot keep all of the unpopped mutations it has in memory. If we are only using this data structure because we do not have enough memory, it is much less safe to use the memory storage engine for this purpose. 2019-03-16 22:48:24 -07:00
Evan Tschannen c5a18945b6
Merge pull request #1260 from vishesh/task/tls-upgrade
Allows cluster string to contain coordinators with different TLS states
2019-03-12 13:45:08 -07:00
Balachandar Namasivayam 880e8643d1 Fix Windows link errors 2019-03-11 17:49:03 -07:00
mpilman 2537f26de6 First implementaion of more user-friendly cpack
Up unto here this code is only very rudiemantery tested.

This is a firest attempt of making cpack more user-friendly.
The basic idea is to generate a component for package type so
that we can have different paths depending on whether we build
an RPM, a DEB, a TGZ, or a MacOS installer. The cpack package
config file will then chose the correct components to use.

In a later point this should make it possible to build these
with `make packages` and the ugly iteration with calling cmake
between each package would be obsolete. While this solution is
a bit more bloated, it is also much more flexible and it will be
much easier to use.

Another benefit is, that this will get rid of all warnings during
a cpack run
2019-03-07 16:49:29 -08:00
Vishesh Yadav ed49d603a0 Allows cluster string to contain coordinators with different TLS states
During live TLS upgrades, we can hence switch one coordinator at a time
to TLS than all of them together.
2019-03-06 16:05:10 -08:00
Alex Miller af617d68e6 boost 1.52.0 -> 1.67.0 in all vcxproj files 2019-03-05 22:06:12 -08:00
Vishesh Yadav 57832e625d net: Support IPv6 #963
- NetworkAddress now contains IPAddress object which can be either
IPv4 or IPv6 address. 128bits are used even for IPv4 addresses,
however only 32bits are used when using/serializing IPv4 address.

- ConnectPacket is updated to store IPv6 address. Backward compatible
with old format since the first 32bits of IP address field is used
for serialization of IPv4.

- Mainly updates rest of the code to use IPAddress structure instead
of plain uint32_t.

- IPv6 address/pair ports should be represented as `[ip]:port` as per
convention. This applies to both cluster files and command line
arguments.
2019-03-04 14:12:41 -08:00
mpilman d0c06ec8c0 Make old build system work on build/cmake/Dockerfile 2019-02-28 14:24:52 -08:00
Evan Tschannen b8910ba7cd Merge branch 'master' into feature-fix-force-recovery
# Conflicts:
#	fdbclient/ManagementAPI.actor.h
#	fdbserver/DataDistribution.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	fdbserver/workloads/KillRegion.actor.cpp
2019-02-22 14:38:13 -08:00
mpilman 9b14aeb156 Tell cmake not to link/install on ide build 2019-02-19 15:16:59 -08:00
mpilman 0bb60e5a3b Use proper fwd decl in NativeAPI
Also NativeAPI.h -> NativeAPI.actor.h
2019-02-19 15:16:59 -08:00
mpilman 3cb2391b58 use proper fwd declarations in ManagementAPI
Also ManagementAPI.h -> ManagementAPI.actor.h
2019-02-19 15:16:59 -08:00