v2.0: scheduler opt-in forwarding (backport of #1801)#2285
Conversation
(cherry picked from commit 61d8be0)
9db45fa to
6b3b5fa
Compare
|
Rebased to pull in #2235 |
|
Making sure my understanding is correct. Current State
State after this PR
The configurability works like this:
|
tao-stones
left a comment
There was a problem hiding this comment.
Clean backport, approve as original PR reviewer.
@bw-solana looks correct to me. |
|
@bw-solana I manually pulled in the bugfix in #2305 rather than creating 2 separate backports. |
|
I don't really understand how doing swqos side deals is related to wanting to enable forwarding or not. Can you explain the reasoning? |
Forwarding (of non-vote) transactions is typically redundant for un-partnered folks sending you (validator) transactions. graph LR;
user -->|time0| RPC -->|time1| validator1;
RPC -->|time1| validator2;
RPC -->|time1| validator3;
validator1 -->|forward - time2| validator2;
See above diagram. The RPCs forward to next Some time ago, I added metrics to a staked box to do a test. >90% (may have been >95%) of forwarded packets were already received. SWQOS side-deals are there because people make deals to specifically sell their stake-weighted bandwidth to partners and it was built on top of this forwarding mechanism. Many operators do not have such deals, so the forwarding is still useless for them. |
Was this done before swqos though? In post-swqos, wouldn't RPC fanout have a lower likelihood of success and therefore we should be doing more validator forwards? |
I believe that test was run before swqos was used, and the data would look significantly different for many reasons.
Basically, post-#685 the forwarding loop for non-vote threads is useless unless there's a side-deal. The loop still runs, but we filter them out and don't actually forward because they are not from staked nodes over TPU (this is how the swqos side-deal partners come through). |
In the call @t-nelson said to not do that so that we could revert more easily. |
Hmm ok, I think missed or don't remember that portion. I don't fully follow, but separate commits should be just fine too |
|
Closing this as stale. If you think this is relevant please re-open and let |
This was discussed in last weeks backport meeting. @anza-xyz/backport-reviewers please review. |
|
As discussed there, the additional CLI is removed from master in #2687. That cannot be backported until this is. |
|
see above comments - reopening. |
Problem
Summary of Changes
SchedulerControlleris now configurable and can enable forwarding or not.enable-block-production-forwardingFixes #
This is an automatic backport of pull request #1801 done by [Mergify](https://mergify.com).