af0f00bc52
Backup data compression is a CPU bound operation that will not yield to other greenthreads, so given enough simultaneous backup operations they will lead to other threads' starvation. This is really problematic for DB connections, since starvation will lead to connections getting dropped with errors such as "Lost connection to MySQL server during query". Detailed information on why these connections get dropped can be found in comment "[31 Aug 2007 9:21] Magnus Blåudd" on this MySQL bug [1]. These DB issues may result in backups unnecessary ending in an "error" state. This patch fixes this by moving the compression to a native thread so the cooperative multitasking in Cinder Backup can continue switching threads. [1] https://bugs.mysql.com/bug.php?id=28359 Closes-Bug: #1692775 Closes-Bug: #1719580 Change-Id: I1946dc0ad9cb7a68072a39816fa9fa224c2eb6a5 |
||
---|---|---|
.. | ||
drivers | ||
__init__.py | ||
fake_backup.py | ||
fake_google_client.py | ||
fake_google_client2.py | ||
fake_service.py | ||
fake_service_with_verify.py | ||
fake_swift_client.py | ||
fake_swift_client2.py | ||
test_backup.py | ||
test_rpcapi.py |