)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"108aea7b2b6b01a939ea0e1d8bb867ca296f8bd3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is only for get review comments patch"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"we can\u0027t delete instance system metadata because"},{"line_number":12,"context_line":"1) we might have \u0027changed-since\u0027 request which will access"},{"line_number":13,"context_line":"the soft deleted system_metadata"},{"line_number":14,"context_line":"2) we might has period audit function which also access the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_07c0e448","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":2},"updated":"2014-07-25 08:53:39.000000000","message":"s/we/We","commit_id":"bdb7e0b5bd123ddfdd0b7ec94fa99c8c325fbed4"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"108aea7b2b6b01a939ea0e1d8bb867ca296f8bd3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This is only for get review comments patch"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"we can\u0027t delete instance system metadata because"},{"line_number":12,"context_line":"1) we might have \u0027changed-since\u0027 request which will access"},{"line_number":13,"context_line":"the soft deleted system_metadata"},{"line_number":14,"context_line":"2) we might has period audit function which also access the"},{"line_number":15,"context_line":"soft deleted system_metadata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_47a57cb3","line":12,"range":{"start_line":12,"start_character":3,"end_line":12,"end_character":5},"updated":"2014-07-25 08:53:39.000000000","message":"s/we/We","commit_id":"bdb7e0b5bd123ddfdd0b7ec94fa99c8c325fbed4"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"108aea7b2b6b01a939ea0e1d8bb867ca296f8bd3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"we can\u0027t delete instance system metadata because"},{"line_number":12,"context_line":"1) we might have \u0027changed-since\u0027 request which will access"},{"line_number":13,"context_line":"the soft deleted system_metadata"},{"line_number":14,"context_line":"2) we might has period audit function which also access the"},{"line_number":15,"context_line":"soft deleted system_metadata"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The root cause is the join function filtered the \u0027deleted\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_67a600c2","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":5},"updated":"2014-07-25 08:53:39.000000000","message":"s/we/We","commit_id":"bdb7e0b5bd123ddfdd0b7ec94fa99c8c325fbed4"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"108aea7b2b6b01a939ea0e1d8bb867ca296f8bd3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"it will be used in instance\u0027s lifecycle, the data will only"},{"line_number":22,"context_line":"be updated so we won\u0027t have 2 copies or more system_metadata"},{"line_number":23,"context_line":"for the same instance."},{"line_number":24,"context_line":"SO allow to read it even if it\u0027s deleted is safe."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Will propose more commit if it\u0027s acceptable solution."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_87ab1487","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":2},"updated":"2014-07-25 08:53:39.000000000","message":"s/SO/So","commit_id":"bdb7e0b5bd123ddfdd0b7ec94fa99c8c325fbed4"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ec682f5bdc04e61944e6651712cc07613b32959e","unresolved":false,"context_lines":[{"line_number":2255,"context_line":""},{"line_number":2256,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2257,"context_line":"        for condemned in to_delete:"},{"line_number":2258,"context_line":"            session.delete(condemned)"},{"line_number":2259,"context_line":"            instance[metadata_type].remove(condemned)"},{"line_number":2260,"context_line":"    else:"},{"line_number":2261,"context_line":"        for condemned in to_delete:"}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_ec408808","line":2258,"updated":"2014-08-07 01:59:10.000000000","message":"So, in the commit message it says:\n\n We can\u0027t delete instance system metadata because...\n\nand yet here, you are fully deleting the keys from system_metadata.\n\nWhat am I missing?","commit_id":"83c6489d98fd894065f9e25846f04f66cdbf6d7b"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"5d31b2a6d4f242e0f71d944abfe16b31181ea5d9","unresolved":false,"context_lines":[{"line_number":2255,"context_line":""},{"line_number":2256,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2257,"context_line":"        for condemned in to_delete:"},{"line_number":2258,"context_line":"            session.delete(condemned)"},{"line_number":2259,"context_line":"            instance[metadata_type].remove(condemned)"},{"line_number":2260,"context_line":"    else:"},{"line_number":2261,"context_line":"        for condemned in to_delete:"}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_cb11c0af","line":2258,"in_reply_to":"baada198_ec408808","updated":"2014-08-08 06:02:42.000000000","message":"That\u0027s my fault, I submit the original commit message\n\nI will update commit message later, thanks for pointing out","commit_id":"83c6489d98fd894065f9e25846f04f66cdbf6d7b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f5cbb3925f245cdbbe0e1180be44ad3fa50f9ff5","unresolved":false,"context_lines":[{"line_number":2255,"context_line":""},{"line_number":2256,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2257,"context_line":"        for condemned in to_delete:"},{"line_number":2258,"context_line":"            session.delete(condemned)"},{"line_number":2259,"context_line":"            instance[metadata_type].remove(condemned)"},{"line_number":2260,"context_line":"    else:"},{"line_number":2261,"context_line":"        for condemned in to_delete:"}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_0302db0b","line":2258,"in_reply_to":"baada198_ec408808","updated":"2014-08-07 12:54:38.000000000","message":"yes, we can\u0027t delete system metadata after instance deleted. This only delete the old system_metadata when update system_metadata. When the instance is deleted, the system_metadata only be soft-deleted.\n\nIf we soft-delete system metadata at here, then after instance deleted we can\u0027t figure out which system-metadata is belong to instance before deleted.","commit_id":"83c6489d98fd894065f9e25846f04f66cdbf6d7b"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"5ca05a3a3e33e35b0a7389f24e78d5106729f25a","unresolved":false,"context_lines":[{"line_number":2413,"context_line":"        elif key not in metadata:"},{"line_number":2414,"context_line":"            to_delete.append(keyvalue)"},{"line_number":2415,"context_line":""},{"line_number":2416,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2417,"context_line":"        for condemned in to_delete:"},{"line_number":2418,"context_line":"            session.delete(condemned)"},{"line_number":2419,"context_line":"            instance[metadata_type].remove(condemned)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_d539bf40","line":2416,"updated":"2015-02-13 12:30:45.000000000","message":"Do we need an additional unit test for this code path?","commit_id":"f396329023646ad6b796616f1503575bdb76de84"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b3702c4bb9c0ecac7cf538391765df3150da2c05","unresolved":false,"context_lines":[{"line_number":2498,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2499,"context_line":"        for condemned in to_delete:"},{"line_number":2500,"context_line":"            session.delete(condemned)"},{"line_number":2501,"context_line":"            instance[metadata_type].remove(condemned)"},{"line_number":2502,"context_line":"    else:"},{"line_number":2503,"context_line":"        for condemned in to_delete:"},{"line_number":2504,"context_line":"            condemned.soft_delete(session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aa53dc9_6b8ddf7a","line":2501,"updated":"2015-04-06 22:14:38.000000000","message":"Why was this necessary here? Why not just stick to soft_deleting all metadata?","commit_id":"57d9b3cd248768737bf14108b8d9a84a35a6c279"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c85383f971f32a21216d768ce8d8810ae9c7cd95","unresolved":false,"context_lines":[{"line_number":2498,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2499,"context_line":"        for condemned in to_delete:"},{"line_number":2500,"context_line":"            session.delete(condemned)"},{"line_number":2501,"context_line":"            instance[metadata_type].remove(condemned)"},{"line_number":2502,"context_line":"    else:"},{"line_number":2503,"context_line":"        for condemned in to_delete:"},{"line_number":2504,"context_line":"            condemned.soft_delete(session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":12,"id":"dac4157f_16d9bbf3","line":2501,"in_reply_to":"9aa53dc9_6b8ddf7a","updated":"2015-04-21 06:16:28.000000000","message":"I think only the the last snapshot of metadata is useful for the deleted instance. There maybe some metadata removed after some operation when instance is live. Those metadata is meanless for the instance anymore. When check the status of deleted instance, the metadata returned should only reference to the instace\u0027s last minute. Does make sense?","commit_id":"57d9b3cd248768737bf14108b8d9a84a35a6c279"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8022d8f83c6d744552ecc77cfd843751c6d60c68","unresolved":false,"context_lines":[{"line_number":2470,"context_line":"            keyvalue[\u0027value\u0027] \u003d metadata.pop(key)"},{"line_number":2471,"context_line":"        elif key not in metadata:"},{"line_number":2472,"context_line":"            to_delete.append(keyvalue)"},{"line_number":2473,"context_line":""},{"line_number":2474,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2475,"context_line":"        for condemned in to_delete:"},{"line_number":2476,"context_line":"            session.delete(condemned)"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_e36d4805","line":2473,"updated":"2015-06-15 19:19:46.000000000","message":"I feel like we could really use a comment here explaining why system metadata is being hard-deleted during an update whereas other metadata aren\u0027t. I almost think we could hard-delete all metadata during an update unless having them around is useful for audits.\n\nI got from the other comments that we *have* to hard-delete here else we could get more than one system metadata record when we read deleted for an instance. I got from the code that regular metadata doesn\u0027t have the same problem because we don\u0027t allow reading deleted regular metadata anywhere.","commit_id":"01a9693db04155404eaefa36f1ae6823b9e676d5"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"8d236bdea8d63dd5beebe9ae79bb5c13384fe33b","unresolved":false,"context_lines":[{"line_number":2470,"context_line":"            keyvalue[\u0027value\u0027] \u003d metadata.pop(key)"},{"line_number":2471,"context_line":"        elif key not in metadata:"},{"line_number":2472,"context_line":"            to_delete.append(keyvalue)"},{"line_number":2473,"context_line":""},{"line_number":2474,"context_line":"    if metadata_type \u003d\u003d \u0027system_metadata\u0027:"},{"line_number":2475,"context_line":"        for condemned in to_delete:"},{"line_number":2476,"context_line":"            session.delete(condemned)"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_e730c6ea","line":2473,"in_reply_to":"fa32b979_e36d4805","updated":"2015-06-16 15:32:13.000000000","message":"ok, I am fine that we should add comments here, thanks~","commit_id":"01a9693db04155404eaefa36f1ae6823b9e676d5"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"93ac99b188bc27619e9b80e1091bead2b897c2de","unresolved":false,"context_lines":[{"line_number":1033,"context_line":"                           ForeignKey(\u0027instances.uuid\u0027),"},{"line_number":1034,"context_line":"                           nullable\u003dFalse)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    primary_join \u003d (\u0027InstanceSystemMetadata.instance_uuid \u003d\u003d Instance.uuid\u0027)"},{"line_number":1037,"context_line":"    instance \u003d orm.relationship(Instance, backref\u003d\"system_metadata\","},{"line_number":1038,"context_line":"                            foreign_keys\u003dinstance_uuid,"},{"line_number":1039,"context_line":"                            primaryjoin\u003dprimary_join)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aa53dc9_eb5e8f75","line":1036,"updated":"2015-04-06 22:34:16.000000000","message":"Why is this needed here but InstanceMetadata still has this clause on its join?","commit_id":"57d9b3cd248768737bf14108b8d9a84a35a6c279"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c85383f971f32a21216d768ce8d8810ae9c7cd95","unresolved":false,"context_lines":[{"line_number":1033,"context_line":"                           ForeignKey(\u0027instances.uuid\u0027),"},{"line_number":1034,"context_line":"                           nullable\u003dFalse)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    primary_join \u003d (\u0027InstanceSystemMetadata.instance_uuid \u003d\u003d Instance.uuid\u0027)"},{"line_number":1037,"context_line":"    instance \u003d orm.relationship(Instance, backref\u003d\"system_metadata\","},{"line_number":1038,"context_line":"                            foreign_keys\u003dinstance_uuid,"},{"line_number":1039,"context_line":"                            primaryjoin\u003dprimary_join)"}],"source_content_type":"text/x-python","patch_set":12,"id":"dac4157f_d67463fe","line":1036,"in_reply_to":"9aa53dc9_eb5e8f75","updated":"2015-04-21 06:16:28.000000000","message":"yes, this is useless now.","commit_id":"57d9b3cd248768737bf14108b8d9a84a35a6c279"}],"nova/objects/instance.py":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"0877a19945da8226e7af624fdbe323cbcbf8c49d","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            if instance.deleted:"},{"line_number":273,"context_line":"                instance[\u0027system_metadata\u0027] \u003d db.instance_system_metadata_get("},{"line_number":274,"context_line":"                    context, instance.uuid)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        if \u0027fault\u0027 in expected_attrs:"},{"line_number":277,"context_line":"            instance[\u0027fault\u0027] \u003d ("},{"line_number":278,"context_line":"                objects.InstanceFault.get_latest_for_instance("}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_c6f9dc50","line":275,"updated":"2014-07-30 20:34:23.000000000","message":"In case when instance.deleted will return True you will call two different methods and assign value to instance[\u0027system_metadata\u0027] twice. Can we avoid this?\n\nI would also consider adding unit tests for that new piece of code but for me it\u0027s up to you.","commit_id":"f6cf41f9ea70d888878f404ee177c357fd7f1697"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"4747460cf2084d08362fe6817f117042dbb8dc4b","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            if instance.deleted:"},{"line_number":273,"context_line":"                instance[\u0027system_metadata\u0027] \u003d db.instance_system_metadata_get("},{"line_number":274,"context_line":"                    context, instance.uuid)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        if \u0027fault\u0027 in expected_attrs:"},{"line_number":277,"context_line":"            instance[\u0027fault\u0027] \u003d ("},{"line_number":278,"context_line":"                objects.InstanceFault.get_latest_for_instance("}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_83098b86","line":275,"in_reply_to":"baada198_c6f9dc50","updated":"2014-07-31 02:10:07.000000000","message":"thanks for review\n\nI did have a plan to add test cases :)\nI want to let jenkins to test the code that added can work or not ~\nthanks","commit_id":"f6cf41f9ea70d888878f404ee177c357fd7f1697"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"1a3b058597d183e070d3c44a6af8f8a9555cf27a","unresolved":false,"context_lines":[{"line_number":269,"context_line":"            instance[\u0027metadata\u0027] \u003d utils.instance_meta(db_inst)"},{"line_number":270,"context_line":"        if \u0027system_metadata\u0027 in expected_attrs:"},{"line_number":271,"context_line":"            instance[\u0027system_metadata\u0027] \u003d utils.instance_sys_meta(db_inst)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        if \u0027fault\u0027 in expected_attrs:"},{"line_number":274,"context_line":"            instance[\u0027fault\u0027] \u003d ("},{"line_number":275,"context_line":"                objects.InstanceFault.get_latest_for_instance("}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_4d97a49c","line":272,"updated":"2014-08-07 11:24:50.000000000","message":"Unrelated changes","commit_id":"83c6489d98fd894065f9e25846f04f66cdbf6d7b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f5cbb3925f245cdbbe0e1180be44ad3fa50f9ff5","unresolved":false,"context_lines":[{"line_number":269,"context_line":"            instance[\u0027metadata\u0027] \u003d utils.instance_meta(db_inst)"},{"line_number":270,"context_line":"        if \u0027system_metadata\u0027 in expected_attrs:"},{"line_number":271,"context_line":"            instance[\u0027system_metadata\u0027] \u003d utils.instance_sys_meta(db_inst)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        if \u0027fault\u0027 in expected_attrs:"},{"line_number":274,"context_line":"            instance[\u0027fault\u0027] \u003d ("},{"line_number":275,"context_line":"                objects.InstanceFault.get_latest_for_instance("}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_7e05ec0e","line":272,"in_reply_to":"baada198_4d97a49c","updated":"2014-08-07 12:54:38.000000000","message":"Done","commit_id":"83c6489d98fd894065f9e25846f04f66cdbf6d7b"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"5ca05a3a3e33e35b0a7389f24e78d5106729f25a","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            instance[\u0027metadata\u0027] \u003d utils.instance_meta(db_inst)"},{"line_number":294,"context_line":"        if \u0027system_metadata\u0027 in expected_attrs:"},{"line_number":295,"context_line":"            instance[\u0027system_metadata\u0027] \u003d utils.instance_sys_meta(db_inst)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        if \u0027fault\u0027 in expected_attrs:"},{"line_number":298,"context_line":"            instance[\u0027fault\u0027] \u003d ("},{"line_number":299,"context_line":"                objects.InstanceFault.get_latest_for_instance("}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_b5a0cb92","line":296,"updated":"2015-02-13 12:30:45.000000000","message":"nit: No real change here. I would suggest to remove this empty line.","commit_id":"f396329023646ad6b796616f1503575bdb76de84"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a31d91c4e9eb33330f000aa27ac546d01c1337a8","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            instance[\u0027metadata\u0027] \u003d utils.instance_meta(db_inst)"},{"line_number":294,"context_line":"        if \u0027system_metadata\u0027 in expected_attrs:"},{"line_number":295,"context_line":"            instance[\u0027system_metadata\u0027] \u003d utils.instance_sys_meta(db_inst)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        if \u0027fault\u0027 in expected_attrs:"},{"line_number":298,"context_line":"            instance[\u0027fault\u0027] \u003d ("},{"line_number":299,"context_line":"                objects.InstanceFault.get_latest_for_instance("}],"source_content_type":"text/x-python","patch_set":11,"id":"ba7be1f8_e417d34f","line":296,"in_reply_to":"da86d52c_b5a0cb92","updated":"2015-02-20 20:42:01.000000000","message":"Agreed…","commit_id":"f396329023646ad6b796616f1503575bdb76de84"}],"nova/utils.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b5edfa8395b61be0ea433f85a9e2e1c96d74d81f","unresolved":false,"context_lines":[{"line_number":862,"context_line":"def metadata_to_dict(metadata):"},{"line_number":863,"context_line":"    result \u003d {}"},{"line_number":864,"context_line":"    for item in metadata:"},{"line_number":865,"context_line":"        if not item.get(\u0027deleted\u0027):"},{"line_number":866,"context_line":"            result[item[\u0027key\u0027]] \u003d item[\u0027value\u0027]"},{"line_number":867,"context_line":"    return result"},{"line_number":868,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_1ca94e90","side":"PARENT","line":865,"updated":"2014-07-31 11:01:39.000000000","message":"jichenjc, I updated this patch, let us try this...","commit_id":"4903a9837be228e01eabb71748b7fdba671ab7cd"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"9b11f034d95bcad1fec741585191ea6334d84e89","unresolved":false,"context_lines":[{"line_number":862,"context_line":"def metadata_to_dict(metadata, read_deleted\u003dFalse):"},{"line_number":863,"context_line":"    result \u003d {}"},{"line_number":864,"context_line":"    for item in metadata:"},{"line_number":865,"context_line":"        if not read_deleted and item.get(\u0027deleted\u0027):"},{"line_number":866,"context_line":"            continue"},{"line_number":867,"context_line":"        result[item[\u0027key\u0027]] \u003d item[\u0027value\u0027]"},{"line_number":868,"context_line":"    return result"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_055ab581","line":865,"updated":"2014-08-01 03:13:15.000000000","message":"I don\u0027t fully understand the meaning of \nitem.get(\u0027deleted\u0027) \nhere...","commit_id":"aa9df38eaa0fdff4ec277c5de5932bc2a75f3efe"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"5ca05a3a3e33e35b0a7389f24e78d5106729f25a","unresolved":false,"context_lines":[{"line_number":885,"context_line":"    if isinstance(instance[\u0027system_metadata\u0027], dict):"},{"line_number":886,"context_line":"        return instance[\u0027system_metadata\u0027]"},{"line_number":887,"context_line":"    else:"},{"line_number":888,"context_line":"        return metadata_to_dict(instance[\u0027system_metadata\u0027], True)"},{"line_number":889,"context_line":""},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"def get_wrapped_function(function):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_f5740300","line":888,"updated":"2015-02-13 12:30:45.000000000","message":"Could we use \"read_deleted\u003dTrue\" instead of the plain \"True\"? It would increase the readability (at least for me).","commit_id":"f396329023646ad6b796616f1503575bdb76de84"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b3702c4bb9c0ecac7cf538391765df3150da2c05","unresolved":false,"context_lines":[{"line_number":1060,"context_line":"    properties \u003d {}"},{"line_number":1061,"context_line":""},{"line_number":1062,"context_line":"    if not isinstance(system_meta, dict):"},{"line_number":1063,"context_line":"        system_meta \u003d metadata_to_dict(system_meta, True)"},{"line_number":1064,"context_line":""},{"line_number":1065,"context_line":"    for key, value in system_meta.iteritems():"},{"line_number":1066,"context_line":"        if value is None:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aa53dc9_2bd59742","line":1063,"updated":"2015-04-06 22:14:38.000000000","message":"would be nice to use read_deleted\u003dTrue instead of just True above, in order to be consistent with line 830 above.","commit_id":"57d9b3cd248768737bf14108b8d9a84a35a6c279"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c85383f971f32a21216d768ce8d8810ae9c7cd95","unresolved":false,"context_lines":[{"line_number":1060,"context_line":"    properties \u003d {}"},{"line_number":1061,"context_line":""},{"line_number":1062,"context_line":"    if not isinstance(system_meta, dict):"},{"line_number":1063,"context_line":"        system_meta \u003d metadata_to_dict(system_meta, True)"},{"line_number":1064,"context_line":""},{"line_number":1065,"context_line":"    for key, value in system_meta.iteritems():"},{"line_number":1066,"context_line":"        if value is None:"}],"source_content_type":"text/x-python","patch_set":12,"id":"dac4157f_76447773","line":1063,"in_reply_to":"9aa53dc9_2bd59742","updated":"2015-04-21 06:16:28.000000000","message":"thanks, will update","commit_id":"57d9b3cd248768737bf14108b8d9a84a35a6c279"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"e4b584d9b23e76628b3d12962b26c1208898bbe6","unresolved":false,"context_lines":[{"line_number":827,"context_line":"        return instance[\u0027system_metadata\u0027]"},{"line_number":828,"context_line":"    else:"},{"line_number":829,"context_line":"        return metadata_to_dict(instance[\u0027system_metadata\u0027],"},{"line_number":830,"context_line":"                                read_deleted\u003dTrue)"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":""},{"line_number":833,"context_line":"def get_wrapped_function(function):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3acd31a7_cf3d8290","line":830,"updated":"2015-05-05 20:44:25.000000000","message":"I still don\u0027t understand why the changes in this file were needed. Can you explain?","commit_id":"9af0947558e96bfceffa175d0816511c4590e593"}]}
