View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000316 | UA | Implementation Bug | public | 2008-02-19 18:39 | 2008-02-27 06:25 |
Reporter | Brent Bowers | Assigned To | Randy Armstrong | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Summary | 0000316: Subscriptions stop updating when reusing session names | ||||
Description | The root cause is that the StandardServer.CloseSession[1] method is passing the Session Id to SessionManager.CloseSession[2], but it is expecting the Authentication Token (both are of type NodeId). The SessionManager.CloseSession method attempts to look up the session in the dictionary of sessions but it is not found because the wrong key is being used (the SessionManager.CreateSession[3] method initially adds the session to the dictionary using the Authentication Token as the key). The result is that the session is never actually closed. If a session with the same name is created, it ends up reusing the same Session Id. If the new session establishes a subscription, problems occur. Specifically, after the original session expires (by default, after 18 minutes of inactivity, as detected by SessionManager.MonitorSessions[4]), subscriptions for the new session stop reporting updates. [1] public void CloseSession(OperationContext context, NodeId sessionId, bool deleteSubscriptions) [2] public virtual void CloseSession(NodeId authenticationToken) [3] public virtual Session CreateSession(…) [4] private void MonitorSessions(object data) | ||||
Additional Information | Version 1.0.200.0 Steps to reproduce: Alternate: | ||||
Tags | No tags attached. | ||||
Fix Due Date | |||||
|
The Session class used the BrowseName to find the SessionDiagnostics Object instead of the NodeId. Reusing SessionNames caused the wrong Node to be deleted when the Session was closed. |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-02-19 18:39 | Brent Bowers | New Issue | |
2008-02-27 06:25 | Randy Armstrong | Status | new => resolved |
2008-02-27 06:25 | Randy Armstrong | Resolution | open => fixed |
2008-02-27 06:25 | Randy Armstrong | Assigned To | => Randy Armstrong |
2008-02-27 06:25 | Randy Armstrong | Note Added: 0000604 |