)]}'
{"Engine/SBus/SBusJavaFacade/src/com/ibm/storlet/sbus/ServerSBusInDatagram.java":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bb3aa4c4d7b17cb021db4ee5d0b7bd1be07f191f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"\t\t\tString strKey \u003d (String)key;"},{"line_number":56,"context_line":"\t\t\tString strVal \u003d (String)source.get(key);"},{"line_number":57,"context_line":"\t\t\tdest.put(strKey, strVal);"},{"line_number":58,"context_line":"\t\t}\t"},{"line_number":59,"context_line":"\t}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"\t/**"}],"source_content_type":"text/x-java","patch_set":4,"id":"1aa78d24_cc308604","line":58,"range":{"start_line":58,"start_character":3,"end_line":58,"end_character":4},"updated":"2016-07-05 02:39:47.000000000","message":"Please remove this space","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"62ba10d617738a4672d60b332c10d46443ce7c51","unresolved":false,"context_lines":[{"line_number":55,"context_line":"\t\t\tString strKey \u003d (String)key;"},{"line_number":56,"context_line":"\t\t\tString strVal \u003d (String)source.get(key);"},{"line_number":57,"context_line":"\t\t\tdest.put(strKey, strVal);"},{"line_number":58,"context_line":"\t\t}\t"},{"line_number":59,"context_line":"\t}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"\t/**"}],"source_content_type":"text/x-java","patch_set":4,"id":"1aa78d24_d1dc9714","line":58,"range":{"start_line":58,"start_character":3,"end_line":58,"end_character":4},"in_reply_to":"1aa78d24_cc308604","updated":"2016-07-05 07:37:20.000000000","message":"Done","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bb3aa4c4d7b17cb021db4ee5d0b7bd1be07f191f","unresolved":false,"context_lines":[{"line_number":79,"context_line":"\t * ["},{"line_number":80,"context_line":"\t *     {"},{"line_number":81,"context_line":"\t *         \"system\": {"},{"line_number":82,"context_line":"\t *             \"type\": \"the fd type encoded as string\",  // Mandatory"},{"line_number":83,"context_line":"\t *             ... // Additional optional system metadata"},{"line_number":84,"context_line":"\t *         },"},{"line_number":85,"context_line":"\t *         \"user\": {"}],"source_content_type":"text/x-java","patch_set":4,"id":"1aa78d24_cf6d189a","line":82,"range":{"start_line":82,"start_character":16,"end_line":82,"end_character":55},"updated":"2016-07-05 02:39:47.000000000","message":"Is it better to split storlet system parameters from system metadata in storage system? (ex. content-length, content-type)\n\n{\n  \"storlets\": {\n    \"type\" : \n  },\n  \"sysmeta\": {\n    \"sm_key1\": \"value1\"\n  },\n  \"usermeta\": {\n    \"um_key1\": \"value1\"\n  }\n}","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"62ba10d617738a4672d60b332c10d46443ce7c51","unresolved":false,"context_lines":[{"line_number":79,"context_line":"\t * ["},{"line_number":80,"context_line":"\t *     {"},{"line_number":81,"context_line":"\t *         \"system\": {"},{"line_number":82,"context_line":"\t *             \"type\": \"the fd type encoded as string\",  // Mandatory"},{"line_number":83,"context_line":"\t *             ... // Additional optional system metadata"},{"line_number":84,"context_line":"\t *         },"},{"line_number":85,"context_line":"\t *         \"user\": {"}],"source_content_type":"text/x-java","patch_set":4,"id":"1aa78d24_91268fcc","line":82,"range":{"start_line":82,"start_character":16,"end_line":82,"end_character":55},"in_reply_to":"1aa78d24_cf6d189a","updated":"2016-07-05 07:37:20.000000000","message":"My choice of names was poor. The split is actually between storlets metadata and swift metadata (potentially both user and system). Hence, I have changed the names: \"user\"--\u003e\"swift\", and \"system\"--\u003e\"storlets\".\nThe \"storlets\" metadata is for internal use and never makes it to the storlet.\nThe \"swift\" metadata is the metadata that gets to the storlet.\nThere is a good point in splitting the \"swift\" part into \"swift_user\", and \"swift_sysmeta\", however, this involved changing storlets code, hence I would like to delay this","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"}],"Engine/SDaemon/src/com/ibm/storlet/daemon/STaskFactory.java":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2030967160caf6b41b143c2d3799887378377dc5","unresolved":false,"context_lines":[{"line_number":86,"context_line":"\t\tthis.logger_.trace(\"StorletTask: Got \" + nFiles + \" fds\");"},{"line_number":87,"context_line":"\t\tOutputStream taskIdOut \u003d null;"},{"line_number":88,"context_line":"\t\tfor (int i \u003d 0; i \u003c nFiles; ++i) {"},{"line_number":89,"context_line":"\t\t\tHashMap\u003cString, String\u003e storletsMetadata \u003d FilesMD[i].get(\"storlets\");\t"},{"line_number":90,"context_line":"\t\t\tHashMap\u003cString, String\u003e swiftMetadata \u003d FilesMD[i].get(\"swift\");"},{"line_number":91,"context_line":"\t\t\tFileDescriptor fd \u003d dtg.getFiles()[i];"},{"line_number":92,"context_line":"\t\t\tString strFDtype \u003d storletsMetadata.get(\"type\");"}],"source_content_type":"text/x-java","patch_set":5,"id":"1aa78d24_040ffa2e","line":89,"range":{"start_line":89,"start_character":73,"end_line":89,"end_character":74},"updated":"2016-07-05 09:05:57.000000000","message":"Can you remove this tab?","commit_id":"3e1343bb264b58042f8c3455a6f243bb7a63074f"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"560b588a925895d684f297ba7a825945a881495f","unresolved":false,"context_lines":[{"line_number":86,"context_line":"\t\tthis.logger_.trace(\"StorletTask: Got \" + nFiles + \" fds\");"},{"line_number":87,"context_line":"\t\tOutputStream taskIdOut \u003d null;"},{"line_number":88,"context_line":"\t\tfor (int i \u003d 0; i \u003c nFiles; ++i) {"},{"line_number":89,"context_line":"\t\t\tHashMap\u003cString, String\u003e storletsMetadata \u003d FilesMD[i].get(\"storlets\");\t"},{"line_number":90,"context_line":"\t\t\tHashMap\u003cString, String\u003e swiftMetadata \u003d FilesMD[i].get(\"swift\");"},{"line_number":91,"context_line":"\t\t\tFileDescriptor fd \u003d dtg.getFiles()[i];"},{"line_number":92,"context_line":"\t\t\tString strFDtype \u003d storletsMetadata.get(\"type\");"}],"source_content_type":"text/x-java","patch_set":5,"id":"1aa78d24_f4a897dd","line":89,"range":{"start_line":89,"start_character":73,"end_line":89,"end_character":74},"in_reply_to":"1aa78d24_040ffa2e","updated":"2016-07-05 10:25:42.000000000","message":"Done","commit_id":"3e1343bb264b58042f8c3455a6f243bb7a63074f"}],"Engine/swift/storlet_gateway/gateways/docker/runtime.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bb3aa4c4d7b17cb021db4ee5d0b7bd1be07f191f","unresolved":false,"context_lines":[{"line_number":491,"context_line":"    \"\"\""},{"line_number":492,"context_line":"    def __init__(self, smd\u003dNone, umd\u003dNone):"},{"line_number":493,"context_line":"        if smd:"},{"line_number":494,"context_line":"            self.smd \u003d smd"},{"line_number":495,"context_line":"        else:"},{"line_number":496,"context_line":"            self.smd \u003d dict()"},{"line_number":497,"context_line":"        if umd:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_8cb15e92","line":494,"range":{"start_line":494,"start_character":17,"end_line":494,"end_character":20},"updated":"2016-07-05 02:39:47.000000000","message":"(nit) Is it better to use more explicit name (system_metadata) than short name (smd)?","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"62ba10d617738a4672d60b332c10d46443ce7c51","unresolved":false,"context_lines":[{"line_number":491,"context_line":"    \"\"\""},{"line_number":492,"context_line":"    def __init__(self, smd\u003dNone, umd\u003dNone):"},{"line_number":493,"context_line":"        if smd:"},{"line_number":494,"context_line":"            self.smd \u003d smd"},{"line_number":495,"context_line":"        else:"},{"line_number":496,"context_line":"            self.smd \u003d dict()"},{"line_number":497,"context_line":"        if umd:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_b5d3b637","line":494,"range":{"start_line":494,"start_character":17,"end_line":494,"end_character":20},"in_reply_to":"1aa78d24_8cb15e92","updated":"2016-07-05 07:37:20.000000000","message":"Done","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bb3aa4c4d7b17cb021db4ee5d0b7bd1be07f191f","unresolved":false,"context_lines":[{"line_number":503,"context_line":"    def md(self):"},{"line_number":504,"context_line":"        return {\u0027system\u0027: self.smd, \u0027user\u0027: self.umd}"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    def set_umd_key(self, value):"},{"line_number":507,"context_line":"        key, val \u003d value"},{"line_number":508,"context_line":"        self.umd[key] \u003d val"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    umd_key \u003d property(None, set_umd_key)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def set_smd_key(self, value):"},{"line_number":513,"context_line":"        key, val \u003d value"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_2cecaa8e","line":510,"range":{"start_line":506,"start_character":0,"end_line":510,"end_character":41},"updated":"2016-07-05 02:39:47.000000000","message":"I think this functionality should be a function, not a property, because it does not set property value but update some part of it.\n\n\nHow about this?\n\ndef set_umd(self, key, value):\n    self.umd[key] \u003d value","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"62ba10d617738a4672d60b332c10d46443ce7c51","unresolved":false,"context_lines":[{"line_number":503,"context_line":"    def md(self):"},{"line_number":504,"context_line":"        return {\u0027system\u0027: self.smd, \u0027user\u0027: self.umd}"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    def set_umd_key(self, value):"},{"line_number":507,"context_line":"        key, val \u003d value"},{"line_number":508,"context_line":"        self.umd[key] \u003d val"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    umd_key \u003d property(None, set_umd_key)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def set_smd_key(self, value):"},{"line_number":513,"context_line":"        key, val \u003d value"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_15e3aa06","line":510,"range":{"start_line":506,"start_character":0,"end_line":510,"end_character":41},"in_reply_to":"1aa78d24_2cecaa8e","updated":"2016-07-05 07:37:20.000000000","message":"Done","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bb3aa4c4d7b17cb021db4ee5d0b7bd1be07f191f","unresolved":false,"context_lines":[{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    umd_key \u003d property(None, set_umd_key)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def set_smd_key(self, value):"},{"line_number":513,"context_line":"        key, val \u003d value"},{"line_number":514,"context_line":"        self.smd[key] \u003d val"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"    smd_key \u003d property(None, set_smd_key)"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"class StorletInvocationProtocol(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_8c031e42","line":516,"range":{"start_line":512,"start_character":0,"end_line":516,"end_character":41},"updated":"2016-07-05 02:39:47.000000000","message":"ditto","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"62ba10d617738a4672d60b332c10d46443ce7c51","unresolved":false,"context_lines":[{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    umd_key \u003d property(None, set_umd_key)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def set_smd_key(self, value):"},{"line_number":513,"context_line":"        key, val \u003d value"},{"line_number":514,"context_line":"        self.smd[key] \u003d val"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"    smd_key \u003d property(None, set_smd_key)"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"class StorletInvocationProtocol(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_f5b41ef3","line":516,"range":{"start_line":512,"start_character":0,"end_line":516,"end_character":41},"in_reply_to":"1aa78d24_8c031e42","updated":"2016-07-05 07:37:20.000000000","message":"Done","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2030967160caf6b41b143c2d3799887378377dc5","unresolved":false,"context_lines":[{"line_number":491,"context_line":"    setters for setting swift and storlets metadata keys."},{"line_number":492,"context_line":"    there is a single getter of the whole metadata structure."},{"line_number":493,"context_line":"    \"\"\""},{"line_number":494,"context_line":"    def __init__(self, storlets_metadata\u003dNone, swift_metadata\u003dNone):"},{"line_number":495,"context_line":"        if storlets_metadata:"},{"line_number":496,"context_line":"            self._storlets_metadata \u003d storlets_metadata"},{"line_number":497,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_84080adb","line":494,"range":{"start_line":494,"start_character":47,"end_line":494,"end_character":61},"updated":"2016-07-05 09:05:57.000000000","message":"How about \"storage\" instead of \"swift\"?\n\nI think it\u0027s better to be a general processing framework, which is addressed in future work.","commit_id":"3e1343bb264b58042f8c3455a6f243bb7a63074f"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"560b588a925895d684f297ba7a825945a881495f","unresolved":false,"context_lines":[{"line_number":491,"context_line":"    setters for setting swift and storlets metadata keys."},{"line_number":492,"context_line":"    there is a single getter of the whole metadata structure."},{"line_number":493,"context_line":"    \"\"\""},{"line_number":494,"context_line":"    def __init__(self, storlets_metadata\u003dNone, swift_metadata\u003dNone):"},{"line_number":495,"context_line":"        if storlets_metadata:"},{"line_number":496,"context_line":"            self._storlets_metadata \u003d storlets_metadata"},{"line_number":497,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_94baf321","line":494,"range":{"start_line":494,"start_character":47,"end_line":494,"end_character":61},"in_reply_to":"1aa78d24_84080adb","updated":"2016-07-05 10:25:42.000000000","message":"Absolutely, good idea.","commit_id":"3e1343bb264b58042f8c3455a6f243bb7a63074f"}],"install/storlets/roles/host_storlet_engine/tasks/main.yml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bb3aa4c4d7b17cb021db4ee5d0b7bd1be07f191f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"- name: remove python facade if exists"},{"line_number":24,"context_line":"  file: path\u003d\"/{{python_dist_packages_dir}}/SBusPythonFacade\" state\u003dabsent"},{"line_number":25,"context_line":"  when: st.stat.exists"},{"line_number":26,"context_line":" "},{"line_number":27,"context_line":"- name: test SBusPythonFacade egg state"},{"line_number":28,"context_line":"  stat: path\u003d\"/{{python_dist_packages_dir}}/SBusPythonFacade-1.0-py2.7.egg-info\""},{"line_number":29,"context_line":"  register: st"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1aa78d24_ccab661c","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":1},"updated":"2016-07-05 02:39:47.000000000","message":"Please remove this space","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"62ba10d617738a4672d60b332c10d46443ce7c51","unresolved":false,"context_lines":[{"line_number":23,"context_line":"- name: remove python facade if exists"},{"line_number":24,"context_line":"  file: path\u003d\"/{{python_dist_packages_dir}}/SBusPythonFacade\" state\u003dabsent"},{"line_number":25,"context_line":"  when: st.stat.exists"},{"line_number":26,"context_line":" "},{"line_number":27,"context_line":"- name: test SBusPythonFacade egg state"},{"line_number":28,"context_line":"  stat: path\u003d\"/{{python_dist_packages_dir}}/SBusPythonFacade-1.0-py2.7.egg-info\""},{"line_number":29,"context_line":"  register: st"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1aa78d24_15cd6a5d","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":1},"in_reply_to":"1aa78d24_ccab661c","updated":"2016-07-05 07:37:20.000000000","message":"Done","commit_id":"d38b3439958fae70790f9a66be46d80eba651b2d"}]}
