)]}'
{"swift/obj/audit_dark_data.py":[{"author":{"_account_id":18142,"name":"David Sariel","email":"dsariel@redhat.com","username":"dsariel"},"change_message_id":"42b57c0ba06b1fbda131d77219609dc4337d58db","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# Since the API for audit watchers is intended to use external plugins,"},{"line_number":19,"context_line":"# this code is invoked as if it were external: through pkg_resources."},{"line_number":20,"context_line":"# Our setup.py comes pre-configured for convenience, but the operator has"},{"line_number":21,"context_line":"# to enable this watcher honestly by additing DarkDataWatcher to watchers\u003d"},{"line_number":22,"context_line":"# in object-server.conf. The default is off, as if this does not exist."},{"line_number":23,"context_line":"# Which is for the best, because of a large performance impact of this."},{"line_number":24,"context_line":"#"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_07587122","line":22,"range":{"start_line":21,"start_character":63,"end_line":22,"end_character":24},"updated":"2020-01-09 16:26:26.000000000","message":"Something like this?\n\n\n\nfile:object-server.conf\n------------------------\n[object-auditor]\nwatchers\u003dDarkDataWatcher\non_dark_data_detection\u003d{quarantine/delete/disregard}","commit_id":"0ce368c9a5530991968ebd9eb83816188ce3b107"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"61aed7d6cff42ce09e8fe704830d1b4e7ebe75ab","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# Since the API for audit watchers is intended to use external plugins,"},{"line_number":19,"context_line":"# this code is invoked as if it were external: through pkg_resources."},{"line_number":20,"context_line":"# Our setup.py comes pre-configured for convenience, but the operator has"},{"line_number":21,"context_line":"# to enable this watcher honestly by additing DarkDataWatcher to watchers\u003d"},{"line_number":22,"context_line":"# in object-server.conf. The default is off, as if this does not exist."},{"line_number":23,"context_line":"# Which is for the best, because of a large performance impact of this."},{"line_number":24,"context_line":"#"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_2a6e7bc8","line":22,"range":{"start_line":21,"start_character":63,"end_line":22,"end_character":24},"in_reply_to":"3fa7e38b_07587122","updated":"2020-01-11 23:28:39.000000000","message":"If using the entry in the egg that this patch adds, then:\n\n------------------------\n[object-auditor]\n\n# Bump it to once-a-day because our auditor has experimental plugin\n# enabled and so works much slower than normal.\ninterval \u003d 100000\n\nwatchers \u003d swift#dark_data_watcher\n\non_dark_data_detection\u003d{quarantine/delete/disregard}\n------------------------\n\nSee the setup.cfg part that adds the dark_data_watcher\nto the swift egg. We use the PBR package that converts\nit into the actual egg during \"python setup.py build\".","commit_id":"0ce368c9a5530991968ebd9eb83816188ce3b107"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"37085b0f9e0edb77b1af6440ce687801dc55c06b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"class OnDarkDataDetection(Enum):"},{"line_number":40,"context_line":"    QUARANTINE \u003d \"quarantine\""},{"line_number":41,"context_line":"    DELETE     \u003d \"delete\""},{"line_number":42,"context_line":"    DISREGARD  \u003d \"disregard\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"class ContainerError(Exception):"},{"line_number":45,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_dd49648d","line":42,"updated":"2020-01-16 17:02:01.000000000","message":"I think we need a \"LOG\" mode, when the identified dark objects are logged without any further action.","commit_id":"2f05664bc5dd706b2553a1b966fed31225228cd9"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"37085b0f9e0edb77b1af6440ce687801dc55c06b","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            # just report if the action is OnDarkDataDetection.DISREGARD"},{"line_number":88,"context_line":"            if on_dark_data_detection \u003d\u003d OnDarkDataDetection.DISREGARD:"},{"line_number":89,"context_line":"                obj_info \u003d get_info_1(self.container_ring, obj_path)"},{"line_number":90,"context_line":"        except ContainerError:"},{"line_number":91,"context_line":"            self.tot_unknown +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_9d43ec6b","line":88,"updated":"2020-01-16 17:02:01.000000000","message":"Isn\u0027t this backwards? If we do \"disregard\", then no need to even do get_info, right? In all other cases, get_info and all the other machinery.","commit_id":"2f05664bc5dd706b2553a1b966fed31225228cd9"}]}
