-
Notifications
You must be signed in to change notification settings - Fork 1k
Fix: Enable historical data access for historizing nodes in Reference Server #3383
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
Conversation
|
|
…cess Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
|
@copilot please add a Test doing a History read of that node |
Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
Added test
The test is in ReferenceServerTest.cs and passes successfully. (50b9c7b) |
|
@copilot please resolve the merge conflicts with master |
I'm unable to resolve merge conflicts directly because I cannot pull from or merge with the master branch in my sandboxed environment. You'll need to resolve the merge conflicts manually or use GitHub's conflict resolution UI. Once the conflicts are resolved, I can continue with any further changes if needed. |
Proposed changes
The Reference Server's Int32Value node (ns=3;i=2808 at
Objects->Data->Dynamic->Scalar->Int32Value) hadHistorizing=trueandAccessLevel.HistoryReadset, but history read requests returnedBadHistoryOperationUnsupported. This occurred becauseTestDataNodeManagerimplementedHistoryReadRaw()but didn't override the base class'sHistoryReadRawModified()method, which defaults to rejecting all history requests.Changes:
HistoryReadRawModified()to route history read requests to the existingHistoryReadRaw()implementationHistoryReleaseContinuationPoints()to properly release continuation points for paginated history readsHistoryReadInt32ValueNodeAsyncinReferenceServerTest.csthat validates the fix by performing history read operations on the Int32Value nodeBoth override methods follow the standard pattern: iterate nodes, validate as
BaseVariableState, delegate toHistoryReadRaw().Related Issues
Types of changes
Checklist
Further comments
The new test
HistoryReadInt32ValueNodeAsyncvalidates that:The test passes successfully on .NET 8.0, 9.0, and 10.0, confirming that history data is now accessible to clients like UAExpert.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.