)]}'
{"ceilometer/polling/manager.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"942078cf094ae7ba9ddc68f7dd1ec8af2fe979fd","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        random.shuffle(intervals_randomized)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        for interval in intervals_randomized:"},{"line_number":379,"context_line":"            polling_task \u003d data[interval]"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            @periodics.periodic(spacing\u003dinterval, run_immediately\u003dTrue)"},{"line_number":382,"context_line":"            def task(running_task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff82abbf_ee10e850","line":379,"updated":"2017-11-27 16:12:11.000000000","message":"this isn\u0027t related to your patch but i\u0027m pretty sure this does nothing.\n\nif a polling_task is just a group of pollsters per interval, i don\u0027t see how randomising order stops it from polling all at once. for instance, if we have:\n\n  ---\n  sources:\n    - name: all_pollsters\n      interval: 300\n      meters:\n        - \"*\"\n\nthis will just trigger everything every 5s, regardless of this randomise.","commit_id":"dcda7930adbd8fb74f39ccd888055ecb733c5753"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2477caf98df17c4b52898fde7d056591799984cf","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        random.shuffle(intervals_randomized)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        for interval in intervals_randomized:"},{"line_number":379,"context_line":"            polling_task \u003d data[interval]"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            @periodics.periodic(spacing\u003dinterval, run_immediately\u003dTrue)"},{"line_number":382,"context_line":"            def task(running_task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff82abbf_cb7ceb84","line":379,"in_reply_to":"ff82abbf_043f2bb4","updated":"2017-11-27 22:35:04.000000000","message":"what are A, B, C in your example? cpu, disk.read.bytes, network.read.bytes (or some combination)?\n\niiuc, this code is creating polling_tasks which contain all pollsters (cpu, disk.read.bytes, network.read.bytes, etc...) of same interval.\n\nso your change with my polling.yaml will only have one item of interval 300s... so you are shuffling a single key (300), and thus it\u0027s just triggering right away.","commit_id":"dcda7930adbd8fb74f39ccd888055ecb733c5753"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"010aaba82ba4feae9855e3811b0fd23b9b7e8404","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        random.shuffle(intervals_randomized)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        for interval in intervals_randomized:"},{"line_number":379,"context_line":"            polling_task \u003d data[interval]"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            @periodics.periodic(spacing\u003dinterval, run_immediately\u003dTrue)"},{"line_number":382,"context_line":"            def task(running_task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff82abbf_043f2bb4","line":379,"in_reply_to":"ff82abbf_ee10e850","updated":"2017-11-27 17:15:30.000000000","message":"I think you confused the regular polling and the initial one.\n\nWhat the shuffle_time_before_polling_tasks does is delaying the *first* poll by a few random seconds.\nSo rather than having nodes #1 and #2 polling A, B, C and at the time when starting jointly, they wait e.g. #1 waits 3s and #2 waits 8 seconds, so they don\u0027t hit A, B, C at the same time (in theory). \n\nWhat this patch does is replacing that initial delay by a random sort #1 and #2 can start polling right away, except #1 will poll B, A, C whereas #2 will poll C, B, A (for example). That solves the same problem, i.e. B and A are not hit at the same time – in theory.","commit_id":"dcda7930adbd8fb74f39ccd888055ecb733c5753"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9c10cfdc83227b6d6b9d80dc6d8d68939af094d5","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        # tasks. During this short time bad thing can occur."},{"line_number":410,"context_line":"        #"},{"line_number":411,"context_line":"        # I think we must not reset keystone client before"},{"line_number":412,"context_line":"        # running a polling task, but refresh it periodically instead."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        # NOTE(sileht): we do lazy loading of the keystone client"},{"line_number":415,"context_line":"        # for multiple reasons:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_5f87e410","line":412,"updated":"2017-11-30 16:10:40.000000000","message":"i just noticed this. you should probably confirm this isn\u0027t an issue.","commit_id":"6aaaa8318ca677e8425584a6ba43d9f1d3d010bf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b3826d638fed8c26a832a39ff988467eb1a26e28","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        # tasks. During this short time bad thing can occur."},{"line_number":410,"context_line":"        #"},{"line_number":411,"context_line":"        # I think we must not reset keystone client before"},{"line_number":412,"context_line":"        # running a polling task, but refresh it periodically instead."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        # NOTE(sileht): we do lazy loading of the keystone client"},{"line_number":415,"context_line":"        # for multiple reasons:"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_a9c406f6","line":412,"in_reply_to":"df87a7cf_f5e3ce32","updated":"2017-12-09 11:39:22.000000000","message":"I don\u0027t think so. This is a workaround for thread safetyness, and I understand it still applies.","commit_id":"6aaaa8318ca677e8425584a6ba43d9f1d3d010bf"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"02875ecd0fd9355dacae8a4f546a26ab8a5ec346","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        # tasks. During this short time bad thing can occur."},{"line_number":410,"context_line":"        #"},{"line_number":411,"context_line":"        # I think we must not reset keystone client before"},{"line_number":412,"context_line":"        # running a polling task, but refresh it periodically instead."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        # NOTE(sileht): we do lazy loading of the keystone client"},{"line_number":415,"context_line":"        # for multiple reasons:"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_f5e3ce32","line":412,"in_reply_to":"ff82abbf_5f87e410","updated":"2017-12-08 19:40:28.000000000","message":"so not an issue?","commit_id":"6aaaa8318ca677e8425584a6ba43d9f1d3d010bf"}]}
