Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.
Durable subscription failed to connect after database recovery fixed with this PR. This is a race condition that came with MSSQL. We found that clusterNotificationAgent#notifySubscriptionsChange doing some database in the subscriber close event. So moved it to if (!storeUnavailable). For the safer side, move storageQueue#unbindSubscription to the same block because we use RDBMS based coordination.
Describe the solutions that this feature/fix will introduce to resolve the problems described above
Approach
Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.
User stories
Summary of user stories addressed by this change>
Release note
Brief description of the new feature or bug fix as it will appear in the release notes
Documentation
Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact
Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.
Marketing
Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable
Purpose
Durable subscription failed to connect after database recovery fixed with this PR. This is a race condition that came with MSSQL. We found that
clusterNotificationAgent#notifySubscriptionsChange
doing some database in the subscriber close event. So moved it to if(!storeUnavailable)
. For the safer side, movestorageQueue#unbindSubscription
to the same block because we use RDBMS based coordination.Resolves: https://github.com/wso2/product-ei/issues/2220
Goals
Approach
User stories
Release note
Documentation
Training
Certification
Marketing
Automation tests
Security checks
Samples
Related PRs
Migrations (if applicable)
Test environment
Learning