)]}'
{"specs/mitaka/failure-remoting.rst":[{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo.messaging/+spec/failure-remoting"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"We currently have a couple ways of remoting failures (exceptions +"},{"line_number":8,"context_line":"traceback information) that occur on remote systems back to there"},{"line_number":9,"context_line":"source. These different ways have differences that make each solution"},{"line_number":10,"context_line":"valid and applicable to its problem area. To encourage unification, this"},{"line_number":11,"context_line":"spec will work on a proposal that can take the best aspects of both"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_904cb771","line":8,"range":{"start_line":8,"start_character":60,"end_line":8,"end_character":65},"updated":"2016-05-19 13:36:17.000000000","message":"nit their","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":56,"context_line":".. _pickle: https://docs.python.org/2/library/pickle.html"},{"line_number":57,"context_line":".. _traceback: https://docs.python.org/2/library/traceback.html"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"What exists"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"There are four known implementations of failure capturing, serialization"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_0a9893bf","line":59,"updated":"2016-05-19 13:36:17.000000000","message":"this is... long. It seems like it\u0027d be easier to say \"the taskflow implementation which I wrote and is therefore awesomecool meets all the criteria above. The oslo.messaging one does not do X and the twisted one requires Y\"","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"86c78805900fc02b6ceae334ffdd2863bb755445","unresolved":false,"context_lines":[{"line_number":56,"context_line":".. _pickle: https://docs.python.org/2/library/pickle.html"},{"line_number":57,"context_line":".. _traceback: https://docs.python.org/2/library/traceback.html"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"What exists"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"There are four known implementations of failure capturing, serialization"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9abb7d3a_4198356a","line":59,"in_reply_to":"bab6814e_0a9893bf","updated":"2016-06-01 22:11:50.000000000","message":"awesomecool++","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"There are four known implementations of failure capturing, serialization"},{"line_number":63,"context_line":"and deserialization/reconstruction (not all libraries appear to try to"},{"line_number":64,"context_line":"provide this) that the author of this specification is aware of (there"},{"line_number":65,"context_line":"might and likely are others the author does not know about). Let"},{"line_number":66,"context_line":"us dive into how each one works and analyze the benefits and drawbacks of"},{"line_number":67,"context_line":"each approach."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_867801f4","line":65,"range":{"start_line":64,"start_character":14,"end_line":65,"end_character":59},"updated":"2016-05-19 13:36:17.000000000","message":"nit \"known\" captured all this","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":313,"context_line":"can be passed to the `traceback`_ module to have its functions seemingly"},{"line_number":314,"context_line":"work)."},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"Boltons"},{"line_number":317,"context_line":"-------"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"Source:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_87963cee","line":316,"updated":"2016-05-19 13:36:17.000000000","message":"Hmm, boltons is cool! Still, http://codesearch.openstack.org/?q\u003dboltons\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d shows no hits. Especially since the model is the same as Twisted\u0027s - does it need mentioning?","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"86c78805900fc02b6ceae334ffdd2863bb755445","unresolved":false,"context_lines":[{"line_number":313,"context_line":"can be passed to the `traceback`_ module to have its functions seemingly"},{"line_number":314,"context_line":"work)."},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"Boltons"},{"line_number":317,"context_line":"-------"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"Source:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9abb7d3a_81d17d25","line":316,"in_reply_to":"bab6814e_87963cee","updated":"2016-06-01 22:11:50.000000000","message":"Probably can cut it out, I was mostly trying to be through in finding other libraries that already try to do this (so that we can see the various approaches others have tried/taken/implemented).","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"845f68009ed27875607c453b51eb85f6db6ef518","unresolved":false,"context_lines":[{"line_number":392,"context_line":"not match a known list of failures, then ``reraise`` will return false and"},{"line_number":393,"context_line":"it will not re-raise anything (leaving it up to the caller to decide what"},{"line_number":394,"context_line":"to do in this situation, perhaps at this point a common  `WrappedFailure`_"},{"line_number":395,"context_line":"like exception should be raised?)."},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"The validation logic using `jsonschema`_ would be taken from taskflow and"},{"line_number":398,"context_line":"used when deserializing so that errors with *bad* data can be found"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9abb7d3a_43712fe0","line":395,"updated":"2016-06-02 15:09:21.000000000","message":"In this case I think it would it make sense to re-factor oslo.messaging\u0027s RemoteError to be a subclass of WrappedFailure and reraise that.","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":412,"context_line":"Alternatives"},{"line_number":413,"context_line":"------------"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"Keep having multiple variations, each with there own weaknesses and"},{"line_number":416,"context_line":"benefits, instead of unifying them under a single library (perhaps"},{"line_number":417,"context_line":"that library can even be something integrated into `cpython`_ at some"},{"line_number":418,"context_line":"point)."}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_874bdc86","line":415,"range":{"start_line":415,"start_character":43,"end_line":415,"end_character":48},"updated":"2016-05-19 13:36:17.000000000","message":"nit their","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":417,"context_line":"that library can even be something integrated into `cpython`_ at some"},{"line_number":418,"context_line":"point)."},{"line_number":419,"context_line":""},{"line_number":420,"context_line":".. _cpython: http://www.python.org"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"Impact on Existing APIs"},{"line_number":423,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_e72108b6","line":420,"updated":"2016-05-19 13:36:17.000000000","message":"nit who needs this link?! and properly it\u0027s CPython, I think (caps)","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"86c78805900fc02b6ceae334ffdd2863bb755445","unresolved":false,"context_lines":[{"line_number":417,"context_line":"that library can even be something integrated into `cpython`_ at some"},{"line_number":418,"context_line":"point)."},{"line_number":419,"context_line":""},{"line_number":420,"context_line":".. _cpython: http://www.python.org"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"Impact on Existing APIs"},{"line_number":423,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9abb7d3a_a1c2c150","line":420,"in_reply_to":"bab6814e_e72108b6","updated":"2016-06-01 22:11:50.000000000","message":"Lol, ya, idk why i put that.","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":464,"context_line":"Milestones"},{"line_number":465,"context_line":"----------"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"Target Milestone for completion: Mikita"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"Work Items"},{"line_number":470,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_6a031f0e","line":467,"range":{"start_line":467,"start_character":33,"end_line":467,"end_character":39},"updated":"2016-05-19 13:36:17.000000000","message":"Newton+; move file too","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":484,"context_line":"N/A"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"Documentation Impact"},{"line_number":487,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"Dependencies"},{"line_number":490,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_8a2763b5","line":487,"updated":"2016-05-19 13:36:17.000000000","message":"the new lib will need some new doc, no?","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"86c78805900fc02b6ceae334ffdd2863bb755445","unresolved":false,"context_lines":[{"line_number":484,"context_line":"N/A"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"Documentation Impact"},{"line_number":487,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"Dependencies"},{"line_number":490,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9abb7d3a_81985d79","line":487,"in_reply_to":"bab6814e_8a2763b5","updated":"2016-06-01 22:11:50.000000000","message":"I hope so :-P","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69eeca623143fc1787172da3cf89abca24b3f663","unresolved":false,"context_lines":[{"line_number":487,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"Dependencies"},{"line_number":490,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"References"},{"line_number":493,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bab6814e_aa5b472d","line":490,"updated":"2016-05-19 13:36:17.000000000","message":"Template says to put \"None\" for empty sections; ditto next section","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"86c78805900fc02b6ceae334ffdd2863bb755445","unresolved":false,"context_lines":[{"line_number":487,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"Dependencies"},{"line_number":490,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"References"},{"line_number":493,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9abb7d3a_c19ee561","line":490,"in_reply_to":"bab6814e_aa5b472d","updated":"2016-06-01 22:11:50.000000000","message":"Will do.","commit_id":"3ae4c96f07afb4717b60da3fe31f8e80b3173044"}]}
