Page MenuHomePhabricator

Revisit thumbor's poolcounter integration
Open, LowPublic

Description

There is a lot of issues with the poolcounter code in thumbor:

  • It only supports a single server, meaning that when we want to reboot a poolcounter server, we might need to deploy thumbor first
  • There are various logical bugs, starting from the fact that release starts a new connection if none is found
  • There is no proper way to ensure a lock is released on failure
  • We're always one code bug away from leaving a leaking acquired lock behind

Given the code now uses async/await instead of tornado-specific primitives, I think we might want to add async/await capabilties to python-poolcounter and use that library here instead of this bespoke code.

Event Timeline

Change 980918 had a related patch set uploaded (by Giuseppe Lavagetto; author: Giuseppe Lavagetto):

[operations/software/python-poolcounter@master] Add asyncio implementation

https://gerrit.wikimedia.org/r/980918

Joe triaged this task as Low priority.Jan 31 2024, 7:23 AM

Low priority as we've found out the problem is fundamentally deeper than we'd like.