)]}'
{"src/main/java/monasca/api/MonascaStringPartitioner.java":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"72f05cd8859861afba31e56ca1abe30b61681283","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  @Override"},{"line_number":24,"context_line":"  public int partition(String key, int numPartions) {"},{"line_number":25,"context_line":"    final int hashCode \u003d key.hashCode();"},{"line_number":26,"context_line":"    return Math.abs(hashCode + (hashCode \u003e\u003e 6) + (hashCode \u003e\u003e 12)) % numPartions;"},{"line_number":27,"context_line":"  }"},{"line_number":28,"context_line":"}"}],"source_content_type":"text/x-java","patch_set":1,"id":"1a930d6b_b2635a19","line":26,"updated":"2015-01-21 16:15:55.000000000","message":"I don\u0027t understand why the shifting and adding is necessary. I also don\u0027t understand why it is being shifted down by 6 and 12.","commit_id":"cb818f9299469a7934556faf81f7f3052c23654b"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb767f6673b66e1a29e16b9a5544cdb4d3b09708","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  @Override"},{"line_number":24,"context_line":"  public int partition(String key, int numPartions) {"},{"line_number":25,"context_line":"    final int hashCode \u003d key.hashCode();"},{"line_number":26,"context_line":"    return Math.abs(hashCode + (hashCode \u003e\u003e 6) + (hashCode \u003e\u003e 12)) % numPartions;"},{"line_number":27,"context_line":"  }"},{"line_number":28,"context_line":"}"}],"source_content_type":"text/x-java","patch_set":1,"id":"1a930d6b_37d4811f","line":26,"in_reply_to":"1a930d6b_b2635a19","updated":"2015-01-22 23:41:37.000000000","message":"This whole class was removed and now just the standard Kafka String Partitioner is used","commit_id":"cb818f9299469a7934556faf81f7f3052c23654b"}],"src/main/java/monasca/api/app/MetricService.java":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"b597bd906295256238cd9b2ef50f7e437edacfaf","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    return keyValue;"},{"line_number":95,"context_line":"  }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  private List\u003cMap.Entry\u003cString, String\u003e\u003e buildSortedDimSet(final Map\u003cString, String\u003e dimMap) {"},{"line_number":98,"context_line":"    final List\u003cMap.Entry\u003cString, String\u003e\u003e dims \u003d new ArrayList\u003c\u003e(dimMap.entrySet());"},{"line_number":99,"context_line":"    Collections.sort(dims, new Comparator\u003cMap.Entry\u003cString, String\u003e\u003e() {"},{"line_number":100,"context_line":"      @Override"}],"source_content_type":"text/x-java","patch_set":2,"id":"1a930d6b_f7aaf917","line":97,"updated":"2015-01-22 23:11:52.000000000","message":"a TreeMap will do this for you automatically.","commit_id":"1f2747d2531d5c3e71c22f106b723f11c284a0d9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"3f5fad8cc201ea5fc77f7c579fe0bc525707abff","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    return keyValue;"},{"line_number":95,"context_line":"  }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  private List\u003cMap.Entry\u003cString, String\u003e\u003e buildSortedDimSet(final Map\u003cString, String\u003e dimMap) {"},{"line_number":98,"context_line":"    final List\u003cMap.Entry\u003cString, String\u003e\u003e dims \u003d new ArrayList\u003c\u003e(dimMap.entrySet());"},{"line_number":99,"context_line":"    Collections.sort(dims, new Comparator\u003cMap.Entry\u003cString, String\u003e\u003e() {"},{"line_number":100,"context_line":"      @Override"}],"source_content_type":"text/x-java","patch_set":2,"id":"1a930d6b_f22047f9","line":97,"in_reply_to":"1a930d6b_f7aaf917","updated":"2015-01-22 23:41:49.000000000","message":"Yes, the treemap would do it automatically, but that would require the creation of the TreeMap with all of its elements. This way only creates an ArrayList which I think is more efficient","commit_id":"1f2747d2531d5c3e71c22f106b723f11c284a0d9"}]}
