)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"dcfa573c9c8b2474a1979ee4720fc0f243630dc3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"swift account/container/object info and"},{"line_number":11,"context_line":"metadata directly in elasticsearch behind"},{"line_number":12,"context_line":"searchlight server."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I2bfcb8f928ab2e4eab30fca339f51aecf0394921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a18252c_3b3b089e","line":13,"updated":"2016-04-13 20:51:49.000000000","message":"Probably should add what the state is. E.g. what is missing (delete / update / custom metadata / configurable aspects)","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"a2e97be7886c183f8bae0f19a61886be64cc4c2e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"swift account/container/object info and"},{"line_number":11,"context_line":"metadata directly in elasticsearch behind"},{"line_number":12,"context_line":"searchlight server."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I2bfcb8f928ab2e4eab30fca339f51aecf0394921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a18252c_8eff7866","line":13,"in_reply_to":"5a18252c_3b3b089e","updated":"2016-04-13 21:21:55.000000000","message":"Please also provide links to the other options:\n\nhttps://review.openstack.org/#/c/305404/4/specs/newton/searchlight-client-library.rst","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"}],"swift/common/elasticsearch_client.py":[{"author":{"_account_id":17363,"name":"Timur Alperovich","email":"timur@timuralp.com","username":"timuralp"},"change_message_id":"700c830cbe0fa8adfded00e0d5cf0e1aa2953dae","unresolved":false,"context_lines":[{"line_number":2,"context_line":"import json"},{"line_number":3,"context_line":"import urllib2"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"es_url \u003d \"http://127.0.0.1:9200/\""},{"line_number":6,"context_line":"index \u003d \"searchlight-search/\""},{"line_number":7,"context_line":"ADMIN_SUFFIX \u003d \"_ADMIN\""},{"line_number":8,"context_line":"USER_SUFFIX \u003d \"_USER\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_f1ed31f0","line":5,"updated":"2016-04-13 21:59:55.000000000","message":"I think this is the same as Travis\u0027s comment, where configuration of the ES host (or cluster) should be plumbed through -- at least worth a note.","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"9978b4a90c976608e4ddc0b5ef3c6abffcd5852e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"import json"},{"line_number":3,"context_line":"import urllib2"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"es_url \u003d \"http://127.0.0.1:9200/\""},{"line_number":6,"context_line":"index \u003d \"searchlight-search/\""},{"line_number":7,"context_line":"ADMIN_SUFFIX \u003d \"_ADMIN\""},{"line_number":8,"context_line":"USER_SUFFIX \u003d \"_USER\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_8ca02045","line":5,"in_reply_to":"5a18252c_f1ed31f0","updated":"2016-04-13 22:28:00.000000000","message":"Definitely.  Added this patch just as a quick convenient way for discussion in the weekly meeting.","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"},{"author":{"_account_id":17363,"name":"Timur Alperovich","email":"timur@timuralp.com","username":"timuralp"},"change_message_id":"700c830cbe0fa8adfded00e0d5cf0e1aa2953dae","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    headers \u003d {\u0027Content-Type\u0027: \u0027application/json\u0027}"},{"line_number":16,"context_line":"    resource_id \u003d resource_id.replace(\"/\", \"%2F\")"},{"line_number":17,"context_line":"    url \u003d es_url + index + doc_type + resource_id"},{"line_number":18,"context_line":"    req \u003d urllib2.Request(url, post_data, headers\u003dheaders)"},{"line_number":19,"context_line":"    conn \u003d urllib2.urlopen(req)"},{"line_number":20,"context_line":"    es_out \u003d conn.read()"},{"line_number":21,"context_line":"    conn.close()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_71af6194","line":18,"updated":"2016-04-13 21:59:55.000000000","message":"Another note here would be support for ElasticSearch clusters and failure handling. The ElasticSearch python client library does already handle clustering and it may be useful to pull in that dependency? Although I understand objections around the dependency weight and the fact that ES broke the API between 1.x and 2.x.","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"9978b4a90c976608e4ddc0b5ef3c6abffcd5852e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    headers \u003d {\u0027Content-Type\u0027: \u0027application/json\u0027}"},{"line_number":16,"context_line":"    resource_id \u003d resource_id.replace(\"/\", \"%2F\")"},{"line_number":17,"context_line":"    url \u003d es_url + index + doc_type + resource_id"},{"line_number":18,"context_line":"    req \u003d urllib2.Request(url, post_data, headers\u003dheaders)"},{"line_number":19,"context_line":"    conn \u003d urllib2.urlopen(req)"},{"line_number":20,"context_line":"    es_out \u003d conn.read()"},{"line_number":21,"context_line":"    conn.close()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_2cc0ecdf","line":18,"in_reply_to":"5a18252c_71af6194","updated":"2016-04-13 22:28:00.000000000","message":"Yes we wanted to use elasticsearch library but as you said do you dependency, didnt use it. After the IRC weekly meeting today I will create the lib using elasticsearch python client","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"}],"swift/container/server.py":[{"author":{"_account_id":17363,"name":"Timur Alperovich","email":"timur@timuralp.com","username":"timuralp"},"change_message_id":"700c830cbe0fa8adfded00e0d5cf0e1aa2953dae","unresolved":false,"context_lines":[{"line_number":401,"context_line":"            if metadata:"},{"line_number":402,"context_line":"                self._update_sync_store(broker, \u0027PUT\u0027)"},{"line_number":403,"context_line":"            resp \u003d self.account_update(req, account, container, broker)"},{"line_number":404,"context_line":"            elasticsearch_client.create_container("},{"line_number":405,"context_line":"                container, account, account)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"            if resp:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_91103d03","line":404,"updated":"2016-04-13 21:59:55.000000000","message":"This action probably shouldn\u0027t happen in the request path, as an ElasticSearch outage or time to process the request will have an impact on Swift.","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"9978b4a90c976608e4ddc0b5ef3c6abffcd5852e","unresolved":false,"context_lines":[{"line_number":401,"context_line":"            if metadata:"},{"line_number":402,"context_line":"                self._update_sync_store(broker, \u0027PUT\u0027)"},{"line_number":403,"context_line":"            resp \u003d self.account_update(req, account, container, broker)"},{"line_number":404,"context_line":"            elasticsearch_client.create_container("},{"line_number":405,"context_line":"                container, account, account)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"            if resp:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_0c5a504f","line":404,"in_reply_to":"5a18252c_91103d03","updated":"2016-04-13 22:28:00.000000000","message":"Needed some place to call the client library for testing. Will move after researching more on container sync/other options","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"}],"swift/obj/server.py":[{"author":{"_account_id":17363,"name":"Timur Alperovich","email":"timur@timuralp.com","username":"timuralp"},"change_message_id":"700c830cbe0fa8adfded00e0d5cf0e1aa2953dae","unresolved":false,"context_lines":[{"line_number":803,"context_line":"            \u0027PUT\u0027, account, container, obj, request,"},{"line_number":804,"context_line":"            update_headers,"},{"line_number":805,"context_line":"            device, policy)"},{"line_number":806,"context_line":"        elasticsearch_client.create_object("},{"line_number":807,"context_line":"            account, container, account,"},{"line_number":808,"context_line":"            obj, metadata[\u0027Content-Type\u0027], metadata[\u0027Content-Length\u0027],"},{"line_number":809,"context_line":"            etag"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_712ac12d","line":806,"updated":"2016-04-13 21:59:55.000000000","message":"Same comment as on the container server requests. These updates should probably happen out of the request path.","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"9978b4a90c976608e4ddc0b5ef3c6abffcd5852e","unresolved":false,"context_lines":[{"line_number":803,"context_line":"            \u0027PUT\u0027, account, container, obj, request,"},{"line_number":804,"context_line":"            update_headers,"},{"line_number":805,"context_line":"            device, policy)"},{"line_number":806,"context_line":"        elasticsearch_client.create_object("},{"line_number":807,"context_line":"            account, container, account,"},{"line_number":808,"context_line":"            obj, metadata[\u0027Content-Type\u0027], metadata[\u0027Content-Length\u0027],"},{"line_number":809,"context_line":"            etag"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_2c358cf6","line":806,"in_reply_to":"5a18252c_712ac12d","updated":"2016-04-13 22:28:00.000000000","message":"Needed some place to call the client library for testing. Will move after researching more on container sync/other options","commit_id":"ee88781d88620e722043ef45aa22b158c1b68c71"}]}
