-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[service-bus] Closing some open areas where we could mask errors, and fixing flaky tests to be more reliable. #15761
[service-bus] Closing some open areas where we could mask errors, and fixing flaky tests to be more reliable. #15761
Conversation
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
… what's been used as the standard time in other libraries - Fixes to simplify the flaky tests. Mostly just reducing the number of non-deterministic events (connections restarting, etc..) that were being heavily depended on, and just changing them to manually initiate the events we need instead (ie, force detach). - Fixed a spot in receiveMessages() where, if the link had been closed, we'd falsly return an empty array instead of throwing an exception indicating the link closed.
2e20b72
to
67b662f
Compare
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
1 similar comment
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
Co-authored-by: chradek <[email protected]>
…ft/azure-sdk-for-js into sb-flakytests-disconnects
/azp run js - service-bus - tests |
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
/azp run js - service-bus - tests |
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
- The "open a receiver on a non-existent entity" should wait a bit longer since establishing the connection can be slow if network conditions are bad. - Updating to throw a more realistic error inside of the onDetached() call (it'll be a non-retryable exception, not a ServiceBusError like I used).
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
…added when I was trying to allow use of a deprecated field) - Fixing assert to look for SessionLockLost error with peekLock+session disconnection tests.
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
1 run passed with latest fixes. |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
Another! |
/azp run js - service-bus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
Approving as this does improve the situation with some of our flaky tests.
The failure that's in there currently is not related to my change - it's in the streaming receiver (and sessions to boot!). I'm going to go ahead and commit this PR, and focus on the session flaky test next. |
/check-enforcer override |
Correct stable 2020 01 01 (Azure#15761) * Remove definitions that don't exist in 2020-01-01 and extract Incident Severity to a definition. * Use IncidentSeverityEnum instead of defining an incorrect enum which have 'Critical' value. * Remove duplicate definition of IncidentInfo which is already defined in Bookmarks.json * Remove Settings from SecurityInsights.json * Make prettier Co-authored-by: Anat Gilenson <[email protected]>
Making changes to simplify a flaky test (and hopefully make it more reliable).
The main issue with the 'handle interrupted detach' method was that it relied on too many moving parts to work reliably. We could just eternally loop like we'd expect customers to do, but in the end we have a very simple test we're trying to perform - we want to receive, and while we're in the process of draining, cause a detach and have it early exit and reject/resolve immediately rather than waiting for the timeout.
I reworked the test to make that simpler by just removing the unneeded connection.idle() and just calling directly into the onDetached method. Because it happens prior to rhea even seeing that we're draining we should reliably win that race each time.
There were a couple of other things changed for this PR as well:
Fixes #13461