)]}'
{"gnocchi/storage/ceph.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"9a6ee0e5180371ca12772a11db833fb179ba30e3","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                pass"},{"line_number":281,"context_line":"            else:"},{"line_number":282,"context_line":"                for xattr, _ in xattrs:"},{"line_number":283,"context_line":"                    ioctx.rm_xattr(\"gnocchi_%s_container\" % metric.id, xattr)"},{"line_number":284,"context_line":"            for name in (\u0027container\u0027, \u0027none\u0027):"},{"line_number":285,"context_line":"                ioctx.aio_remove(\"gnocchi_%s_%s\" % (metric.id, name))"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_f062793c","line":283,"updated":"2016-06-03 08:43:50.000000000","message":"I don\u0027t get that change. The xattrs of the container are used to list the splits of the metric. We want to remove the file listed there, not the xattr.","commit_id":"2992f58b3f866d2a90339a1e7445a6eb8a802db6"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"91802e0fcfbf95104c2bf352e46d4760d107e41c","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                pass"},{"line_number":281,"context_line":"            else:"},{"line_number":282,"context_line":"                for xattr, _ in xattrs:"},{"line_number":283,"context_line":"                    ioctx.rm_xattr(\"gnocchi_%s_container\" % metric.id, xattr)"},{"line_number":284,"context_line":"            for name in (\u0027container\u0027, \u0027none\u0027):"},{"line_number":285,"context_line":"                ioctx.aio_remove(\"gnocchi_%s_%s\" % (metric.id, name))"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_ddb00fe0","line":283,"in_reply_to":"9abb7d3a_9fc97128","updated":"2016-06-03 16:10:28.000000000","message":"You don\u0027t need to delete the xattr. The container itself is removed, see line 285, so all its xattr are deleted with it.\n\nYour patch would delete the xattr of the container object, which is a list of all the split metric… so it would stop deleting the split metric, not deleting the actual data of the metric. :)","commit_id":"2992f58b3f866d2a90339a1e7445a6eb8a802db6"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"88beea9b535ef46bfbae3a5e1b96d398866c97bb","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                pass"},{"line_number":281,"context_line":"            else:"},{"line_number":282,"context_line":"                for xattr, _ in xattrs:"},{"line_number":283,"context_line":"                    ioctx.rm_xattr(\"gnocchi_%s_container\" % metric.id, xattr)"},{"line_number":284,"context_line":"            for name in (\u0027container\u0027, \u0027none\u0027):"},{"line_number":285,"context_line":"                ioctx.aio_remove(\"gnocchi_%s_%s\" % (metric.id, name))"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_9fc97128","line":283,"in_reply_to":"9abb7d3a_f062793c","updated":"2016-06-03 11:37:46.000000000","message":"why would we not delete the xattrs for the metric? this method deletes the metric.\n\ni\u0027m not entirely familiar with this, but as i understand it you have xattrs and objects. the code below removes the actual objects with aio_remove. i don\u0027t think aio_remove can remove an xattr (the ceph api docs are garbage, so i\u0027m not sure)\n\nthis is similar to what is being done in upgrade().","commit_id":"2992f58b3f866d2a90339a1e7445a6eb8a802db6"}]}
