diff --git a/etc/proxy-server.conf-sample b/etc/proxy-server.conf-sample index e46e83fda6..0de120fd6e 100644 --- a/etc/proxy-server.conf-sample +++ b/etc/proxy-server.conf-sample @@ -489,7 +489,11 @@ use = egg:swift#bulk # max_failed_extractions = 1000 # max_deletes_per_request = 10000 # max_failed_deletes = 1000 -# yield_frequency = 60 + +# In order to keep a connection active during a potentially long bulk request, +# Swift may return whitespace prepended to the actual response body. This +# whitespace will be yielded no more than every yield_frequency seconds. +# yield_frequency = 10 # Note: The following parameter is used during a bulk delete of objects and # their container. This would frequently fail because it is very likely diff --git a/swift/common/middleware/bulk.py b/swift/common/middleware/bulk.py index fe9c0bf8fd..9a4d989592 100644 --- a/swift/common/middleware/bulk.py +++ b/swift/common/middleware/bulk.py @@ -187,7 +187,7 @@ class Bulk(object): def __init__(self, app, conf, max_containers_per_extraction=10000, max_failed_extractions=1000, max_deletes_per_request=10000, - max_failed_deletes=1000, yield_frequency=60, retry_count=0, + max_failed_deletes=1000, yield_frequency=10, retry_count=0, retry_interval=1.5, logger=None): self.app = app self.logger = logger or get_logger(conf, log_route='bulk') @@ -563,7 +563,7 @@ def filter_factory(global_conf, **local_conf): max_failed_extractions = int(conf.get('max_failed_extractions', 1000)) max_deletes_per_request = int(conf.get('max_deletes_per_request', 10000)) max_failed_deletes = int(conf.get('max_failed_deletes', 1000)) - yield_frequency = int(conf.get('yield_frequency', 60)) + yield_frequency = int(conf.get('yield_frequency', 10)) retry_count = int(conf.get('delete_container_retry_count', 0)) retry_interval = 1.5