-
Notifications
You must be signed in to change notification settings - Fork 36
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
Fix healing after failed refresh #1465
Fix healing after failed refresh #1465
Conversation
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #1465 +/- ##
=======================================
Coverage ? 70.39%
=======================================
Files ? 248
Lines ? 11166
Branches ? 0
=======================================
Hits ? 7860
Misses ? 2806
Partials ? 500 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
5692592
to
a38cab0
Compare
a38cab0
to
fcec8a9
Compare
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
1916b2b
to
0ff7602
Compare
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
945b583
to
b0b1c0f
Compare
func WithRefresh(refreshClient networkservice.NetworkServiceClient) Option { | ||
if refreshClient == nil { | ||
panic("refreshClient cannot be nil") | ||
} | ||
return Option(func(c *clientOptions) { | ||
c.refreshClient = refreshClient | ||
}) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do not add a new api for testing goals.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
require.Equal(t, 2, counter.Requests()) | ||
require.Equal(t, 0, counter.Closes()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you explain the change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I modified it because this test was unstable, and yesterday the CI was constantly failing.
There was somewhat of a race between the test code and healing.
I figured out that this check isn't really important for the purpose of this test.
Now I reverted this and pushed a better solution which makes the test more deterministic.
|
||
for { | ||
eventIn, err := cev.client.Recv() | ||
if !needToHeal { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably name inversion could be more clear
if !needToHeal { | |
if healthy { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if needToHead=false and reselct=true?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the event monitoring there are three states:
- Context was cancelled,
needToHeal == false
- Control plane is down,
needToHeal == true
,reselect == false
- Data plane is down,
needToHeal == true
,reselect == true
Maybe we could add a special enum for these three states, but I think the code would only become more complex, because these 2 variables are checked and changed in different places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably name inversion could be more clear
Fixed.
I modified it to use canceled
.
// We need to force check the DataPlane if a down event was received from the ControlPlane | ||
if !reselect { | ||
deadlineCtx, deadlineCancel := context.WithDeadline(cev.chainCtx, time.Now().Add(cev.heal.livenessCheckTimeout)) | ||
if !cev.heal.livenessCheck(deadlineCtx, cev.conn) { | ||
cev.logger.Warnf("Data plane is down") | ||
reselect = true | ||
} | ||
// Otherwise - Start healing | ||
return | ||
deadlineCancel() | ||
} | ||
|
||
// Handle event. Start healing | ||
if eventIn.GetConnections()[cev.conn.GetId()].GetState() == networkservice.State_DOWN { | ||
var options []begin.Option | ||
if reselect { | ||
cev.logger.Debugf("Reconnect with reselect") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// We need to force check the DataPlane if a down event was received from the ControlPlane | |
if !reselect { | |
deadlineCtx, deadlineCancel := context.WithDeadline(cev.chainCtx, time.Now().Add(cev.heal.livenessCheckTimeout)) | |
if !cev.heal.livenessCheck(deadlineCtx, cev.conn) { | |
cev.logger.Warnf("Data plane is down") | |
reselect = true | |
} | |
// Otherwise - Start healing | |
return | |
deadlineCancel() | |
} | |
// Handle event. Start healing | |
if eventIn.GetConnections()[cev.conn.GetId()].GetState() == networkservice.State_DOWN { | |
var options []begin.Option | |
if reselect { | |
cev.logger.Debugf("Reconnect with reselect") | |
var options []begin.Option | |
if reselect { | |
... | |
} else { | |
deadlineCtx, deadlineCancel := context.WithDeadline(cev.chainCtx, time.Now().Add(cev.heal.livenessCheckTimeout)) | |
if !cev.heal.livenessCheck(deadlineCtx, cev.conn) { | |
cev.logger.Warnf("Data plane is down") | |
reselect = true | |
} | |
deadlineCancel() | |
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is also old code that was moved. Now I reverted this to make it clear that I didn't modify it.
Here reselect
is not a constant flag. It is used as a state that could be switched, so it doesn't make sense to use if-else
pattern.
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru>
@glazychev-art Could you have a look? |
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1465 Commit: a8c394e Author: Danil Uzlov Date: 2023-06-20 21:27:40 +0700 Message: - Fix healing after failed refresh (#1465) * fix dialer Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add tests for healing after refresh Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * refactor heal context for event loop Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * add heal started flag to heal event lopp Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * start monitoring after refresh error Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove test TestNSMGR_RefreshFailed_DataPlaneHealthy Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix coyright Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix linter Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * bump ci Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix discover forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * improve heal monitor cleanup Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * remove withrefresh option, use clock in context Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * move monitorCtrlPlane function Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use explicit returns in waitForEvents Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * fix typo Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * different fix for select forwarder tests Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> * use better variable names in heal monitor Signed-off-by: Danil Uzlov <DanilUzlov@yandex.ru> --------- Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
Description
Restart connection monitoring after a failed refresh.
Issue link
Should also at least partially fix this:
How Has This Been Tested?
Types of changes