)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e4437653e695449716fb3b7b981ceae23b9f1cb4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use lower default value for sha512_crypt rounds"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change Ia7c359df0d2f846a16b9fb98937f2995e9791010 rasied the issue of"},{"line_number":10,"context_line":"hashes taking too long.  Upon investigation the default hasn\u0027t changed"},{"line_number":11,"context_line":"since the original commit Idd5d09dc114cbb0cbd63e23e4178bb74d081c789"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a016987_7b111caf","line":9,"updated":"2015-05-26 21:58:13.000000000","message":"raised*","commit_id":"f20edc1e7a62438d982067a8629dfcfc3d7b2491"}],"keystone/common/config.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"0f8434956aca0b9013c6999c2cb2cbe16e062125","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027member_role_id option; see that option for more \u0027"},{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k results in"},{"line_number":77,"context_line":"        # approximate 30% savings the alternative would be to move to the"},{"line_number":78,"context_line":"        # passlib default that approximates ~300ms of CPU time to hash. This"},{"line_number":79,"context_line":"        # still exceeds the glib default of 5000."},{"line_number":80,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_f60e60e4","line":77,"updated":"2015-06-01 23:25:59.000000000","message":"nit: this comment is going to be confusing when we come back to it later - 30% of what? it\u0027s more a review comment than a code comment.","commit_id":"7818af5a7121701f3696baa15d36d8c371733e62"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d894a8c00520bff56c68a34b36ba93553e62b317","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027member_role_id option; see that option for more \u0027"},{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k results in"},{"line_number":77,"context_line":"        # approximate 30% savings the alternative would be to move to the"},{"line_number":78,"context_line":"        # passlib default that approximates ~300ms of CPU time to hash. This"},{"line_number":79,"context_line":"        # still exceeds the glib default of 5000."},{"line_number":80,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_89554ffb","line":77,"in_reply_to":"3afb71cf_6f826596","updated":"2015-06-09 13:14:57.000000000","message":"time spent in Python.","commit_id":"7818af5a7121701f3696baa15d36d8c371733e62"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"a804f8ebbf62d8c0c7d042281c4ea6291994702d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027member_role_id option; see that option for more \u0027"},{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k results in"},{"line_number":77,"context_line":"        # approximate 30% savings the alternative would be to move to the"},{"line_number":78,"context_line":"        # passlib default that approximates ~300ms of CPU time to hash. This"},{"line_number":79,"context_line":"        # still exceeds the glib default of 5000."},{"line_number":80,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_890aef77","line":77,"in_reply_to":"3afb71cf_89554ffb","updated":"2015-06-09 13:21:42.000000000","message":"The point here initially is when this conversation is all long forgotten and the new default of 10000 has been in place a year or so when you read this comment you have no idea what you\u0027ve saved 30% of.\n\nI\u0027m fine with the comment about passlib and glibc as relative values But the first bit only makes sense in the context of this review, not the code itself.","commit_id":"7818af5a7121701f3696baa15d36d8c371733e62"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d439d86ddbdcb1d94a9dbc590377673c3db75843","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027member_role_id option; see that option for more \u0027"},{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k results in"},{"line_number":77,"context_line":"        # approximate 30% savings the alternative would be to move to the"},{"line_number":78,"context_line":"        # passlib default that approximates ~300ms of CPU time to hash. This"},{"line_number":79,"context_line":"        # still exceeds the glib default of 5000."},{"line_number":80,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_b59f7a02","line":77,"in_reply_to":"5afe65bd_f60e60e4","updated":"2015-06-03 10:59:50.000000000","message":"30% can be for the full token get op, for the time spent just in the crypt the improvement is much higher.","commit_id":"7818af5a7121701f3696baa15d36d8c371733e62"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"31cff1df6d28b1ed92be97b7e473714a99de5c70","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027member_role_id option; see that option for more \u0027"},{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k results in"},{"line_number":77,"context_line":"        # approximate 30% savings the alternative would be to move to the"},{"line_number":78,"context_line":"        # passlib default that approximates ~300ms of CPU time to hash. This"},{"line_number":79,"context_line":"        # still exceeds the glib default of 5000."},{"line_number":80,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_6f826596","line":77,"in_reply_to":"5afe65bd_f60e60e4","updated":"2015-06-07 13:53:37.000000000","message":"30% of what?","commit_id":"7818af5a7121701f3696baa15d36d8c371733e62"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d439d86ddbdcb1d94a9dbc590377673c3db75843","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k results in"},{"line_number":77,"context_line":"        # approximate 30% savings the alternative would be to move to the"},{"line_number":78,"context_line":"        # passlib default that approximates ~300ms of CPU time to hash. This"},{"line_number":79,"context_line":"        # still exceeds the glib default of 5000."},{"line_number":80,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"},{"line_number":81,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":82,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_95d47ebd","line":79,"updated":"2015-06-03 10:59:50.000000000","message":"Not glib, it is glibc default, (glibc also can be compiled to use other library for doing the actual crypt).\n\nglibc is default C library, glib is the base library for GTK/GNOME based things, or just for applications which likes its `data model`.","commit_id":"7818af5a7121701f3696baa15d36d8c371733e62"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"b64b5a7f09b01369dd5fb89e881ba6ebc64ff5fe","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k results in"},{"line_number":77,"context_line":"        # approximate 30% savings the alternative would be to move to the"},{"line_number":78,"context_line":"        # passlib default that approximates ~300ms of CPU time to hash. This"},{"line_number":79,"context_line":"        # still exceeds the glib default of 5000."},{"line_number":80,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"},{"line_number":81,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":82,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_48809146","line":79,"updated":"2015-06-08 21:29:49.000000000","message":"Please do not -1 for a typo like this. If it is a serious issue please propose a followup patch correcting it or post a subsequent update. A -1 for a typo like this is not helpful and just causes delays. The other comments of 30% of what is an acceptible request. to fix.","commit_id":"7818af5a7121701f3696baa15d36d8c371733e62"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7a1e512b4716bda0819226db818e3284a627634e","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                   help\u003d\u0027This is the role name used in combination with the \u0027"},{"line_number":74,"context_line":"                        \u0027member_role_id option; see that option for more \u0027"},{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k was"},{"line_number":77,"context_line":"        # measured as having an approximate 30% clock-time savings"},{"line_number":78,"context_line":"        # over the old default of 40k.  The passlib default is not"},{"line_number":79,"context_line":"        # static and grows over time to constatly approximate ~300ms"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_a49ea5b6","line":76,"updated":"2015-06-10 19:42:54.000000000","message":"nit: lbragstad * \n\njust incase someone comes looking for me! :)","commit_id":"67e0ba5ee2108731050e26f7b4dd6c8d3dab118d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"486278e64b3cd9444e6b511c1a73b568cd87de4d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                   help\u003d\u0027This is the role name used in combination with the \u0027"},{"line_number":74,"context_line":"                        \u0027member_role_id option; see that option for more \u0027"},{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k was"},{"line_number":77,"context_line":"        # measured as having an approximate 30% clock-time savings"},{"line_number":78,"context_line":"        # over the old default of 40k.  The passlib default is not"},{"line_number":79,"context_line":"        # static and grows over time to constatly approximate ~300ms"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_843de990","line":76,"in_reply_to":"3afb71cf_a49ea5b6","updated":"2015-06-10 19:45:09.000000000","message":"Done\n\nhttps://review.openstack.org/#/c/190318/","commit_id":"67e0ba5ee2108731050e26f7b4dd6c8d3dab118d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7a1e512b4716bda0819226db818e3284a627634e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k was"},{"line_number":77,"context_line":"        # measured as having an approximate 30% clock-time savings"},{"line_number":78,"context_line":"        # over the old default of 40k.  The passlib default is not"},{"line_number":79,"context_line":"        # static and grows over time to constatly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_847a8986","line":79,"updated":"2015-06-10 19:42:54.000000000","message":"constantly* ?","commit_id":"67e0ba5ee2108731050e26f7b4dd6c8d3dab118d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"486278e64b3cd9444e6b511c1a73b568cd87de4d","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # NOTE(lbragstd/morganfainberg): This value of 10k was"},{"line_number":77,"context_line":"        # measured as having an approximate 30% clock-time savings"},{"line_number":78,"context_line":"        # over the old default of 40k.  The passlib default is not"},{"line_number":79,"context_line":"        # static and grows over time to constatly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_8464c9b8","line":79,"in_reply_to":"3afb71cf_847a8986","updated":"2015-06-10 19:45:09.000000000","message":"Done \n\nhttps://review.openstack.org/#/c/190318/","commit_id":"67e0ba5ee2108731050e26f7b4dd6c8d3dab118d"}]}
