Add object-rsync-timeout option

Adds the rsync_timeout option to to object-server.conf, so we can adjust
it away from the default of 900s.

If there are a number of large partitions needing replication,
occasionally one needs to adjust the timeout in order to allow the rsync
to complete rather than timeout and retry.

Change-Id: I2d895741cb0528836a675deb6399005a5bf59ab5
Closes-bug: 1702039
This commit is contained in:
Xav Paice 2017-07-03 20:55:26 +12:00
parent d6061caa2c
commit 18419a87c5
4 changed files with 9 additions and 0 deletions

View File

@ -105,6 +105,11 @@ options:
type: int
description: |
Number of replication workers to spawn.
object-rsync-timeout:
default: 900
type: int
description: |
Max duration of a partition rsync.
nagios-check-params:
default: "-m -r 60 180 10 20"
type: string

View File

@ -92,5 +92,6 @@ class SwiftStorageServerContext(OSContextGenerator):
'object_max_connections': config('object-max-connections'),
'object_replicator_concurrency': config(
'object-replicator-concurrency'),
'object_rsync_timeout': config('object-rsync-timeout'),
}
return ctxt

View File

@ -16,6 +16,7 @@ threads_per_disk = {{ object_server_threads_per_disk }}
[object-replicator]
concurrency = {{ object_replicator_concurrency }}
rsync_timeout = {{ object_rsync_timeout }}
[object-updater]

View File

@ -90,6 +90,7 @@ class SwiftStorageContextTests(CharmTestCase):
self.test_config.set('account-max-connections', '10')
self.test_config.set('container-max-connections', '10')
self.test_config.set('object-max-connections', '10')
self.test_config.set('object-rsync-timeout', '950')
ctxt = swift_context.SwiftStorageServerContext()
result = ctxt()
ex = {
@ -102,5 +103,6 @@ class SwiftStorageContextTests(CharmTestCase):
'account_max_connections': '10',
'container_max_connections': '10',
'object_max_connections': '10',
'object_rsync_timeout': '950',
}
self.assertEqual(ex, result)