Steve Atherton
508429f30d
Redwood chunked file growth and low priority IO starvation prevention ( #5936 )
...
* Redwood files now growth in large page chunks controlled by a knob to reduce truncate() calls for expansion. PriorityMultiLock has limit on consecutive same-priority lock release. Increased Redwood max priority level to 3 for more separation at higher BTree levels.
* Simulation fix, don't mark certain IO timeout errors as injected unless the simulated process has been set to have an unreliable disk.
* Pager writes now truncate gradually upward, one chunk at a time, in response to writes, which wait on only the necessary truncate operations. Increased buggified chunk size because truncate can be very slow in simulation.
* In simulation, ioTimeoutError() and ioDegradedOrTimeoutError() will wait until at least the target timeout interval past the point when simulation is sped up.
* PriorityMultiLock::toString() prints more info and is now public.
* Added queued time to PriorityMultiLock.
* Bug fix to handle when speedUpSimulation changes later than the configured time.
* Refactored mutation application in leaf nodes to do fewer comparisons and do in place value updates if the new value is the same size as the old value.
* Renamed updatingInPlace to updatingDeltaTree for clarity. Inlined switchToLinearMerge() since it is only used in one place.
* Updated extendToCover to be more clear by passing in the old extension future as a parameter. Fixed initialization warning.
2021-11-12 13:47:07 -08:00
Dan Lambright
4979ccb889
commits recovered if written to every tlog minus failure tolerance.
2021-11-12 12:10:04 -05:00
Jingyu Zhou
ad9ff18f69
Flip PROXY_USE_RESOLVER_PRIVATE_MUTATIONS to true
2021-11-11 11:26:18 -08:00
Daniel Smith
394b9dc619
Code review changes
2021-11-10 11:53:27 -05:00
Daniel Smith
f6342b0a8d
Update defaults
2021-11-10 11:51:05 -05:00
Daniel Smith
66520eb1c1
Utilize read types to do selective throttling
2021-11-10 11:51:04 -05:00
Tao Lin
fdb3b72e35
Introduce GetRangeAndFlatMap to push computations down to FDB
...
Re-introduce #5609
2021-11-09 13:52:28 -08:00
Tao Lin
586cc3b102
Revert "Introduce GetRangeAndFlatMap to push computations down to FDB"
2021-11-04 08:46:56 -07:00
Tao Lin
0853661d13
Introduce getRangeAndHop to push computations down to FDB
2021-11-03 13:21:16 -07:00
Dan Lambright
befe1993c4
fix conflict on rebase
2021-10-29 12:25:26 -04:00
Sreenath Bodagala
7b0c39572e
- Disable PROXY_USE_RESOLVER_PRIVATE_MUTATIONS in simulation tests
2021-10-28 21:31:53 +00:00
Xiaoxi Wang
1a2a838df3
add knob
2021-10-27 09:08:37 -07:00
Xiaoxi Wang
69190ed04e
format
2021-10-27 09:08:37 -07:00
Xiaoxi Wang
0053b4793e
change knob and delete redundant doBuildTeam
2021-10-27 09:08:37 -07:00
Evan Tschannen
2208b04174
Merge pull request #5855 from sfc-gh-etschannen/blob_full_clean
...
Blob Granules V0
2021-10-26 09:57:35 -07:00
Lukas Joswiak
c96f560cbe
Verify rollback of a single version in simulation, other small fixes
2021-10-25 12:03:22 -07:00
Josh Slocum
0ff8ddc2b6
Merge branch 'master' into blob_full_clean
2021-10-25 13:38:48 -05:00
Steve Atherton
d153519188
Merge pull request #5813 from sfc-gh-jslocum/ss_ebrake_streaming_fix
...
Fixes to ss e-brake, tlog streaming, and their interaction
2021-10-22 10:46:17 -07:00
Josh Slocum
773886515e
Merge branch 'feature-range-feed' into blob_full_clean
2021-10-22 11:07:51 -05:00
Zhe Wu
0cf829ef91
Reduce restore error message
2021-10-20 14:02:48 -07:00
sbodagala
48a0ecd647
Merge pull request #5787 from dlambrig/integrate-PR5700
...
version vector / Calculate TPCV on resolvers
2021-10-20 16:35:44 -04:00
Josh Slocum
8dd7f8f447
Fixes to ss e-brake, tlog streaming, and their interaction
2021-10-20 10:48:29 -05:00
Suraj Gupta
ff0d687704
Cleanup comments for server knobs.
2021-10-18 17:45:30 -04:00
Sreenath Bodagala
246f035afe
Merge remote-tracking branch 'apple-upstream/master' into version-vector-prototype
2021-10-18 19:07:33 +00:00
Dan Lambright
eb814ce070
Remove dead code, check replies match for all resolvers
2021-10-18 10:23:08 -04:00
A.J. Beamon
507a09893c
Add ClientCount to ClusterControllerMetrics ( #5748 )
2021-10-17 20:47:11 -07:00
Jingyu Zhou
eaf0a00502
Enable PROXY_USE_RESOLVER_PRIVATE_MUTATIONS for simulation tests
2021-10-15 09:47:23 -04:00
Jingyu Zhou
0dc9c607f4
Add knob PROXY_USE_RESOLVER_PRIVATE_MUTATIONS
...
To control proxy to use private mutations from resolvers or not.
2021-10-15 09:47:23 -04:00
Josh Slocum
5f0ec0612a
Merge branch 'feature-range-feed' into blob_full
2021-10-13 15:44:35 -05:00
Suraj Gupta
2ec8781224
Merge knobs into one.
2021-10-13 14:00:37 -04:00
Suraj Gupta
a163619fbc
Change default val for knob.
2021-10-13 09:58:09 -04:00
Suraj Gupta
5a6a052c55
Add a knob to gate blob-related work.
2021-10-13 09:48:02 -04:00
Dan Lambright
fdb67a2abf
Merge pull request #5754 from dlambrig/always-true
...
have ENABLE_VERSION_VECTOR true by default
2021-10-11 18:41:04 -04:00
Dan Lambright
ca8f4dd9d0
ENABLE_VERSION_VECTOR true
2021-10-11 18:38:54 -04:00
Dan Lambright
f68d018a06
conflicts
2021-10-08 12:39:39 -04:00
Zhe Wu
c0fbe5471f
Implement the core logic of grey failure triggered failover
2021-10-07 11:19:34 -07:00
Suraj Gupta
4d54669ccd
Recruit the blob workers via blob manager.
...
In this PR, the blob manager now recruits blob workers
(via communication with the cluster controller). Blob workers
are onboarded as blob worker processes enter the cluster.
2021-10-04 11:07:08 -04:00
Dan Lambright
58e1888d8e
remove network hop by getting previous commit versions in GetCommitVersionRequest
2021-09-30 11:51:57 -04:00
Zhe Wu
cb154c12d4
disable ENABLE_DETAILED_TLOG_POP_TRACE by default
2021-09-26 21:46:57 -07:00
A.J. Beamon
c2885ab70d
The BACKUP_LOCK_BYTES knob could be buggified to a value that was too low, resulting in backup getting stuck.
2021-09-24 09:15:30 -07:00
Suraj Gupta
5fa6c687d6
Add blob manager as a singleton.
2021-09-23 10:45:37 -04:00
Suraj Gupta
72edcd8d73
Address PR comments.
...
Revert knob name change, fix comparison between new and old
recruitments, and get rid of empty `if` block.
2021-09-22 16:56:34 -05:00
Suraj Gupta
0b6fecddbc
Refactor logic for recruiting singletons.
...
This commit refactors the logic for recruiting singletons,
which is done by the ClusterController. This allows for far
easier additions of new singletons in the future, and also
cleans up the code.
Also, the logic for recruiting DD was changed to mirror
the logic for recruiting RK. Although the logic for RK
allows there to be many RKs existing at once, the moveKeysLock
mechanism used by DD still prevents multiple DDs existing at once.
2021-09-22 16:56:18 -05:00
Suraj Gupta
6533678f0d
Address PR comments.
...
Revert knob name change, fix comparison between new and old
recruitments, and get rid of empty `if` block.
2021-09-20 14:26:42 -05:00
Suraj Gupta
fe098b3b11
Refactor logic for recruiting singletons.
...
This commit refactors the logic for recruiting singletons,
which is done by the ClusterController. This allows for far
easier additions of new singletons in the future, and also
cleans up the code.
Also, the logic for recruiting DD was changed to mirror
the logic for recruiting RK. Although the logic for RK
allows there to be many RKs existing at once, the moveKeysLock
mechanism used by DD still prevents multiple DDs existing at once.
2021-09-20 14:26:42 -05:00
Josh Slocum
c9b8bdffbe
Passes a single correctness test!
2021-09-15 17:18:04 -05:00
Josh Slocum
c2d1d1704f
Merge branch 'feature-range-feed' into blob_full
2021-09-10 11:21:52 -05:00
Josh Slocum
eb76343dfb
Added blob granule reassignment and splitting
2021-09-08 14:09:14 -05:00
Dan Lambright
8689e1f106
merge with master
2021-08-30 15:29:08 -04:00
Steve Atherton
be440ab954
Merge pull request #5260 from FuhengZhao/RedwoodHistogram
...
Redwood local histograms
2021-08-26 12:05:44 -07:00
Josh Slocum
8d49c98a41
Added simulation workload for blob granules and fixed some bugs
2021-08-26 13:48:05 -05:00
Fuheng Zhao
e328e2b5df
format fix
2021-08-24 18:34:44 -07:00
Fuheng Zhao
5eb92ae65c
reomve registry
2021-08-24 15:47:04 -07:00
Josh Slocum
5259af787d
Switched blob implementation to use backup container
2021-08-24 13:47:47 -05:00
Fuheng Zhao
57652a0cae
Format
2021-08-24 10:00:24 -07:00
Fuheng Zhao
b65a66fab7
log redwood histogram seperatly
2021-08-24 09:57:39 -07:00
Lukas Joswiak
d554205db3
Move common knob initialization macros to header
2021-08-23 11:41:01 -07:00
Lukas Joswiak
7998ec4232
Add atomicity to knobs
2021-08-23 11:41:00 -07:00
Neethu Haneesha Bingi
02b3ed3ff1
Adding deadline option to rocksdb calls.
2021-08-19 14:11:28 -07:00
Neethu Haneesha Bingi
fbb393f998
Added readrange timeoout check and rocksdb read deadline option.
2021-08-19 14:11:28 -07:00
Neethu Haneesha Bingi
24ac173c95
Adding ReadRangeAction timeout, returning error and using timer_monotonic changes.
2021-08-19 14:11:28 -07:00
Neethu Haneesha Bingi
01e85610ab
Cancelling the timedout reads with rocksdb storage.
2021-08-19 14:11:28 -07:00
Daniel Smith
45b40addb7
Merge pull request #5379 from neethuhaneesha/eagerReadsDisable
...
Disabling option for removing eagerReads for ClearRange mutations.
2021-08-19 12:39:30 -04:00
Neethu Haneesha Bingi
c45daf6f51
Disabling option for removing eagerReads for ClearRange mutations.
2021-08-13 01:26:50 -07:00
Xiaoxi Wang
df7a801945
remove FIXME
2021-08-12 14:10:34 -07:00
Xiaoxi Wang
a97570bd06
solve mis-spelling, trace log and format problems
2021-08-11 18:26:00 -07:00
Josh Slocum
921a2cfca1
Merge branch 'feature-range-feed' into blob_full
2021-08-10 11:25:48 -05:00
Josh Slocum
247602753d
Blob worker handles multiple ranges now
2021-08-10 11:19:43 -05:00
Josh Slocum
e83b27387a
POC worker that dumps fdb range to an s3 object
2021-08-06 11:01:37 -05:00
Sreenath Bodagala
1758c92683
- Pull changes related to tlog-peeks from the version indexer branch
...
Pull commits 5e37bc37a0 and
95e85aaffb from the version indexer branch.
2021-08-06 14:42:35 +00:00
Sreenath Bodagala
a081c0baa5
Merge remote-tracking branch 'apple-upstream/master' into version-vector-prototype
2021-08-05 22:40:32 +00:00
Xiaoxi Wang
fd74a16f35
format code
2021-08-02 14:24:20 -07:00
Xiaoxi Wang
2df0474fec
merge master
2021-08-02 11:58:35 -07:00
Daniel Smith
a26dbba66f
Add RocksDB metrics
2021-07-30 13:27:43 -04:00
Xiaoxi Wang
10c82b422f
merge master branch
2021-07-28 14:19:46 -07:00
Dan Lambright
55094bdd00
Merge branch 'master' into expired-forward
2021-07-26 19:58:29 -04:00
Trevor Clinkenbeard
48d4ea6d57
Merge pull request #5231 from sfc-gh-tclinkenbeard/availability-improvements
...
Throw `failed_to_progress` error when a role fails to make progress
2021-07-26 15:55:14 -07:00
Zhe Wu
e39cfd48c3
Ignore goodRecruitmentTime and populate default PEER_LATENCY_CHECK_MIN_POPULATION
2021-07-26 10:24:26 -07:00
Dan Lambright
34fecb61de
Reject connections to clusters forwarded in the (configurable) past
2021-07-26 10:18:10 -04:00
Xiaoxi Wang
1057835e8b
merge with master
2021-07-20 17:09:34 -07:00
sfc-gh-tclinkenbeard
6836e49073
Throw error when commitProxy gets stuck
2021-07-19 21:00:28 -07:00
sfc-gh-tclinkenbeard
d46feb5468
Add COORDINATOR_LEADER_CONNECTION_TIMEOUT server knob
2021-07-19 20:17:46 -07:00
Daniel Smith
0f99d449fc
Revert "Merge pull request #5194 from apple/revert-5144-rocksdb-in-simulation"
...
This reverts commit 8ecff8c730 , reversing
changes made to c8e18f99f0 .
2021-07-16 12:01:01 -04:00
Evan Tschannen
b7b845dab8
Revert "RocksDB in simulation"
2021-07-15 16:41:33 -07:00
Xiaoxi Wang
1584ed5853
Merge branch 'master' of https://github.com/apple/foundationdb into tlog_dev
2021-07-14 16:20:19 +00:00
Daniel Smith
4e16e2552b
Even smaller memtable
2021-07-13 12:25:11 -04:00
Daniel Smith
0613ff892f
Enable RocksDB in simulation
2021-07-13 12:25:11 -04:00
Dan Lambright
d8122ebc09
Respond to review comments 7/8
2021-07-12 12:13:25 -04:00
Dan Lambright
a107dd655e
tpcv messaging
2021-07-12 11:46:52 -04:00
Xiaoxi Wang
501dc339a9
relax perpetual wiggle pause condition; add trace log; correct perpetual wiggle priority setting
2021-07-12 05:46:55 +00:00
Xiaoxi Wang
2abdbff11f
add Knobs
2021-07-12 05:33:23 +00:00
Zhe Wu
8773cb1a42
Merge pull request #5088 from halfprice/zhewu/cc-health-triggered-recovery
...
Implement the main logic of gray network triggered recovery in Cluster Controller
2021-07-11 20:50:34 -07:00
sfc-gh-tclinkenbeard
020371a78f
Merge remote-tracking branch 'origin/master' into add-boolean-param
2021-07-07 16:50:51 -07:00
Zhe Wang
cc10c9aee2
clean up add_trace_event_to_tLog_pop
2021-07-07 14:14:59 -05:00
Steve Atherton
9b969b99f4
Merge pull request #5118 from sfc-gh-satherton/redwood-rangeread-prefetch
...
Redwood range read prefetching
2021-07-07 11:12:18 -07:00
Zhe Wang
b82a3f4276
add trace event to tLog pop
2021-07-07 12:13:49 -05:00
Xiaoxi Wang
569de5259f
Merge branch 'master' of https://github.com/apple/foundationdb into tlog_dev
2021-07-06 23:15:20 +00:00
Steve Atherton
e74f5d45b0
Added range read prefetching back to Redwood with a conservative approach that should rarely read blocks not needed for the range read. Removed unused knob declarations.
2021-07-04 01:51:44 -07:00
sfc-gh-tclinkenbeard
8cc40e3a2b
Expand use of BOOLEAN_PARAM
2021-07-02 21:41:50 -07:00
Xiaoxi Wang
b50fda6b4b
add simple streaming peek functions
2021-07-01 23:17:28 +00:00
Zhe Wu
5a325aded9
Implement the core logic of gray network triggered recovery in cluster controller
2021-06-30 11:27:05 -07:00
Zhe Wu
865367fb72
Add updateWorkerHealth interface in cluster controller
2021-06-24 19:42:28 -07:00
Xiaoxi Wang
7b713f7fd2
add knob
2021-06-23 05:49:55 +00:00
Evan Tschannen
244e8f3527
Merge branch 'master' of https://github.com/apple/foundationdb into feature-streaming-reply-master
...
# Conflicts:
# fdbclient/CMakeLists.txt
# fdbclient/Knobs.h
# fdbserver/Knobs.h
2021-06-21 16:35:21 -07:00
sfc-gh-tclinkenbeard
6619545c30
Merge remote-tracking branch 'origin/master' into config-db
2021-06-18 19:59:56 -07:00
sfc-gh-tclinkenbeard
41c790b299
Merge remote-tracking branch 'origin/master' into config-db
2021-06-10 22:31:23 -07:00
sfc-gh-tclinkenbeard
83a0e473e8
Refactor IKnobCollection code
2021-06-09 20:50:00 -07:00
sfc-gh-tclinkenbeard
a775f92fca
Merge remote-tracking branch 'origin/master' into config-db
2021-06-01 15:39:34 -07:00
sfc-gh-tclinkenbeard
ca0893571c
Move server knobs into fdbclient
2021-06-01 03:12:47 -07:00