Skip to content

Conversation

@mrsuciu
Copy link
Contributor

@mrsuciu mrsuciu commented Feb 18, 2025

Proposed changes

Merge latest master into release/1.5.375

Related Issues

  • Fixes #

Types of changes

What types of changes does your code introduce?
Put an x in the boxes that apply. You can also fill these out after creating the PR.

  • 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

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • 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

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

romanett and others added 12 commits February 11, 2025 14:20
* Generate ECC Certificates in Client Tests

* Add more tests

* reenable check of certificate

* fix tests

* Dont use random in test

* fix unsupported certificate types

* fix Hash algorithm for nistP384 curve on linux as the friendly name is ECDSA_P384 instead of nistP384

* use friendly name by default and add special case only for linux while taking care of nullability

* disable special casing for finding correct certificates

* fix tests on net 462

* update Certificate Identifier
…y Client AddMonitoredItems Method Call (#2984)

* fix Sampling Group creating a new long running task for every Client Add MonitoredItems Method Call

* reset also on shutdown

* dispose shutdown event
… reaches MaxChannelCount - 1 (#2986)

* Remove older channel if not used by session, when number of channels reaches MaxChannelCount - 1

* Corrected channelCount and renamings

* Operate on snapshot

* Snapshot the entire concurentdictionary
* Add Lock to finiteStateMachineDoTransition

* assign lock

* Revert "assign lock"

This reverts commit f8d2b93.

* Revert "Add Lock to finiteStateMachineDoTransition"

This reverts commit 2449006.

* make DoTransitionVirtual

* make CauseProcessingCompleted virtual
* Add tests to catch if NodeId.Null is modified in DEBUG, fix an issue where NodeId.Null was overwritten

* add (C)

* only enable immutable NodeId to catch issues

* typos and comments
* Update SessionReconnectHandler.cs

There is chance that m_session.DetachChannel can clear the member "Endpoint" info of the session, once that happened, there will be crash when use member "Endpoint" of the session as parameter of m_reverseConnectManager.WaitForConnection.

* Update SessionReconnectHandler.cs
Bumps [NUnit.Console](https://github.com/nunit/nunit-console) from 3.19.1 to 3.19.2.
- [Release notes](https://github.com/nunit/nunit-console/releases)
- [Changelog](https://github.com/nunit/nunit-console/blob/main/CHANGES.txt)
- [Commits](nunit/nunit-console@3.19.1...3.19.2)

---
updated-dependencies:
- dependency-name: NUnit.Console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* enable nrts for CertificatIdentifier&CertificateStoreIdentifier&CertificateTrustList

* make RSA Utils and  Certificate Stores nullable

* Make Certificate validator nullable

* fix nullability of CertificateTypeParameter
* Work In Progress

* Working Implementation of SupportsFilteredRetain

* Potential solution

Contains test debug messages that should be cleaned up

* Update comments showing discussion required

* Address Comments

* Use the NodeId from the ConditionState for the ConditionId.

Existing case was not guaranteed to be correct.
Set NoDelay=true to disable the Nagle algorithm and set Lingerstate to 5 seconds by default.

After careful evaluation of the PR provided by @sxleixer in #2882 we found that the default setting of the socket with NoDelay=false can not only cause issues on the client side, but also on the server side.

Due to the nature of Nagle's implementation the issue only occurs when many small service requests or responses are sent over the network. In that case, when packets are still in flight, the secondary small packets are delayed and combined until the MTU is exceeded or the previous packages are acknoledged.

The expectation in the UA protocol is to not add additional latency in the client-server communication.

As a conclusion defaulting to NoDelay=true appears to be the better default option which works for all use cases.
If there are new bandwidth issues related to more and larger packets imposed by this change, they should be solved at the UA application level by combining service requests of the same type.

Setting Lingerstate to 5 seconds should help to finish communications when sockets are closed.

Co-authored-by: @sxleixer <[email protected]>
…eferenceAssemblies (#3002)

Bumps [System.Diagnostics.DiagnosticSource](https://github.com/dotnet/runtime) and [Microsoft.NETFramework.ReferenceAssemblies](https://github.com/Microsoft/dotnet). These dependencies needed to be updated together.

Updates `System.Diagnostics.DiagnosticSource` from 6.0.2 to 9.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](dotnet/runtime@v6.0.2...v9.0.2)

Updates `Microsoft.NETFramework.ReferenceAssemblies` from 1.0.3 to 1.0.3
- [Commits](https://github.com/Microsoft/dotnet/commits)

---
updated-dependencies:
- dependency-name: System.Diagnostics.DiagnosticSource
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: Microsoft.NETFramework.ReferenceAssemblies
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@CLAassistant
Copy link

CLAassistant commented Feb 18, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
5 out of 6 committers have signed the CLA.

✅ mregen
✅ mrsuciu
✅ romanett
✅ Archie-Miller
✅ JohnJiang26821
❌ dependabot[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

@mrsuciu mrsuciu requested review from mregen and romanett February 18, 2025 10:40
@mrsuciu mrsuciu marked this pull request as draft February 18, 2025 14:20
@mrsuciu mrsuciu marked this pull request as ready for review February 20, 2025 15:35
@mrsuciu mrsuciu merged commit 733ec5d into release/1.5.375 Feb 20, 2025
98 of 99 checks passed
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.

6 participants