)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"f5ef6b15117e4e6c2e83fb205f461afa43974df6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"893dad89_0bafbb34","updated":"2025-06-05 11:21:37.000000000","message":"Hello, I am a Trove developer, thank you for adding the threading backend. I found the following issue after migrating the Trove code from eventlet backend to threading backend. My code migration overview is:\n\n1. Adding the following code to trove/cmd/api.py and remove eventlet.wsgi code.\n```\nfrom oslo_service import backend\nbackend.register_backend_default_hook(lambda: backend.BackendType.THREADING)\n from oslo_service import service as openstack_service\n```\n\n2. Stopping devstack@tr-api\n```\n...\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root   File \"/opt/stack/trove/trove/cmd/api.py\", line 37, in main\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root     launcher.wait()\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_service/backend/threading/service.py\", line 139, in wait\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root     self.stop()\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_service/backend/threading/service.py\", line 133, in stop\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root     self._manager._terminate(None, None)\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root AttributeError: \u0027ServiceManager\u0027 object has no attribute \u0027_terminate\u0027\nJun 05 08:16:43 devstack trove-api[103201]: 2025-06-05 08:16:43.059 103201 ERROR root\n...\n```\n\nServiceManager has the shutdown method, but does not have the _terminate method.\nhttps://github.com/sileht/cotyledon/blob/main/cotyledon/_service_manager.py#L291\n\n\nThanks in advance,\nHirotaka","commit_id":"492b96a6c5d1ca247042ab4707cb4a4e234f45af"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"bf65af67dcfeb988ebf8191306a3c93246ecc70b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8fc1863d_b0f7cc5f","updated":"2025-06-16 08:16:38.000000000","message":"I have not seen the patch sorry, but I have made a new patch with a release note[1] and update the launchpad issue it. So we can abandon this one.\n\n[1] https://review.opendev.org/c/openstack/oslo.service/+/952656","commit_id":"492b96a6c5d1ca247042ab4707cb4a4e234f45af"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"951c68a7416774b3b7f1496880a8e92fcc7f3e06","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e4659b28_6ede122f","updated":"2025-06-06 15:17:03.000000000","message":"Looks correct https://github.com/sileht/cotyledon/blob/main/cotyledon/_service_manager.py#L291\n\nI think there was a confusion between service and service manager because the service implement the terminate method https://cotyledon.readthedocs.io/en/latest/api.html#cotyledon.Service.terminate","commit_id":"492b96a6c5d1ca247042ab4707cb4a4e234f45af"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"6115b718d8e721c2f9c73e7798247b2be11f5d28","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d09387e4_4768600e","updated":"2025-06-06 16:32:05.000000000","message":"Thanks Hirotaka","commit_id":"492b96a6c5d1ca247042ab4707cb4a4e234f45af"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"cafaa9a334fe75d9a6c882530c4ce2e131b7c8f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f3d44338_f7e83da7","updated":"2025-06-13 10:43:47.000000000","message":"Thanks for the review.:)","commit_id":"492b96a6c5d1ca247042ab4707cb4a4e234f45af"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"850b6a6225c974beaeddee38b6635664d28e9c56","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4431520b_1cbe99cc","updated":"2025-06-10 13:13:16.000000000","message":"Thanks, I was hitting the same issue here:\n```\nJun 10 12:50:00 controller0 watcher-decision-engine[517675]: ERROR python-watcher     launcher.wait()\nJun 10 12:50:00 controller0 watcher-decision-engine[517675]: ERROR python-watcher   File \"/opt/stack/data/venv/lib/python3.12/site-packages/oslo_service/backend/threading/service.py\", line 139, in wait\nJun 10 12:50:00 controller0 watcher-decision-engine[517675]: ERROR python-watcher     self.stop()\nJun 10 12:50:00 controller0 watcher-decision-engine[517675]: ERROR python-watcher   File \"/opt/stack/data/venv/lib/python3.12/site-packages/oslo_service/backend/threading/service.py\", line 133, in stop\nJun 10 12:50:00 controller0 watcher-decision-engine[517675]: ERROR python-watcher     self._manager._terminate(None, None)\nJun 10 12:50:00 controller0 watcher-decision-engine[517675]: ERROR python-watcher     ^^^^^^^^^^^^^^^^^^^^^^^^\nJun 10 12:50:00 controller0 watcher-decision-engine[517675]: ERROR python-watcher AttributeError: \u0027ServiceManager\u0027 object has no attribute \u0027_terminate\u0027\n```\nThis patch solved for me.","commit_id":"492b96a6c5d1ca247042ab4707cb4a4e234f45af"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"0ced6b5f57feec0af01dfd45aa1949912ec1b7b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6aaf6605_88712576","in_reply_to":"8fc1863d_b0f7cc5f","updated":"2025-06-16 09:04:25.000000000","message":"Thank you so much for notifying that :) I will abandon it.","commit_id":"492b96a6c5d1ca247042ab4707cb4a4e234f45af"}]}
