Commit Graph

465 Commits

Author SHA1 Message Date
Alex Miller 283fd3af27 Add a knob which controls writing prefix compressed kvs mem snapshots.
Which will be set to on by default in 7.0
2020-05-12 17:01:52 -07:00
Evan Tschannen a8e0f1d581 removed knob 2020-05-11 18:20:46 -07:00
Evan Tschannen d0b414ddf2
Merge pull request #3121 from etschannen/master
Added a large random delay on failure detection
2020-05-10 17:59:51 -07:00
Evan Tschannen b1bd5ef83e
Merge pull request #3120 from satherton/feature-redwood
Redwood read concurrency limit, some knobs, and memory-only Pager mode.
2020-05-10 17:34:41 -07:00
Evan Tschannen 07111f0e41 add a large random delay on failure detection so that not all storage servers need to attempt to become the cluster controller 2020-05-10 17:09:33 -07:00
Steve Atherton 43f9e4dfad Implemented concurrent read limit in IKeyValueStore interface for Redwood. Added knobs for Redwood page size, concurrent read limit, and page fill factor. Changed commitSubtree() recursion back to use a vector and waitForAll() because it seems to be lower overhead than ActorCollection. 2020-05-10 16:13:22 -07:00
Evan Tschannen f9518c3441
Merge pull request #3069 from alexmiller-apple/tls-connection-count
YOLO at reducing TLS connection count via doing monitorLeader on coordinators
2020-05-09 17:12:27 -07:00
Evan Tschannen 69affebe40 merge master 2020-05-09 13:29:18 -07:00
Evan Tschannen 2dfae85dc7 the delay for reads is about 15% of the total cost of the read, so start multiple reads with the same delay 2020-05-09 13:26:38 -07:00
A.J. Beamon 02307ba7b6 Merge branch 'master' into transaction-tagging
# Conflicts:
#	fdbclient/DatabaseContext.h
2020-05-09 07:50:29 -07:00
Evan Tschannen f0f52fb2be Merge branch 'master' into feature-small-endpoint
# Conflicts:
#	fdbclient/StorageServerInterface.h
2020-05-08 16:37:35 -07:00
Jingyu Zhou a833724322
Merge pull request #3078 from xumengpanda/mengxu/fr-circus-stall-PR
Performant restore: Various improvements based on circus test
2020-05-07 20:07:23 -07:00
Meng Xu a93c23d239 Resovle review comments 2020-05-07 15:06:59 -07:00
A.J. Beamon fbf436f45f Various cleanup and knob adjustments. 2020-05-07 09:15:33 -07:00
Alex Miller 8a6e177950 Merge remote-tracking branch 'upstream/master' into tls-connection-count 2020-05-05 16:49:36 -07:00
A.J. Beamon b1055a8501 Merge branch 'master' into transaction-tagging 2020-05-05 16:03:39 -07:00
Evan Tschannen f329164fb4
Merge pull request #2532 from dongxinEric/feature/hot-read-key-detection-part-2
Feature/hot read key detection part 2
2020-05-05 14:33:34 -07:00
Meng Xu c49b6756fe FastRestoreApplier:Trace clear range op when it has too many for debug 2020-05-05 09:28:50 -07:00
Meng Xu 2fec56e7e2 FastRestore:Logging for getReplyBatches 2020-05-04 20:12:59 -07:00
A.J. Beamon cd2176ac15 Adjust some knobs 2020-05-04 10:37:53 -07:00
A.J. Beamon 36454bb3b8 Merge branch 'master' into transaction-tagging
# Conflicts:
#	fdbclient/MasterProxyInterface.h
#	fdbclient/NativeAPI.actor.cpp
2020-05-04 10:23:25 -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
Alex Miller 43a63452d8 YOLO at reducing TLS connection count via doing monitorLeader on coordinators 2020-05-01 14:40:21 -07:00
Evan Tschannen 8520c82ca0 updated dbinfo broadcast to minimize the number of possible WAN round trips 2020-05-01 13:20:26 -07:00
Meng Xu 28178f356f FastRestore:Minor knob change and revise comments 2020-05-01 10:47:44 -07:00
Meng Xu 2c17fff6bb FastRestore:Add batchIndex into metric event name 2020-05-01 10:05:33 -07:00
Meng Xu 038f3834fc Merge branch 'master' into mengxu/fr-code-improvement-PR 2020-05-01 09:26:29 -07:00
Jingyu Zhou b3698ac921
Merge pull request #3060 from xumengpanda/mengxu/fr-agent-fix-PR
Fix fastrestore_agent errors when run in non-simulation mode
2020-04-30 22:46:39 -07:00
Meng Xu fb1c456a2d FastRestore:Change default knob value 2020-04-30 19:15:32 -07:00
A.J. Beamon 66228343f1 Merge branch 'master' into transaction-tagging 2020-04-30 08:12:03 -07:00
Meng Xu a0d67cac16 Merge branch 'master' into mengxu/fr-code-improvement-PR 2020-04-29 21:07:33 -07:00
A.J. Beamon 6ada5359b8 Merge branch 'master' into transaction-tagging 2020-04-29 14:27:21 -07:00
Evan Tschannen 7cebe743f9 A number of bug fixes of rare correctness errors 2020-04-29 13:50:13 -07:00
Evan Tschannen 76fb345dd1 Merge branch 'master' into feature-tree-broadcast
# Conflicts:
#	fdbrpc/FailureMonitor.actor.cpp
2020-04-29 09:51:22 -07:00
Meng Xu 8dd05405eb FastRestore:Guard knob with BUGGIFY
Prevent knob to be randomly set.
2020-04-28 16:05:40 -07:00
A.J. Beamon b80225dde0 Initial support for ramping load back up. Fix some logging. Update auto-throttles less frequently. 2020-04-28 15:50:45 -07:00
A.J. Beamon 0ed70accfa Reorganization of throttle storage in ratekeeper to support various auto-throttling related actions 2020-04-28 14:30:37 -07:00
Evan Tschannen b7f5f3be48 merge in master 2020-04-28 13:11:47 -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
Meng Xu ee5051792a Add BUGGIFY back to DESIRED_TEAMS_PER_SERVER knob
Kudos to A.J. who found this bug.
2020-04-24 12:54:31 -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
Evan Tschannen c87aa33941 Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	bindings/go/src/fdb/generated.go
#	documentation/sphinx/source/api-common.rst.inc
#	documentation/sphinx/source/api-ruby.rst
#	documentation/sphinx/source/release-notes.rst
#	fdbclient/FailureMonitorClient.actor.cpp
#	fdbclient/NativeAPI.actor.cpp
#	fdbclient/vexillographer/fdb.options
#	fdbrpc/FlowTransport.actor.cpp
#	fdbserver/OldTLogServer_6_0.actor.cpp
#	fdbserver/TLogServer.actor.cpp
#	fdbserver/fdbserver.actor.cpp
#	versions.target
2020-04-23 13:47:53 -07:00
Evan Tschannen 0c84ad4bc6
Merge pull request #2917 from bnamasivayam/fail-slow-ss
Mark the storage servers that are continually lagging as unhealthy
2020-04-22 23:18:35 -07:00
A.J. Beamon 9bf5c06d15 Adjust and knobify cost function for ops on the storage server 2020-04-22 14:39:32 -07:00
Evan Tschannen d0cc2a1ee4 added logging for parallel peeks on TLogs 2020-04-22 14:24:45 -07:00
A.J. Beamon 434704fbd9 Various bug fixes 2020-04-22 12:28:51 -07:00
Meng Xu 2960a2fe8a FastRestore:Add knob to control parallelism in waiting requests 2020-04-19 21:34:11 -07:00
Evan Tschannen ba3e2af473 Merge commit '5288033bcfe40c3ade97c8bf2d04cf31b3f16cb1' into feature-tree-broadcast 2020-04-17 15:17:37 -07:00
A.J. Beamon dfec896438 Enforce a throttle limit. Don't count transaction tags on RK if the proxy has updated us in a while. 2020-04-17 11:48:02 -07:00
Meng Xu 4a05910c6c Buggify FASTRESTORE_GET_RANGE_VERSIONS_EXPENSIVE knob for true and false 2020-04-17 11:20:57 -07:00
Meng Xu 2d9e9a0502 FastRestore:Use knob to guard the expensive way to get range versions 2020-04-17 10:02:58 -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
Xin Dong 7dd7406c59
Merge branch 'master' into feature/hot-read-key-detection-part-2 2020-04-16 14:54:05 -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
Evan Tschannen dd951afe92
Merge pull request #2735 from ajbeamon/grv-proxy-perf-improvements
Improve proxy GRV latencies and responsiveness
2020-04-14 16:45:48 -07:00
Meng Xu 08c8fac2af
Merge pull request #2943 from jzhou77/backup-fix
Buggify master recruit backup worker delay
2020-04-14 16:20:28 -07:00
A.J. Beamon 9d6f2352d9 Merge commit 'cf01233f28a2c42908656a39f458a4475c1d44a3' into grv-proxy-perf-improvements
# Conflicts:
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/MasterProxyServer.actor.cpp
2020-04-14 13:49:09 -07:00
Meng Xu dbc9c23193 FastRestore:Loader:Send mutations at different versions in the same message to appliers
This increases the bandwidth sent from loaders to appliers.
2020-04-12 10:46:58 -07:00
Jingyu Zhou 87b8aae3e5 Buggify master recruit backup worker delay 2020-04-11 22:37:04 -07:00
Evan Tschannen 8f78912483 knobified parameter 2020-04-11 20:54:17 -07:00
Evan Tschannen c0323f8a28 Merge commit '77f01193cbdf2ac5766131ffc8c71e8c88a0ed6b' into feature-tree-broadcast 2020-04-10 17:05:18 -07:00
Evan Tschannen 07cc0a8d74 code cleanup 2020-04-10 17:02:11 -07:00
Meng Xu fe4bf3092f Buggify DESIRED_TEAMS_PER_SERVER between 1 and 10 2020-04-10 09:43:01 -07:00
A.J. Beamon ebeca10bce Change the serialization of tags sent in some messages. Add communication of the sampling rate from cluster to clients. 2020-04-09 16:55:56 -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
Balachandar Namasivayam 131ceeae1c Adjust knobs. 2020-04-06 23:45:49 -07:00
Balachandar Namasivayam 73272fc72e Version difference is now the diff between TLog versions and SS version. 2020-04-03 19:04:43 -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
tclinken 884e92bb49 Atomically update dependent knobs 2020-04-01 15:18:49 -07:00
Balachandar Namasivayam b1c3893d40 Fix some corner case bugs exposed by simulation.
In one case, when a SS joins the cluster and DD doesn't find any healthy server to form a team with the newly added server, then the SS does not get added to any team even when the other servers get healthy.
Another is an extreme case where a data center is down, and a SS in the active DC joins and then dies immediately but not before DD adds it to a destination team for a relocating shard which will result in DD waiting indefinitely for the dead data center to come back up for the cluster to be fully recovered.
2020-03-31 18:33:12 -07:00
Jingyu Zhou 40b17e1e9b Remove a no longer unused knob 2020-03-26 13:04:00 -07:00
A.J. Beamon e0424a52f8 Merge branch 'master' into transaction-tagging 2020-03-25 08:23:11 -07:00
Jingyu Zhou 80d3fa1222 Add delay for master to recruit backup workers
This delay is to ensure old epoch's backup workers can save their progress in
the database. Otherwise, the new master could attempts to recruit backup
workers for the old epoch on version ranges that have already been popped. As
a result, the logs will lose data.
2020-03-20 20:15:08 -07:00
Jingyu Zhou 940bea102a Add a knob to switch mutation logs for parallel restore
Knob FASTRESTORE_USE_PARTITIONED_LOGS, default is true to enable partitioned
mutation logs. Otherwise, old mutation logs are used.
2020-03-20 20:13:38 -07:00
A.J. Beamon 26b7e02d4c Some initial work to support tagging transactions and passing them around. 2020-03-20 11:23:11 -07:00
Jingyu Zhou 34415f82b3
Merge pull request #2832 from xumengpanda/mengxu/backup-code-review-PR
Buggify upload delay when backup worker upload data to blob
2020-03-19 21:42:28 -07:00
Meng Xu 94276076de BackupWorker:Buggify upload delay
Add questions to code as well.
2020-03-18 19:04:45 -07:00
Balachandar Namasivayam 58a9bfa78b
Merge pull request #2820 from dongxinEric/fix/1977/add-back-trace-event-flush-failure-report
Fix/1977/add back trace event flush failure report
2020-03-18 16:11:44 -07:00
Evan Tschannen e08f0201f1 merge release 6.2 into master 2020-03-17 12:51:47 -07:00
Evan Tschannen ed4d02a3e4
Merge pull request #2812 from etschannen/feature-proxy-mem-limit
Limit the amount of requests the proxy can queue up in memory
2020-03-16 14:56:56 -07:00
Evan Tschannen d6d347f665 treat a tlog which takes a long time to create its disk queue as failed 2020-03-13 10:31:59 -07:00
Evan Tschannen 243c268d9d Limit the amount of requests the proxy can queue up in memory 2020-03-13 10:17:49 -07:00
Xin Dong 5967ef5eab Added back the changes that report trace log flush failures and fix the random crash 2020-03-12 14:34:19 -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
Evan Tschannen e219c1671f Merge branch 'release-6.2' into feature-dd-region-queue
# Conflicts:
#	fdbserver/Knobs.h
2020-03-04 16:25:38 -08:00
Evan Tschannen 6d6f184e2f added a knob which reverts the new queue behavior 2020-03-04 16:23:49 -08:00
Evan Tschannen b7834b2995
Merge pull request #2774 from etschannen/feature-dd-repopulate-priority
Make the DD priority of populating a region lower than machine failures
2020-03-04 16:15:18 -08:00
Xin Dong 39610d15f8 Revert this change since it somehow introduced a random crash detected on circus 2020-03-04 16:14:38 -08:00
Evan Tschannen 6296465e07 Make the DD priority associated with populating a remote region lower than machine failures 2020-03-04 14:07:32 -08:00
Meng Xu 2c6f82e1ab FastRestore:Add unit name to threshold knob name 2020-03-02 10:52:44 -08:00
Meng Xu 1ef4cb432b Merge branch 'master' into mengxu/fast-restore-robust-and-visibility-PR-v2 2020-03-01 20:08:07 -08:00
Meng Xu ad9b3fb4a8 DD:Add trace for detailed relocate shard info 2020-02-29 13:45:10 -08:00
Meng Xu 5c562e3714 FastRestore:Optimize memory usage in updateHeartbeatTime
Only allocate memory once.
Reset vector element value for each loop.

Also ensure FASTRESTORE_HEARTBEAT_DELAY not 0
2020-02-28 20:52:25 -08:00
Meng Xu 01c1a15caf FastRestore:Applier:Limit fetch keys number in a txn in getAndComputeStagingKeys 2020-02-28 16:53:36 -08:00
Meng Xu 62b9043ff6 FastRestore:DB can be destroyed before master unlock it in simulation
Because retore roles run as workload in simulation,
they do not know when DB is destroyed by the backup and restore test workload.
So if DB is destroyed earlier than restore master unlocks DB, which is rare,
restore master should abort the unlocking DB step.
2020-02-28 14:25:58 -08:00
A.J. Beamon 993c6e478e Merge branch 'master' into grv-proxy-perf-improvements 2020-02-28 14:25:42 -08:00
Xin Dong 13e72f7b3b
Merge pull request #2605 from dongxinEric/fix/1977/report-inability-to-flush-trace-log
Report inability to flush trace logs.
2020-02-27 12:36:55 -08:00
Meng Xu 97d7eb49b5 FastRestore:Master:Report unavailable role periodically
Ping all restore roles and report unavailable ones.
2020-02-26 16:14:55 -08:00
Meng Xu ca726fc68e FastRestore:Introduce OOM protection
An actor is schedulable to run if the current worker has enough resourc, i.e.,
the worker's memory usage is below the threshold;
Exception: If the actor is working on the current version batch, we have to schedule
the actor to run to avoid dead-lock.
Future: When we release the actors that are blocked by memory usage, we should release them
in increasing order of their version batch.
2020-02-26 14:09:18 -08:00
Evan Tschannen 924d335aa7 Merge branch 'release-6.2'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	flow/Knobs.cpp
#	flow/Knobs.h
2020-02-25 18:25:19 -08:00