)]}'
{"doc/source/deployment_guide.rst":[{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"ff64ea123d3b04fa961b4494851c7e0fddc3eeb8","unresolved":false,"context_lines":[{"line_number":311,"context_line":"bytes_per_second    10000000        Maximum bytes audited per second. Should"},{"line_number":312,"context_line":"                                    be tuned according to individual system"},{"line_number":313,"context_line":"                                    specs. 0 is unlimited."},{"line_number":314,"context_line":"sfx_enable          False           Manage suffix expiration in "},{"line_number":315,"context_line":"                                    hashes_expire.pkl and recalculate hash"},{"line_number":316,"context_line":"                                    values in hashes.pkl."},{"line_number":317,"context_line":"sfx_expire_age      604800          Next expiration in seconds."}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAALH%2F%2FbWk%3D","line":314,"updated":"2012-09-12 06:05:00.000000000","message":"Can you make the config settings more self-documenting with their names?  Specifically, \"sfx\" makes me think of sound effects. Perhaps:\n\n suffix_expiration_enable\n suffix_expiration_expire_age\n\nor\n\n suffix_exp_enable\n suffix_exp_expire_age","commit_id":"f20f09b5ce3b4df2bd917e33acb7dcf8336f066b"}],"swift/obj/auditor.py":[{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"ff64ea123d3b04fa961b4494851c7e0fddc3eeb8","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        worker.audit_all_objects(mode\u003dmode)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        \"\"\"Suffix expiration check.\"\"\""},{"line_number":242,"context_line":"        if(self.sfx_enable):"},{"line_number":243,"context_line":"            worker \u003d SuffixExpireWorker(self.conf)"},{"line_number":244,"context_line":"            worker.check_all_devices(datadir\u003dobject_server.DATADIR)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FbWc%3D","line":242,"updated":"2012-09-12 06:05:00.000000000","message":"No parens needed.","commit_id":"f20f09b5ce3b4df2bd917e33acb7dcf8336f066b"},{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"8d3b2eff172788c3481a06fa89a77f38184644e1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                    expired_suffix \u003d \\"},{"line_number":91,"context_line":"                        self.suffix_worker.update_hsexpire_pkl(part_path)"},{"line_number":92,"context_line":"                elif expired_suffix and suffix in expired_suffix:"},{"line_number":93,"context_line":"                    self.suffix_worker.update_expired_suffix([suffix],"},{"line_number":94,"context_line":"                                                             part_path)"},{"line_number":95,"context_line":"                continue"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FZF0%3D","line":93,"updated":"2012-09-14 19:05:19.000000000","message":"It seems inefficient to have update_expired_suffix() more than once per part_path value.  It\u0027d be better to have one call like:\n\n self.suffix_worker.update_expired_suffix(expired_suffixes, parth_path)\n\nwhere \"expired_suffixes\" is the list returned from suffix_worker.update_hsexpire_pkl(part_path).  I guess the tricky part is just the timing of when it gets called, since we\u0027re in a loop essentially controlled by the all_locs generator.\n\nAs implied above, the variable \"expired_suffix\" should probably be \"expired_suffixes\" since it\u0027s a list of 0 or more suffix values.","commit_id":"2bd7d15fc2d187618f42abe6400e0ee166f8bfef"}],"test/unit/obj/test_auditor.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"0bdfcd3554090f83fa0b68976e46837d36ab9ba5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from shutil import rmtree"},{"line_number":22,"context_line":"from hashlib import md5"},{"line_number":23,"context_line":"from tempfile import mkdtemp"},{"line_number":24,"context_line":"from contextlib import contextmanager"},{"line_number":25,"context_line":"from test.unit import FakeLogger"},{"line_number":26,"context_line":"from swift.obj import auditor"},{"line_number":27,"context_line":"from swift.obj import server as object_server"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAALn%2F%2F%2FK4%3D","line":24,"updated":"2012-10-23 05:08:24.000000000","message":"contextmanager is not used in this file (test/unit/obj/test_auditor.py), used in test_xauditor.py only","commit_id":"a0a4ba51812807eecb0c259b8846828136c670ce"}]}
