-
Notifications
You must be signed in to change notification settings - Fork 473
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
MQTT pubsub component can deadlock on disconnect. #1053
Comments
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, good first issue, help wanted or triaged/resolved) or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as pinned, good first issue, help wanted or triaged/resolved. Thank you for your contributions. |
Bug remains active. More generally, all the MQTT bindings conformance tests are also flakey, with the Vernemq profile being the most common failure, followed by EMQX then Mosquitto. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, good first issue, help wanted or triaged/resolved) or other activity occurs. Thank you for your contributions. |
This looks like a robustness issue in the underlying paho.mqtt.golang library:
After some further debugging, it closely resembles the known issue eclipse/paho.mqtt.golang#501, which has a fix in the v1.3.5 release (Dapr is currently on v1.3.2 which has other known hang issues apparently). Currently running the upgrade on repeated test loop to see if it addresses the problem. |
There are a couple of fixes for deadlock issues in paho.mqtt.golang in versions 1.3.4 and 1.3.5, which are good robustness upgrades for the Dapr MQTT components in addition to reduce the incidence of deadlock failures in the conformance tests for MQTT pubsub and bindings. Resolves dapr#1053
There are a couple of fixes for deadlock issues in paho.mqtt.golang in versions 1.3.4 and 1.3.5, which are good robustness upgrades for the Dapr MQTT components in addition to reduce the incidence of deadlock failures in the conformance tests for MQTT pubsub and bindings. Resolves #1053
There are a couple of fixes for deadlock issues in paho.mqtt.golang in versions 1.3.4 and 1.3.5, which are good robustness upgrades for the Dapr MQTT components in addition to reduce the incidence of deadlock failures in the conformance tests for MQTT pubsub and bindings. Resolves dapr#1053
Expected Behavior
TestPubsubConformance/pubsub/mqtt-vernemq should pass consistently in automation.
Actual Behavior
The test fails by hitting the 15 min timeout occasionally as seen in:
https://github.com/dapr/components-contrib/runs/3235599504?check_suite_focus=true
https://github.com/dapr/components-contrib/runs/3229595617?check_suite_focus=true
https://github.com/dapr/components-contrib/runs/3226893816?check_suite_focus=true
This seems to be due to not all of the messages expected by the test being delivered at least once.
Steps to Reproduce the Problem
Run the TestPubsubConformance/pubsub/mqtt-vernemq as seen in automation.
Release Note
RELEASE NOTE: UPDATE paho.mqtt.golang to v1.3.5 to resolve deadlocks on disconnect.
The text was updated successfully, but these errors were encountered: