-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
failed to update Store after split: no system config available #2566
Comments
The error was
, which is coming from
Should we relax the condition (i.e., do nothing if the system config is not available) or should we disallow split to start until the system config is gossiped? |
@mberhault, could you take a look? It's dangerous to rely on gossip for operations which must be successful (here, it's that Btw, I don't see why |
I'm looking. there may be a few tests that rely on gossip callbacks having run. Either we shouldn't care (this is the case for all the queues, since they are repeatable), or we should wait for the config in tests (we do this in a few places, but not everywhere). |
My concern is a bit more general in that I'm not sure when we can reasonably rely on things being present in Gossip. For example, the configs are probably gossiped without expiry now, but at some point they might get a TTL (online schema changes, ...) which won't noticeably change things in testing/etc but sets us up for all sorts of production-scenario panics. If we have certain keys that are to always hold a value once a |
isn't |
we'll need to harden things in the absence of gossip information. at the very least, we need to fail gracefully. |
assuming we skip the update on the split, and there's never a follow-up config update, will the callback ever run or is the range just going to have MaxBytes=0 (and could that in itself blow something up)? |
isn't the replica initialized from the pre-split one? If not, we should make sure we propagate at least the MaxBytes |
actually, even if it isn't, 0 gets ignored when incrementing ( |
Fixes #2566 When the system config is not loaded, MaxBytes will remain 0 and be ignored for split purposes. It will be properly updated the next time the system config callback runs.
The following test appears to have failed:
#7681:
Please assign, take a look and update the issue accordingly.
The text was updated successfully, but these errors were encountered: