)]}'
{"test/unit/container/test_sharder.py":[{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"abdefbd4b58338b7d3e19421edfb68cfb0b93376","unresolved":false,"context_lines":[{"line_number":464,"context_line":"            check_recon(recon_data[3], sum(fake_periods[5:7]),"},{"line_number":465,"context_line":"                        sum(fake_periods[:7]), fake_stats)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"    def test_one_shard_cycle(self):"},{"line_number":468,"context_line":"        conf \u003d {\u0027recon_cache_path\u0027: self.tempdir,"},{"line_number":469,"context_line":"                \u0027devices\u0027: self.tempdir,"},{"line_number":470,"context_line":"                \u0027shard_container_threshold\u0027: 9}"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d4e2aaff","line":467,"updated":"2018-12-03 23:50:58.000000000","message":"I\u0027d like some help/advice on the proposed changes here. It was originally setting up 3 replicas on 3 devices and checking it. I *think* my changes make it so that there are 3 replicas on 4 devices with one unmounted.\n\n 1. Is this correct?\n 2. Is this a valuable addition to the test suite?","commit_id":"967817994758daa67e2943e5539b2bc0dd2c93fb"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6bd83f59f11f2707c2e208cc332cd51308dbbecd","unresolved":false,"context_lines":[{"line_number":470,"context_line":"                \u0027shard_container_threshold\u0027: 9}"},{"line_number":471,"context_line":"        def fake_check_node(n):"},{"line_number":472,"context_line":"            if n[\u0027id\u0027] \u003d\u003d 3:"},{"line_number":473,"context_line":"                return False"},{"line_number":474,"context_line":"            else:"},{"line_number":475,"context_line":"                return True"},{"line_number":476,"context_line":"        with self._mock_sharder(conf) as sharder:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_3453de70","line":473,"updated":"2018-12-04 00:21:08.000000000","message":"So no check that this leads to a warning getting logged?","commit_id":"967817994758daa67e2943e5539b2bc0dd2c93fb"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6bd83f59f11f2707c2e208cc332cd51308dbbecd","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            # a bit of an ugly hack to set 4 devices but 3 replicas so one can"},{"line_number":483,"context_line":"            # be unmounted"},{"line_number":484,"context_line":"            sharder.ring.set_replicas(4)"},{"line_number":485,"context_line":"            sharder.ring.replicas \u003d 3"},{"line_number":486,"context_line":"            for device_id in device_ids:"},{"line_number":487,"context_line":"                brokers.append(self._make_broker("},{"line_number":488,"context_line":"                    container\u003d\u0027c%s\u0027 % device_id, hash_\u003d\u0027c%shash\u0027 % device_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_14cd822c","line":485,"updated":"2018-12-04 00:21:08.000000000","message":"Would it be better to have _mock_sharder take a num_devices arg or something? I\u0027m still not quite sure I follow what\u0027s going on with the \"ugly hack\" (though I also haven\u0027t looked at it that long...)","commit_id":"967817994758daa67e2943e5539b2bc0dd2c93fb"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e64b78a92921e888b9bd40a2917ff4464aa77a8b","unresolved":false,"context_lines":[{"line_number":484,"context_line":"            unmounted_dev \u003d next(sharder.ring.get_more_nodes(1))"},{"line_number":485,"context_line":"            unmounted_dev_id \u003d unmounted_dev[\u0027id\u0027]"},{"line_number":486,"context_line":"            sharder.ring.add_node(unmounted_dev)"},{"line_number":487,"context_line":"            device_ids \u003d set(d[\u0027id\u0027] for d in sharder.ring.devs)"},{"line_number":488,"context_line":"            # remove the unmounted device id because it won\u0027t be processed"},{"line_number":489,"context_line":"            device_ids.remove(unmounted_dev_id)"},{"line_number":490,"context_line":"            for device_id in device_ids:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_92d2e6cf","line":487,"updated":"2018-12-04 20:42:15.000000000","message":"Could just move this ahead of the call to .add_node() and avoid the .remove()","commit_id":"8591a80fa6cad62590597075c084ab0374b2cf64"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"489cb9394c244557e5a10860f7d4795cc25ae0a7","unresolved":false,"context_lines":[{"line_number":484,"context_line":"            unmounted_dev \u003d next(sharder.ring.get_more_nodes(1))"},{"line_number":485,"context_line":"            unmounted_dev_id \u003d unmounted_dev[\u0027id\u0027]"},{"line_number":486,"context_line":"            sharder.ring.add_node(unmounted_dev)"},{"line_number":487,"context_line":"            device_ids \u003d set(d[\u0027id\u0027] for d in sharder.ring.devs)"},{"line_number":488,"context_line":"            # remove the unmounted device id because it won\u0027t be processed"},{"line_number":489,"context_line":"            device_ids.remove(unmounted_dev_id)"},{"line_number":490,"context_line":"            for device_id in device_ids:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_f878db7d","line":487,"in_reply_to":"3f79a3b5_92d2e6cf","updated":"2018-12-04 22:41:57.000000000","message":"Done","commit_id":"8591a80fa6cad62590597075c084ab0374b2cf64"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e64b78a92921e888b9bd40a2917ff4464aa77a8b","unresolved":false,"context_lines":[{"line_number":509,"context_line":""},{"line_number":510,"context_line":"            lines \u003d sharder.logger.get_lines_for_level(\u0027warning\u0027)"},{"line_number":511,"context_line":"            expected \u003d \u0027Skipping %s as it is not mounted\u0027 % \\"},{"line_number":512,"context_line":"                unmounted_dev[\u0027device\u0027]"},{"line_number":513,"context_line":"            self.assertEqual(device_ids, sharder._local_device_ids)"},{"line_number":514,"context_line":"            self.assertEqual(2, mock_process_broker.call_count)"},{"line_number":515,"context_line":"            processed_paths \u003d [call[0][0].path"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_924d06c8","line":512,"updated":"2018-12-04 20:42:15.000000000","message":"Oh, and I think we want an assertion up here, too...","commit_id":"8591a80fa6cad62590597075c084ab0374b2cf64"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"489cb9394c244557e5a10860f7d4795cc25ae0a7","unresolved":false,"context_lines":[{"line_number":509,"context_line":""},{"line_number":510,"context_line":"            lines \u003d sharder.logger.get_lines_for_level(\u0027warning\u0027)"},{"line_number":511,"context_line":"            expected \u003d \u0027Skipping %s as it is not mounted\u0027 % \\"},{"line_number":512,"context_line":"                unmounted_dev[\u0027device\u0027]"},{"line_number":513,"context_line":"            self.assertEqual(device_ids, sharder._local_device_ids)"},{"line_number":514,"context_line":"            self.assertEqual(2, mock_process_broker.call_count)"},{"line_number":515,"context_line":"            processed_paths \u003d [call[0][0].path"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_7bb28533","line":512,"in_reply_to":"3f79a3b5_924d06c8","updated":"2018-12-04 22:41:57.000000000","message":"yeah, that was just a stupid missed copy/paste on my part","commit_id":"8591a80fa6cad62590597075c084ab0374b2cf64"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a36928109ec075a9fcfb4d5c5cb1aedfcb1616eb","unresolved":false,"context_lines":[{"line_number":568,"context_line":"            lines \u003d sharder.logger.get_lines_for_level(\u0027warning\u0027)"},{"line_number":569,"context_line":"            expected \u003d \u0027Skipping %s as it is not mounted\u0027 % \\"},{"line_number":570,"context_line":"                unmounted_dev[\u0027device\u0027]"},{"line_number":571,"context_line":"            self.assertEqual(device_ids, sharder._local_device_ids)"},{"line_number":572,"context_line":"            self.assertEqual(device_ids, sharder._local_device_ids)"},{"line_number":573,"context_line":"            self.assertEqual(3, mock_process_broker.call_count)"},{"line_number":574,"context_line":"            processed_paths \u003d [call[0][0].path"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d205be69","line":571,"updated":"2018-12-04 20:38:42.000000000","message":"Did you mean\n\n self.assertIn(expected, lines)\n\nor something?","commit_id":"8591a80fa6cad62590597075c084ab0374b2cf64"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"489cb9394c244557e5a10860f7d4795cc25ae0a7","unresolved":false,"context_lines":[{"line_number":568,"context_line":"            lines \u003d sharder.logger.get_lines_for_level(\u0027warning\u0027)"},{"line_number":569,"context_line":"            expected \u003d \u0027Skipping %s as it is not mounted\u0027 % \\"},{"line_number":570,"context_line":"                unmounted_dev[\u0027device\u0027]"},{"line_number":571,"context_line":"            self.assertEqual(device_ids, sharder._local_device_ids)"},{"line_number":572,"context_line":"            self.assertEqual(device_ids, sharder._local_device_ids)"},{"line_number":573,"context_line":"            self.assertEqual(3, mock_process_broker.call_count)"},{"line_number":574,"context_line":"            processed_paths \u003d [call[0][0].path"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_1b2fd157","line":571,"in_reply_to":"3f79a3b5_d205be69","updated":"2018-12-04 22:41:57.000000000","message":"ditto","commit_id":"8591a80fa6cad62590597075c084ab0374b2cf64"}]}
