Commit Graph

236 Commits

Author SHA1 Message Date
Josh Slocum 327ae95819 fix warnings 2022-03-18 11:19:00 -05:00
Josh Slocum 37e7c80f26 Merge branch 'main' into blob_integration 2022-03-17 18:45:42 -05:00
Josh Slocum 051d09159f Changing pops to asynchronous to remove performance bottleneck 2022-03-17 14:39:52 -05:00
Evan Tschannen 2c88a189a9 more pruning bug fixes 2022-03-15 13:34:59 -07:00
Evan Tschannen d46e551f11 merge 2022-03-15 13:09:10 -07:00
Josh Slocum ce5b567971 Cleanup the cleanup 2022-03-15 15:02:28 -05:00
Josh Slocum b27d6bbfab Have BW read manager lock on startup to avoid races with old BM 2022-03-15 10:10:29 -05:00
Josh Slocum 8c35ceb684 switching bg file keys to sort on version then type, and using that to fix race where 2 blob workers try to split the same granule at different versions 2022-03-14 17:38:31 -05:00
sfc-gh-tclinkenbeard 8dcac2f76d Fix typos 2022-03-13 10:02:11 -03:00
Josh Slocum 479ac313ca Fixing conflict handling in BM recovery 2022-03-10 16:35:08 -06:00
Josh Slocum 4f88e00404 Adding change feed pop to set of expected granule errors 2022-03-10 14:37:32 -06:00
Josh Slocum 903f7adbc4 more cleanup 2022-03-10 13:53:06 -06:00
Josh Slocum 4b254d259c Ensuring BM split retry is idempotent 2022-03-10 11:54:57 -06:00
Josh Slocum c8c97e0256 Blob Worker focused cleanup 2022-03-10 09:55:23 -06:00
Josh Slocum 1f964ac085 BM focused cleanup 2022-03-09 15:04:17 -06:00
Josh Slocum 9dbb6d216e SS-focused cleanup 2022-03-09 10:39:04 -06:00
Josh Slocum b21d0943b9 client-focused cleanup 2022-03-09 10:01:25 -06:00
Josh Slocum f230ac0e41 Fixing more merge issues 2022-03-09 09:13:03 -06:00
Josh Slocum e71b3533f9 Merge branch 'main' into blob_integration 2022-03-09 08:59:56 -06:00
Jingyu Zhou 1a5bf25b5c Update code base to use fmt 8.1.1 2022-03-04 15:52:06 -08:00
Evan Tschannen 976375466f fixed more pruning bugs 2022-03-02 17:03:37 -08:00
Josh Slocum e0578f24d2 Fixes for range streaming BG snapshot 2022-03-01 12:45:58 -06:00
Evan Tschannen 6f1fb71949 Fixed a number of different pruning problems 2022-03-01 10:13:20 -08:00
Evan Tschannen 8f8987ad67 Merge branch 'blob_integration' of https://github.com/apple/foundationdb into blob_integration 2022-03-01 10:12:36 -08:00
Josh Slocum ce176e846e Switching initial granule snapshot to use range stream 2022-03-01 11:20:44 -06:00
Josh Slocum 3090fb174c Tweaks to granule initial snapshot 2022-03-01 08:52:38 -06:00
Josh Slocum c27204d401 more BM split race fixes 2022-03-01 07:18:43 -06:00
Josh Slocum ed9f95b299 simplifying blob manager recovery by always treating the DB granule mapping as the source of truth, and persisting all boundary changes there BEFORE updating workers 2022-02-25 14:46:14 -06:00
Evan Tschannen 940f26cb0c Merge branch 'blob_integration' of https://github.com/apple/foundationdb into blob_integration 2022-02-25 11:00:13 -08:00
Josh Slocum e5b4fb3d80 Adding explicit popVersion to change feed reply, like tlogs have 2022-02-24 15:20:18 -06:00
A.J. Beamon 250a88e682 Enforce that trace event suppression calls happen first when using trace event call chaining. Fix various instances where we weren't following this requirement. 2022-02-24 12:25:52 -08:00
Josh Slocum 2701e44564 Fixing error handling and race for blob worker status stream to manager 2022-02-23 15:55:16 -06:00
Evan Tschannen 330b2b48ec improved file cleanup execution and testing 2022-02-22 12:00:09 -08:00
Josh Slocum bfb1902a7a Fixing logic for when granule split is valid 2022-02-16 11:34:22 -06:00
Josh Slocum abdbc5aafb Fixing granule opening after not deleting granule locks 2022-02-14 13:20:54 -06:00
Josh Slocum 7f3f77fd77 Not cleaning up granule locks immediately after split 2022-02-14 11:29:21 -06:00
Josh Slocum 0db843bc56 more CF movement and cleanup races 2022-02-11 16:04:28 -06:00
Josh Slocum 7a76b86b53 Blob worker request timeout race 2022-02-09 16:22:56 -06:00
Josh Slocum c8cd8c0622 Adding request timeout for blob worker 2022-02-09 15:49:33 -06:00
Josh Slocum f4c235f134 propagating change_feed_popped correctly 2022-02-09 09:34:13 -06:00
Josh Slocum 0fb512489e Removing incorrect epoch check 2022-02-09 09:33:57 -06:00
Josh Slocum 4d77932def fixed reordering 2022-02-09 08:05:20 -06:00
Josh Slocum 9277296102 Set doneRecovering for first blob manager 2022-02-08 17:47:08 -06:00
Josh Slocum f05a589669 Fixing blob manager recovery/blob worker status stream races 2022-02-08 17:17:32 -06:00
Josh Slocum ddfc301d74 Improving memory footprint of change feeds and making it configurable 2022-02-04 16:41:25 -06:00
Josh Slocum 9c8afdf35c Debugged and fixed stuck change feed issue 2022-02-02 15:15:54 -06:00
Josh Slocum c90c356c2c Improving orphaned file cleanup in Blob Worker 2022-02-02 11:28:13 -06:00
Josh Slocum d58b0325b3 Added write-hot granule splitting and splitting based on write rate 2022-02-02 09:45:18 -06:00
Josh Slocum 3a7fb164c6 Small pipelining improvements for behind blob worker 2022-02-02 08:49:56 -06:00
Josh Slocum 3baad66b4c Better bound on knowing if a delta file can be committed 2022-02-01 16:28:25 -06:00
Josh Slocum a42c80faa9 Tightening up memory management in the blob worker 2022-02-01 14:52:28 -06:00
Josh Slocum d0113a6776 Added mechanism for blob manager to poll blob workers for their granule assignments, and used that to improve manager recovery 2022-01-31 19:59:41 -06:00
Josh Slocum f2b9eb1d4b Fixing potential bug of mixed-version FDB result in granule verifier 2022-01-31 10:44:09 -06:00
Josh Slocum ac1fd056dd Added change feed popped read guard for blob workers 2022-01-28 10:45:33 -06:00
Josh Slocum cfbb3f5b2b Adding random prefix to blob worker generated files 2022-01-28 07:43:34 -06:00
Josh Slocum df1a21564b Fixed Blob Worker Rollback issue 2022-01-28 06:21:07 -06:00
Josh Slocum 4262241c92 Removed incorrect assert 2022-01-24 12:51:07 -06:00
Josh Slocum 4d7d1f0e8e Rollback tracking fix for blob worker 2022-01-24 12:50:41 -06:00
Josh Slocum 42a36dc756 Fixed Blob Manager recruitment error and Blob Worker monitoring error 2022-01-24 09:46:37 -06:00
Josh Slocum 1180eb6e44 Fixed uncaught error in blob worker requests 2022-01-21 18:02:30 -06:00
Josh Slocum 558779d782 Fix open granule races 2022-01-21 13:20:15 -06:00
Josh Slocum 951b28498b Fixed a couple issues with manager recovery and granule locks 2022-01-20 19:27:25 -06:00
Josh Slocum 62acbcfe19 Added explicit error for old blob manager instead of attaching it to response objects 2022-01-20 14:43:08 -06:00
Josh Slocum 6a8e73891f Bug fixes for blob worker rollbacks 2022-01-20 11:44:53 -06:00
Josh Slocum 215f5fae93 Reworked change feed initialization to handle more types of races 2022-01-19 15:20:23 -06:00
Josh Slocum f914b0860b Fixed race in change feed initialization 2022-01-19 09:11:55 -06:00
Josh Slocum 9d9cb961a1 reworked blob manager recovery to be more efficient 2022-01-18 14:22:58 -06:00
Josh Slocum 04e8839656 fixed incorrect assert 2022-01-14 18:43:16 -06:00
Josh Slocum 58bc3a78ea Fixed range assignment bug and fixed printf compiler warnings 2022-01-14 17:46:32 -06:00
Josh Slocum 661c50d29f Handled server_overloaded in storageFeedVersionUpdater 2022-01-13 16:29:25 -06:00
Josh Slocum 3b2e58ada8 Fixed rollback of snapshot files bug 2022-01-11 15:35:54 -06:00
Josh Slocum 6b4b22229b Fixed rollback and granule history issue 2022-01-11 15:35:54 -06:00
Josh Slocum 59e6793c6b Fixed waitForVersion sanity check for rollbacks 2022-01-10 13:44:56 -06:00
Evan Tschannen 01fa42522a fix: changed loadHistoryFiles to take a database object 2022-01-10 11:33:18 -08:00
Josh Slocum f0b434d9ce Don't log operation_cancelled 2022-01-10 12:27:52 -06:00
Josh Slocum 17ba3e796d Fixed some races in file requests and wait committed 2022-01-10 12:27:52 -06:00
Josh Slocum 21309fb55b Change feed merge cursor whenAtLeast fix 2022-01-07 16:16:29 -06:00
Josh Slocum 2c62dee5ba Fixed more issues in blob granule requests 2022-01-07 13:49:02 -06:00
Josh Slocum 4d2650f4dc Fixed a couple issues with failures and the final availability check 2022-01-07 11:21:05 -06:00
Josh Slocum 0f66cca8e0 Fixing change feed race with empty mutation and error 2022-01-05 16:40:07 -06:00
Josh Slocum a96163d9d3 Fixed ASAN issues 2022-01-05 13:12:49 -06:00
Josh Slocum bc69521a91 Several fixes with restarting BW/BM 2022-01-05 12:48:53 -06:00
Josh Slocum 738b72918a send merge cursor's buffered data if all sub-streams have something at this version 2021-12-21 16:32:56 -06:00
Josh Slocum b0aea91895 Broadening explicit disconnect handling to explicit error handling of all types 2021-12-21 14:12:09 -06:00
Josh Slocum d337e8fbe8 Handled disconnects explicitly in CF streams 2021-12-21 10:38:04 -06:00
Josh Slocum 9f69715fec Fixing blob worker committed tracking and ReplyPromiseStream::onEmpty 2021-12-20 11:33:44 -06:00
Josh Slocum ea7a5114f5 Merge branch 'bw_rollback_grv' into blob_integration 2021-12-10 16:59:59 -06:00
Suraj Gupta e9d1f36cae More cleanup. 2021-12-10 16:43:58 -06:00
Suraj Gupta 1d32da5ac6 Remove local debugging. 2021-12-10 16:43:58 -06:00
Suraj Gupta 310d990b12 Add debugging. 2021-12-10 16:43:58 -06:00
Suraj Gupta 2ccb3a4740 Fix range boundaries and clearing intents. 2021-12-10 16:43:58 -06:00
Suraj Gupta 23de6fa39b Get it compiled 2021-12-10 16:43:58 -06:00
Suraj Gupta 932f68e1b3 Refactor bstore and add watch key. 2021-12-10 16:43:58 -06:00
Suraj Gupta 22d72ec9dd init 2021-12-10 16:43:58 -06:00
Josh Slocum 307d049c9d Cleaning up some memory lifetime issues 2021-12-10 16:12:06 -06:00
Josh Slocum ff2cd691cd Switching back to GRV for committed version checking, with proper rollback checking 2021-12-10 15:27:25 -06:00
Suraj Gupta d3fbad74a2 cleanup debugging 2021-12-10 14:00:34 -06:00
Suraj Gupta cb568bbd55 Add watch on config key. 2021-12-10 14:00:34 -06:00
Josh Slocum c95c93b527 removed incorrect assert for now 2021-12-09 17:06:20 -06:00
Josh Slocum 8dc5f79dc7 Made blob worker assume no empty mutations, and made merge cursor not send them 2021-12-09 15:00:46 -06:00