)]}'
{"swift/obj/diskfile.py":[{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"5448c67fd5c104d2bec723846936a936ab07f294","unresolved":false,"context_lines":[{"line_number":1791,"context_line":"                try:"},{"line_number":1792,"context_line":"                    fsync_dir(self._datadir)"},{"line_number":1793,"context_line":"                except OSError:"},{"line_number":1794,"context_line":"                    msg \u003d (_(\u0027Problem fsyncing dir\u0027"},{"line_number":1795,"context_line":"                           \u0027after writing .durable: %s\u0027), self._datadir)"},{"line_number":1796,"context_line":"                    exc \u003d DiskFileError(msg)"},{"line_number":1797,"context_line":"                except IOError as io_err:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_fa6c6dd1","line":1794,"updated":"2015-06-18 16:35:51.000000000","message":"It might be nice to include the strerror() from the OSError or IOError in the logged message, as that might help a deployer troubleshoot more quickly.","commit_id":"e93d7f13c6551868b8de2a1a19839a817e42a7cc"},{"author":{"_account_id":12974,"name":"Ben Martin","email":"blmartin@us.ibm.com","username":"blmartin"},"change_message_id":"4077d97058d4d8d9504a9e67f8e00ac9194e8246","unresolved":false,"context_lines":[{"line_number":1800,"context_line":"                        msg \u003d (_(\u0027%s \\nNo space left on device\u0027"},{"line_number":1801,"context_line":"                               \u0027for updates to: %s\u0027) %"},{"line_number":1802,"context_line":"                               (io_err, self._datadir))"},{"line_number":1803,"context_line":"                        exc \u003d DiskFileNoSpace()"},{"line_number":1804,"context_line":"                    else:"},{"line_number":1805,"context_line":"                        msg \u003d (_(\u0027%s \\nProblem fsyncing dir\u0027"},{"line_number":1806,"context_line":"                               \u0027after writing .durable: %s\u0027) %"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa32b979_33073783","line":1803,"updated":"2015-06-26 01:58:51.000000000","message":"You are not currently passing the error message into the exception","commit_id":"80b7c808e8f41253e8ebc424627eaf08591d6968"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"8eba07e7315ac91e8e5692824f8d01ca4ffbf54e","unresolved":false,"context_lines":[{"line_number":1823,"context_line":"            if io_err.errno in (errno.ENOSPC, errno.EDQUOT):"},{"line_number":1824,"context_line":"                msg \u003d (_(\u0027%s \\nNo space left on device for %s\u0027) %"},{"line_number":1825,"context_line":"                       (io_err, durable_file_path))"},{"line_number":1826,"context_line":"                exc \u003d DiskFileNoSpace()"},{"line_number":1827,"context_line":"            else:"},{"line_number":1828,"context_line":"                msg \u003d (_(\u0027%s \\nProblem writing durable state file: %s\u0027) %"},{"line_number":1829,"context_line":"                       (io_err, durable_file_path))"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa32b979_f2b9b416","line":1826,"updated":"2015-06-26 12:47:05.000000000","message":"forgot to include msg here too","commit_id":"80b7c808e8f41253e8ebc424627eaf08591d6968"},{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"5d0662aee0ffa22ce753e95868c9f9c2589e53de","unresolved":false,"context_lines":[{"line_number":1789,"context_line":"            with open(durable_file_path, \u0027w\u0027) as _fp:"},{"line_number":1790,"context_line":"                fsync(_fp.fileno())"},{"line_number":1791,"context_line":"                try:"},{"line_number":1792,"context_line":"                    fsync_dir(self._datadir)"},{"line_number":1793,"context_line":"                except OSError as os_err:"},{"line_number":1794,"context_line":"                    msg \u003d (_(\u0027%s \\nProblem fsyncing dir\u0027"},{"line_number":1795,"context_line":"                           \u0027after writing .durable: %s\u0027) %"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba3cc151_bbaa0bd1","line":1792,"updated":"2015-07-06 21:17:22.000000000","message":"Could the error handling here be simplified like this?\n\n except (OSError, IOError) as err:\n     if err.errno in (...):\n         # handle DiskFileNoSpace case\n     else:\n         # do the generic \"Problem fsyncing dir...\" DiskFileError\n\nand similarly below.\n\nIs there some differentiation between OSError and IOError that\u0027s worth making here?","commit_id":"4d4db054d35c7e9de9ed28ac24965e8408dd9f82"},{"author":{"_account_id":8542,"name":"Prashanth Pai","email":"ppai@redhat.com","username":"pai"},"change_message_id":"c80c8d19a0b06ce6930aa3b853851a3d17055259","unresolved":false,"context_lines":[{"line_number":1789,"context_line":"            with open(durable_file_path, \u0027w\u0027) as _fp:"},{"line_number":1790,"context_line":"                fsync(_fp.fileno())"},{"line_number":1791,"context_line":"                try:"},{"line_number":1792,"context_line":"                    fsync_dir(self._datadir)"},{"line_number":1793,"context_line":"                except OSError as os_err:"},{"line_number":1794,"context_line":"                    msg \u003d (_(\u0027%s \\nProblem fsyncing dir\u0027"},{"line_number":1795,"context_line":"                           \u0027after writing .durable: %s\u0027) %"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba3cc151_04570b03","line":1792,"in_reply_to":"ba3cc151_bbaa0bd1","updated":"2015-07-07 06:18:37.000000000","message":"+1","commit_id":"4d4db054d35c7e9de9ed28ac24965e8408dd9f82"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ff61ae74ddfcbeecd2bf8169355bfeadb261b1b5","unresolved":false,"context_lines":[{"line_number":1807,"context_line":"                               (io_err, self._datadir))"},{"line_number":1808,"context_line":"                        exc \u003d DiskFileError(msg)"},{"line_number":1809,"context_line":"                if exc:"},{"line_number":1810,"context_line":"                    self.manager.logger.exception(msg)"},{"line_number":1811,"context_line":"                    raise exc"},{"line_number":1812,"context_line":"                try:"},{"line_number":1813,"context_line":"                    self.manager.hash_cleanup_listdir(self._datadir)"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba3cc151_10e5d4a2","line":1810,"updated":"2015-07-08 00:08:25.000000000","message":"seems weird to log the traceback for ENOSPC?\n\ngenerally you log the exception if you *don\u0027t* know what happened\n\nActually I think it\u0027d be better to just let the existing error handling do it\u0027s thing rather than try to break down if it was the zero byte file, or the directory that cause the filesystem to croak.","commit_id":"4d4db054d35c7e9de9ed28ac24965e8408dd9f82"}]}
