Commit Graph

1299 Commits

Author SHA1 Message Date
Evan Tschannen 2e286b768d fix: locality is needed for a logSet to call getPushLocations
fix: accidentally deleted allowPops assignment on the log router
2018-04-29 13:47:32 -07:00
Evan Tschannen dbdeeaa5cf fix: log routers are given all the information they need to add remote tags in their initialization request 2018-04-28 18:04:57 -07:00
Evan Tschannen 33fa8f2cac fix: make sure log routers only add remote tags from the correct log set 2018-04-28 15:04:13 -07:00
Evan Tschannen f77c1ec14e fix: fixed rare bug where a log stopped by a different recruitment would still response successfully to the recruitment message 2018-04-28 13:34:06 -07:00
Evan Tschannen 23c0249d80 fix: old log routers tags must be available at the best location in the new generation 2018-04-28 11:13:10 -07:00
Evan Tschannen af63dac5dd fix: remote logs need to wait until the durable known committed version is greater than the recovery version before completing recovery to ensure we will not pick a start version that we do not have 2018-04-27 12:18:42 -07:00
Evan Tschannen 32e9ea3bb4 fix: recruited the wrong number of log routers 2018-04-26 22:22:15 -07:00
Evan Tschannen d72087bfd3 fix: we may not be able to recruit enough log routers, in this case put multiple log routers on the same worker, but also properly rank this configuration lower in better master exists 2018-04-26 22:18:07 -07:00
Evan Tschannen a12b994966 fix: log routers need tlogs to be present before accepting data 2018-04-26 18:37:51 -07:00
Evan Tschannen abcfb0604a fix: cloneNoMore needs to pass useBestSet 2018-04-26 18:32:12 -07:00
Evan Tschannen c7fd85243b fix: passed the wrong argument value 2018-04-26 13:25:27 -07:00
Evan Tschannen 0dd6931223 fix: remote recruitment must still wait for old log routers to be recruited since they are not needed by the newly recruited logs to finish recovery 2018-04-26 12:55:28 -07:00
Evan Tschannen 721aaa2a6b fix: we need to monitor old log routers for failures before recovery is complete
fix: after configuring out of fearless remote logs will not have all the data until the new configuration
2018-04-26 10:59:21 -07:00
Evan Tschannen a2b62e15ea fix: only peek to peekEnd() 2018-04-25 19:56:50 -07:00
Evan Tschannen 7e434348ce fix: storage servers did not properly pull data when configuring from a fearless setup to a non-fearless setup 2018-04-25 18:20:28 -07:00
Evan Tschannen fa9089c2e8 fix: removed storage servers must be popped on remote logs from the proxy 2018-04-25 15:38:34 -07:00
Evan Tschannen 471e7b9ab9 fix: update the logSystem on the proxies so that they can pop the txs tag from remote logs 2018-04-25 10:16:31 -07:00
Evan Tschannen 4119a1c5d5 do not add cursors for log sets that have no data 2018-04-24 22:06:10 -07:00
Evan Tschannen 95855dbfc4 correctly filter locality data 2018-04-24 18:14:34 -07:00
Evan Tschannen 35b2ca820a fix: certain tlog errors during remote recovery could fail to kill the master, the master could have a reference counting cycle with its actor collection 2018-04-24 16:10:14 -07:00
Evan Tschannen 1cfe1cb7f0 fix: do not let the storage server process an exhausted version, because it could prevent a rollback 2018-04-23 22:03:55 -07:00
Evan Tschannen ae1de575f1 fix: remote logs are not considered fully recovered until they are at recoveredAt 2018-04-23 17:49:46 -07:00
Evan Tschannen 3ec09ce9f6 fix: only peekSingle needs to throw worker_removed, because tlogs have other ways to get notified they are no longer needed
fix: we need to wait until tags are popped past recoveredAt instead of unrecovered before
2018-04-23 16:43:08 -07:00
Evan Tschannen 126fc53d10 fix: the start version for peek cursors that merge with multiple log sets is the maximum of the individual start versions 2018-04-23 12:42:51 -07:00
Evan Tschannen 73597f190e fix: new tlogs are initialized with exactly the tags which existed at the recovery version 2018-04-22 20:28:01 -07:00
Evan Tschannen a520d03397 fix: if we cannot find a tag, it must have been popped at the recovery version. 2018-04-22 15:08:38 -07:00
Evan Tschannen ef23136809 fix: ensure the logSystemConfig is updated with newly recruited log routers 2018-04-22 11:54:39 -07:00
Evan Tschannen fceec020de fix: use the known committed version if the last generation primary logs were in the same data center as this generation
the known committed version in end epoch is the maximum seen in all responses regardless of log set
2018-04-22 11:14:13 -07:00
Evan Tschannen c3a344d44e fix: do not choose a remote start version past the start of the locked logs 2018-04-21 16:03:28 -07:00
Evan Tschannen 28a1fa9dc2 fix: we need to notify the old log system that its recruitmentID has changed 2018-04-21 12:57:00 -07:00
Evan Tschannen 1d1e2cd367 fix: initialize the known committed version on the tlog 2018-04-21 00:41:15 -07:00
Evan Tschannen 8d350ceb5f fix: persist the known committed version on the tlogs 2018-04-20 17:55:46 -07:00
Evan Tschannen a6d9e889f0 a cleaner solution to preventing tlogs from peeking log routers 2018-04-20 13:25:22 -07:00
Evan Tschannen f5c3417905 fix: prevent tlogs from peeking the wrong log routers 2018-04-20 00:30:37 -07:00
Evan Tschannen 5da452db8e fix: pop the log routers again after the log system updates 2018-04-19 14:33:31 -07:00
Evan Tschannen 22526ef996 fix: do not tell storage servers about large sections of empty versions, because it can lead them to make mutations durable which have not been committed 2018-04-18 16:06:44 -07:00
Evan Tschannen 447c7bd15b fix: log routers use durable known committed version at the time of the pop to determine what is safe to pop from their logs
fix: storage server does not advance its version across large version increase until it has data associated with the version
2018-04-18 12:07:29 -07:00
Evan Tschannen e43fb6d8bc fix: the log routers were popping too many versions because the known committed version is less than minPopped version 2018-04-17 19:41:36 -07:00
Evan Tschannen 8569a85771 fix: only let a log router pop if they tlog it is serving is fully recovered 2018-04-17 15:03:22 -07:00
Evan Tschannen 760bc8bc99 fix: log router version needs to be fetched before it is available
fix: tlog did not fetch known committed version if start version was exactly equal to it
2018-04-17 11:16:48 -07:00
Evan Tschannen 093908b83f fix: log routers were starting one version too late 2018-04-17 00:29:16 -07:00
Evan Tschannen 3e40505f4a Revert "fix: remote logs should reply until they have recovered through recoverAt"
This reverts commit 3c0c03c004.
2018-04-16 23:17:16 -07:00
Evan Tschannen 3c0c03c004 fix: remote logs should reply until they have recovered through recoverAt 2018-04-16 17:25:49 -07:00
Evan Tschannen cef6c9b418 fix: the startVersion cannot be larger than the known committed version 2018-04-16 16:21:27 -07:00
Evan Tschannen dcfa1847ff fix: log router’s starting popped version must be less than its starting version 2018-04-16 11:43:03 -07:00
Evan Tschannen 3018a7b1b3 fix: the known committed version of a newly initialized log is 1, since by definition the first commit must have succeeded 2018-04-16 10:42:48 -07:00
Evan Tschannen a8662f8737 fix: remote recovered is does not need to wait for old logs to be removed 2018-04-16 10:14:39 -07:00
Evan Tschannen e53f17a83a fix: the newest log router needs to start where the last old one ends 2018-04-15 14:54:22 -07:00
Evan Tschannen 5533016f1e fix: tlogs are now initialized immediately, instead of when starting the core, this must be done to pop the log routers during recovery
fix: log router start version must be the same as remote log start version
2018-04-15 14:33:07 -07:00
Evan Tschannen 0496bee1ef fix: suppress expected errors in data distribution 2018-04-15 11:30:22 -07:00