Skip to content
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

[Server] Improve publishing operation to avoid discarding values in edge cases #2763

Draft
wants to merge 10 commits into
base: develop/main374
Choose a base branch
from

Conversation

romanett
Copy link
Contributor

@romanett romanett commented Sep 15, 2024

Proposed changes

This PR improves publishing operation to avoid discarding values when a large queueSize is used for DataValues / Events or a large number of monitored items is created in a single subscription.

This fix changes the MonitoredItem Interface for the Publish Methods.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Enhancement (non-breaking change which adds functionality)
  • Test enhancement (non-breaking change to increase test coverage)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected, requires version increase of Nuget packages)
  • Documentation Update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc.
  • I have signed the CLA.
  • I ran tests locally with my changes, all passed.
  • I fixed all failing tests in the CI pipelines.
  • I fixed all introduced issues with CodeQL and LGTM.
  • I have added tests that prove my fix is effective or that my feature works and increased code coverage.
  • I have added necessary documentation (if appropriate).
  • Any dependent changes have been merged and published in downstream modules.

Further comments

This PR is needed for reliable operation of durable subscriptions.

…queueSize is used for DataValues / Events or a large number of monitored items is created in a single subscription
Copy link

codecov bot commented Sep 15, 2024

Codecov Report

Attention: Patch coverage is 88.57143% with 4 lines in your changes missing coverage. Please review.

Project coverage is 55.40%. Comparing base (a29d871) to head (409a51b).
Report is 8 commits behind head on develop/main374.

Files with missing lines Patch % Lines
...raries/Opc.Ua.Server/Subscription/MonitoredItem.cs 92.85% 1 Missing and 1 partial ⚠️
...braries/Opc.Ua.Server/Subscription/Subscription.cs 71.42% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@                 Coverage Diff                 @@
##           develop/main374    #2763      +/-   ##
===================================================
+ Coverage            54.84%   55.40%   +0.55%     
===================================================
  Files                  349      349              
  Lines                66070    66081      +11     
  Branches             13556    13565       +9     
===================================================
+ Hits                 36235    36611     +376     
+ Misses               25902    25486     -416     
- Partials              3933     3984      +51     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mregen mregen added this to the Oktober Update milestone Oct 1, 2024
@mregen
Copy link
Contributor

mregen commented Oct 10, 2024

due to the breaking interface changes it has to be merged after a version bump

@romanett romanett marked this pull request as draft October 13, 2024 13:36
@romanett romanett changed the base branch from master to develop/durable October 13, 2024 13:36
@romanett
Copy link
Contributor Author

This PR does not need to be merged to develop/durable as it is already included in #2683

@mregen mregen changed the base branch from develop/durable to develop/main374 October 18, 2024 09:23
@mregen
Copy link
Contributor

mregen commented Oct 18, 2024

@romanett lets keep this PR as draft for now, maybe we want to use it already before the durable subscription release is ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants