-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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 thread handling of node_status_publisher. #2058
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If my understanding is correct the fix proposed in this PR will work for just 1 node making use of the health checker as the publish_thread_
variable will be overwritten if 2 nodes make use of the ENABLE
method
If the autoware_health_checker package is performing the same tasks as diagnostic_aggregator I'd suggest using that one instead to reduce maintainability needs |
@sgermanserrano I posted design issun for this feature. But no one gave opinion to us. |
@sgermanserrano diagnostic_aggrigator only handles hardware errors. |
@hakuturu583 It seems each node has an instance of NodeStatusPublisher. In other words, each node launches only one thread in |
@hakuturu583 thanks for the clarification. Is it then close to what bond does? I'm reading autowarefoundation/autoware_ai#494 but I cannot find how the new feature works, can you provide a ReadMe within the package? Also, how is thread completion handled? Would this PR #2058 address that? are there any other conditions (apart from the Destructor) when |
Since this bug is hotfix level, I've looked into the code. At 6a5c720, NodeStatusPublisher is instantiated only once in each node, and @hakuturu583 Would you add README.md in new designated pull request? |
I've requested README.md and answers at https://github.com/CPFL/Autoware/issues/1860#issuecomment-469940811. |
Status
PRODUCTION / DEVELOPMENT
Description
This tries to solve autowarefoundation/autoware_ai#589.
#2028 couldn't path the tests because of autoware_health_checker::NodeStatusPublisher.
I think its cause is that the thread is not dead during the test.