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

Fix issue-602, completely kills the tasks associated with the S7 driver. #771

Merged
merged 1 commit into from
Jan 28, 2023

Conversation

glcj
Copy link
Contributor

@glcj glcj commented Jan 28, 2023

Hello,

The original design of the S7 driver delegates the closing of the created tasks to the GC, which does not guarantee that they are closed deterministically.

In practice, it is always advisable to call the closure of tasks in a planned way and not delegate it to the GC.

The "RequestTransactionManager" is modified, to which a public "shutdown" method is added to end the group of associated tasks in a scheduled manner.

"S7ProtocolLogic" is changed so that during the "onDisconnect" process, all tasks associated with the driver are called to end.

The task groups are identified in such a way to facilitate their diagnosis with the profiler.

Added some additional fields that will be required for the high availability ("HA") version of the driver.

Multiple tests are carried out, and it always ends correctly without leaving ghost tasks.

Best regards,

@glcj glcj merged commit 04702e4 into develop Jan 28, 2023
@glcj glcj deleted the issue-602 branch January 28, 2023 21:16
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.

2 participants