-
Notifications
You must be signed in to change notification settings - Fork 437
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
feat: add databaseMirroringPartner
event handler
#1671
base: master
Are you sure you want to change the base?
feat: add databaseMirroringPartner
event handler
#1671
Conversation
} | ||
|
||
onDatabaseMirroringPartner(token: DatabaseMirroringPartnerEnvChangeToken) { | ||
// Do nothing | ||
} | ||
} |
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 moved this handler to be right below the onDatabaseChange
event handler for better ordering and to keep the event next to all of the other ENVCHANGE
events.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1671 +/- ##
==========================================
- Coverage 78.81% 78.80% -0.02%
==========================================
Files 90 90
Lines 4877 4878 +1
Branches 918 918
==========================================
Hits 3844 3844
- Misses 735 736 +1
Partials 298 298 ☔ View full report in Codecov by Sentry. |
This PR is to fix #1669, where the library throws an unhandled exception if it encounters an
ENVCHANGE
event of typeDATABASE_MIRRORING_PARTNER
.This behavior isn't explicitly documented, but there have been a few issues brought up regarding this functionality in the past, and it has been stated that tedious does not plan to support failover partners. While that may be the case, this event being emitted by SQL Server is causing Tedious to crash completely rather than simply ignoring it as you would expect.
The changes in this PR are to create the
databaseMirroringPartner
event emitter and register the necessary handler methods in the associated token handler classes, to prevent the default behavior of throwing anUnexpected token
error.To clarify, this does not implement mirroring functionality or anything of the sort, it simply updates the default behavior to allow the event to pass through and be ignored, rather than unnecessarily throwing an unhandled exception.