)]}'
{"docs/monasca-api-spec.md":[{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"fe67786f934d106c6de2522c60227da626d80852","unresolved":false,"context_lines":[{"line_number":330,"context_line":"### Value Meta"},{"line_number":331,"context_line":"Optionally, a measurement may also contain extra data about the value which is known as value meta. Value meta is a set of name/value pairs that add textual data to the value of the measurement.  The value meta will be returned from the API when the measurement is read. Only measurements that were written with value meta will have the key value pairs when read from the API. The value meta is ignored when computing statistics such as average on measurements."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"For example of how value meta is used, imagine this metric: http_status{url: http://localhost:8080/healthcheck, hostname\u003ddevstack, service\u003dobject-storage}.  This measurements for this metric have a value of either 1 or 0 depending if the status check succeeded. If the check fails, it would be helpful to have the actual http status code and error message if possible. So instead of just a value, the measurement will be something like:"},{"line_number":334,"context_line":"{Timestamp\u003dnow(), value\u003d1, value_meta{http_rc\u003d500, error\u003d“Error accessing MySQL”}}"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"Up to 16 separate key/value pairs of value meta are allowed per measurement. The keys are required and are trimmed of leading and trailing whitespace and have a maximum length of 255 characters. The value is a string and must not be null or empty and has a maximum length of 2048 characters. Whitespace is not trimmed from the values."}],"source_content_type":"text/x-markdown","patch_set":1,"id":"ba7be1f8_2994df89","line":333,"updated":"2015-03-03 16:31:46.000000000","message":"missing \"an\" in \"For example of how\" at the start of the line.","commit_id":"849c36b7eb0c7444379c7abb4d72506d8df07709"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"88f249fefc9b4eb84a9e22cec63cdc2cd105face","unresolved":false,"context_lines":[{"line_number":330,"context_line":"### Value Meta"},{"line_number":331,"context_line":"Optionally, a measurement may also contain extra data about the value which is known as value meta. Value meta is a set of name/value pairs that add textual data to the value of the measurement.  The value meta will be returned from the API when the measurement is read. Only measurements that were written with value meta will have the key value pairs when read from the API. The value meta is ignored when computing statistics such as average on measurements."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"For example of how value meta is used, imagine this metric: http_status{url: http://localhost:8080/healthcheck, hostname\u003ddevstack, service\u003dobject-storage}.  This measurements for this metric have a value of either 1 or 0 depending if the status check succeeded. If the check fails, it would be helpful to have the actual http status code and error message if possible. So instead of just a value, the measurement will be something like:"},{"line_number":334,"context_line":"{Timestamp\u003dnow(), value\u003d1, value_meta{http_rc\u003d500, error\u003d“Error accessing MySQL”}}"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"Up to 16 separate key/value pairs of value meta are allowed per measurement. The keys are required and are trimmed of leading and trailing whitespace and have a maximum length of 255 characters. The value is a string and must not be null or empty and has a maximum length of 2048 characters. Whitespace is not trimmed from the values."}],"source_content_type":"text/x-markdown","patch_set":1,"id":"ba7be1f8_1bf759d4","line":333,"in_reply_to":"ba7be1f8_2994df89","updated":"2015-03-03 18:14:20.000000000","message":"Done","commit_id":"849c36b7eb0c7444379c7abb4d72506d8df07709"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"fe67786f934d106c6de2522c60227da626d80852","unresolved":false,"context_lines":[{"line_number":728,"context_line":"* dimensions ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used to uniquely identify a metric."},{"line_number":729,"context_line":"* timestamp (string, required) - The timestamp in seconds from the Epoch."},{"line_number":730,"context_line":"* value (float, required) - Value of the metric. Values with base-10 exponents greater than 126 or less than -130 are truncated."},{"line_number":731,"context_line":"* value_meta ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used add information about the value."},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"The name and dimensions are used to uniquely identify a metric."},{"line_number":734,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"ba7be1f8_a6c2bce6","line":731,"updated":"2015-03-03 16:31:46.000000000","message":"missing \"to\" in \"pairs used add information\"","commit_id":"849c36b7eb0c7444379c7abb4d72506d8df07709"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"88f249fefc9b4eb84a9e22cec63cdc2cd105face","unresolved":false,"context_lines":[{"line_number":728,"context_line":"* dimensions ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used to uniquely identify a metric."},{"line_number":729,"context_line":"* timestamp (string, required) - The timestamp in seconds from the Epoch."},{"line_number":730,"context_line":"* value (float, required) - Value of the metric. Values with base-10 exponents greater than 126 or less than -130 are truncated."},{"line_number":731,"context_line":"* value_meta ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used add information about the value."},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"The name and dimensions are used to uniquely identify a metric."},{"line_number":734,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"ba7be1f8_3b009daa","line":731,"in_reply_to":"ba7be1f8_a6c2bce6","updated":"2015-03-03 18:14:20.000000000","message":"Done","commit_id":"849c36b7eb0c7444379c7abb4d72506d8df07709"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"4e1203a87e70e0432aa9ea18ad5e5bef37e17bcd","unresolved":false,"context_lines":[{"line_number":330,"context_line":"### Value Meta"},{"line_number":331,"context_line":"Optionally, a measurement may also contain extra data about the value which is known as value meta. Value meta is a set of name/value pairs that add textual data to the value of the measurement.  The value meta will be returned from the API when the measurement is read. Only measurements that were written with value meta will have the key value pairs when read from the API. The value meta is ignored when computing statistics such as average on measurements."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"For an example of how value meta is used, imagine this metric: http_status{url: http://localhost:8080/healthcheck, hostname\u003ddevstack, service\u003dobject-storage}.  This measurements for this metric have a value of either 1 or 0 depending if the status check succeeded. If the check fails, it would be helpful to have the actual http status code and error message if possible. So instead of just a value, the measurement will be something like:"},{"line_number":334,"context_line":"{Timestamp\u003dnow(), value\u003d1, value_meta{http_rc\u003d500, error\u003d“Error accessing MySQL”}}"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"Up to 16 separate key/value pairs of value meta are allowed per measurement. The keys are required and are trimmed of leading and trailing whitespace and have a maximum length of 255 characters. The value is a string and must not be null or empty and has a maximum length of 2048 characters. Whitespace is not trimmed from the values."}],"source_content_type":"text/x-markdown","patch_set":4,"id":"ba7be1f8_46df35d6","line":333,"updated":"2015-03-03 19:55:48.000000000","message":"The measurements","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"8797fdd5692a7d29cc9ebbc884a57d2e9de49940","unresolved":false,"context_lines":[{"line_number":330,"context_line":"### Value Meta"},{"line_number":331,"context_line":"Optionally, a measurement may also contain extra data about the value which is known as value meta. Value meta is a set of name/value pairs that add textual data to the value of the measurement.  The value meta will be returned from the API when the measurement is read. Only measurements that were written with value meta will have the key value pairs when read from the API. The value meta is ignored when computing statistics such as average on measurements."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"For an example of how value meta is used, imagine this metric: http_status{url: http://localhost:8080/healthcheck, hostname\u003ddevstack, service\u003dobject-storage}.  This measurements for this metric have a value of either 1 or 0 depending if the status check succeeded. If the check fails, it would be helpful to have the actual http status code and error message if possible. So instead of just a value, the measurement will be something like:"},{"line_number":334,"context_line":"{Timestamp\u003dnow(), value\u003d1, value_meta{http_rc\u003d500, error\u003d“Error accessing MySQL”}}"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"Up to 16 separate key/value pairs of value meta are allowed per measurement. The keys are required and are trimmed of leading and trailing whitespace and have a maximum length of 255 characters. The value is a string and must not be null or empty and has a maximum length of 2048 characters. Whitespace is not trimmed from the values."}],"source_content_type":"text/x-markdown","patch_set":4,"id":"ba7be1f8_52836b55","line":333,"in_reply_to":"ba7be1f8_46df35d6","updated":"2015-03-03 21:02:35.000000000","message":"Done","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"4e1203a87e70e0432aa9ea18ad5e5bef37e17bcd","unresolved":false,"context_lines":[{"line_number":728,"context_line":"* dimensions ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used to uniquely identify a metric."},{"line_number":729,"context_line":"* timestamp (string, required) - The timestamp in seconds from the Epoch."},{"line_number":730,"context_line":"* value (float, required) - Value of the metric. Values with base-10 exponents greater than 126 or less than -130 are truncated."},{"line_number":731,"context_line":"* value_meta ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used to add information about the value."},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"The name and dimensions are used to uniquely identify a metric."},{"line_number":734,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"ba7be1f8_06ae1d2e","line":731,"updated":"2015-03-03 19:55:48.000000000","message":"The second string should have a max length of 2048. Is that correct?","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"8797fdd5692a7d29cc9ebbc884a57d2e9de49940","unresolved":false,"context_lines":[{"line_number":728,"context_line":"* dimensions ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used to uniquely identify a metric."},{"line_number":729,"context_line":"* timestamp (string, required) - The timestamp in seconds from the Epoch."},{"line_number":730,"context_line":"* value (float, required) - Value of the metric. Values with base-10 exponents greater than 126 or less than -130 are truncated."},{"line_number":731,"context_line":"* value_meta ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used to add information about the value."},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"The name and dimensions are used to uniquely identify a metric."},{"line_number":734,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"ba7be1f8_b27e6768","line":731,"in_reply_to":"ba7be1f8_06ae1d2e","updated":"2015-03-03 21:02:35.000000000","message":"Yes. Thanks. Done","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"},{"author":{"_account_id":12108,"name":"Gary Hessler","email":"gary.hessler@hp.com","username":"garyh"},"change_message_id":"225f4ecd01748f95414e3ed546ffc3600e102127","unresolved":false,"context_lines":[{"line_number":765,"context_line":"X-Auth-Token: 27feed73a0ce4138934e30d619b415b0"},{"line_number":766,"context_line":"Cache-Control: no-cache"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"{  "},{"line_number":769,"context_line":"   \"name\":\"name1\","},{"line_number":770,"context_line":"   \"dimensions\":{"},{"line_number":771,"context_line":"      \"key1\":\"value1\","}],"source_content_type":"text/x-markdown","patch_set":4,"id":"ba7be1f8_c146af7a","line":768,"updated":"2015-03-03 21:12:46.000000000","message":"Extra space","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"},{"author":{"_account_id":12108,"name":"Gary Hessler","email":"gary.hessler@hp.com","username":"garyh"},"change_message_id":"225f4ecd01748f95414e3ed546ffc3600e102127","unresolved":false,"context_lines":[{"line_number":961,"context_line":"        \"2015-03-03T05:21:55Z\","},{"line_number":962,"context_line":"        1.0,"},{"line_number":963,"context_line":"        {"},{"line_number":964,"context_line":"          \"rc\": \"404\","},{"line_number":965,"context_line":"          \"error\": \"Not Found\""},{"line_number":966,"context_line":"        }"},{"line_number":967,"context_line":"      ]"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"ba7be1f8_dc13f459","line":964,"updated":"2015-03-03 21:12:46.000000000","message":"Should the response code be a number?","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"}],"java/src/main/java/monasca/api/app/command/CreateMetricCommand.java":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"280dd3e24b2b5a379f8bcb9dda65cb981a1eacab","unresolved":false,"context_lines":[{"line_number":108,"context_line":"  @JsonProperty"},{"line_number":109,"context_line":"  public void setValueMeta(Map\u003cString, String\u003e valueMeta) {"},{"line_number":110,"context_line":"    this.valueMeta \u003d"},{"line_number":111,"context_line":"        valueMeta \u003d\u003d null || valueMeta.isEmpty() ? null : ValueMetaValidation"},{"line_number":112,"context_line":"            .normalize(valueMeta);"},{"line_number":113,"context_line":"  }"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_3be25da0","line":111,"updated":"2015-03-03 18:27:42.000000000","message":"it would probably be better to initialize with an empty map instead of null. makes downstream processing more easy and regular because we don\u0027t have to check for null.","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"737785cdaee768536f6da70438a3148f56f92f03","unresolved":false,"context_lines":[{"line_number":108,"context_line":"  @JsonProperty"},{"line_number":109,"context_line":"  public void setValueMeta(Map\u003cString, String\u003e valueMeta) {"},{"line_number":110,"context_line":"    this.valueMeta \u003d"},{"line_number":111,"context_line":"        valueMeta \u003d\u003d null || valueMeta.isEmpty() ? null : ValueMetaValidation"},{"line_number":112,"context_line":"            .normalize(valueMeta);"},{"line_number":113,"context_line":"  }"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_107ad323","line":111,"in_reply_to":"ba7be1f8_3be25da0","updated":"2015-03-03 18:55:04.000000000","message":"Done","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"},{"author":{"_account_id":12108,"name":"Gary Hessler","email":"gary.hessler@hp.com","username":"garyh"},"change_message_id":"225f4ecd01748f95414e3ed546ffc3600e102127","unresolved":false,"context_lines":[{"line_number":133,"context_line":"      MetricNameValidation.validate(name, service);"},{"line_number":134,"context_line":"      DimensionValidation.validate(dimensions, service);"},{"line_number":135,"context_line":"    }"},{"line_number":136,"context_line":"    if (valueMeta !\u003d null) {"},{"line_number":137,"context_line":"      ValueMetaValidation.validate(valueMeta);"},{"line_number":138,"context_line":"    }"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-java","patch_set":4,"id":"ba7be1f8_32b3574e","line":136,"updated":"2015-03-03 21:12:46.000000000","message":"Shouldn\u0027t this be (this.valueMeta !\u003d null) ?","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"}],"java/src/main/java/monasca/api/app/validation/ValueMetaValidation.java":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"4e1203a87e70e0432aa9ea18ad5e5bef37e17bcd","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   */"},{"line_number":60,"context_line":"  public static void validate(Map\u003cString, String\u003e valueMetas) {"},{"line_number":61,"context_line":"    if (valueMetas.size() \u003e VALUE_META_MAX_NUMBER) {"},{"line_number":62,"context_line":"      throw Exceptions.unprocessableEntity(\"Number of valueMeta  must be %d or less\","},{"line_number":63,"context_line":"          VALUE_META_MAX_NUMBER);"},{"line_number":64,"context_line":"    }"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-java","patch_set":4,"id":"ba7be1f8_0138c7d1","line":62,"updated":"2015-03-03 19:55:48.000000000","message":"Would this be better as \"Length of valueMeta\" ... ?","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"8797fdd5692a7d29cc9ebbc884a57d2e9de49940","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   */"},{"line_number":60,"context_line":"  public static void validate(Map\u003cString, String\u003e valueMetas) {"},{"line_number":61,"context_line":"    if (valueMetas.size() \u003e VALUE_META_MAX_NUMBER) {"},{"line_number":62,"context_line":"      throw Exceptions.unprocessableEntity(\"Number of valueMeta  must be %d or less\","},{"line_number":63,"context_line":"          VALUE_META_MAX_NUMBER);"},{"line_number":64,"context_line":"    }"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-java","patch_set":4,"id":"ba7be1f8_9255e3c3","line":62,"in_reply_to":"ba7be1f8_0138c7d1","updated":"2015-03-03 21:02:35.000000000","message":"I didn\u0027t like mine and I didn\u0027t like your suggestion much either. See if you like the new wording","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"}],"java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV8MeasurementRepo.java":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"280dd3e24b2b5a379f8bcb9dda65cb981a1eacab","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    String offsetPart \u003d InfluxV8Utils.buildOffsetPart(offset);"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    String query \u003d"},{"line_number":71,"context_line":"        String.format(\"select * \" + \"from /%1$s/ where 1 \u003d 1 \" + \" %2$s  %3$s\","},{"line_number":72,"context_line":"                      serieNameRegex, timePart, offsetPart);"},{"line_number":73,"context_line":"    logger.debug(\"Query string: {}\", query);"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_5b29d199","line":71,"updated":"2015-03-03 18:27:42.000000000","message":"can we not use \u0027select *\u0027. It\u0027s nice to be specific about what we are selecting.","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"737785cdaee768536f6da70438a3148f56f92f03","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    String offsetPart \u003d InfluxV8Utils.buildOffsetPart(offset);"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    String query \u003d"},{"line_number":71,"context_line":"        String.format(\"select * \" + \"from /%1$s/ where 1 \u003d 1 \" + \" %2$s  %3$s\","},{"line_number":72,"context_line":"                      serieNameRegex, timePart, offsetPart);"},{"line_number":73,"context_line":"    logger.debug(\"Query string: {}\", query);"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_cd5a68f1","line":71,"in_reply_to":"ba7be1f8_5b29d199","updated":"2015-03-03 18:55:04.000000000","message":"This version stores each value_meta in its own column by the value_meta name so the names of the columns are not known previously","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"280dd3e24b2b5a379f8bcb9dda65cb981a1eacab","unresolved":false,"context_lines":[{"line_number":124,"context_line":"          for (int i \u003d 0; i \u003c serie.getColumns().length; i++) {"},{"line_number":125,"context_line":"            final String key \u003d serie.getColumns()[i];"},{"line_number":126,"context_line":"            if (\"value\".equals(key) || \"sequence_number\".equals(key) || \"time\".equals(key)) {"},{"line_number":127,"context_line":"              continue;"},{"line_number":128,"context_line":"            }"},{"line_number":129,"context_line":"            final Object valueObj \u003d row.get(key);"},{"line_number":130,"context_line":"            if (valueObj !\u003d null) {"}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_8d531016","line":127,"updated":"2015-03-03 18:27:42.000000000","message":"in this case, can we just say \u0027row.get(\u0027value_meta\u0027)\u0027?","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"737785cdaee768536f6da70438a3148f56f92f03","unresolved":false,"context_lines":[{"line_number":124,"context_line":"          for (int i \u003d 0; i \u003c serie.getColumns().length; i++) {"},{"line_number":125,"context_line":"            final String key \u003d serie.getColumns()[i];"},{"line_number":126,"context_line":"            if (\"value\".equals(key) || \"sequence_number\".equals(key) || \"time\".equals(key)) {"},{"line_number":127,"context_line":"              continue;"},{"line_number":128,"context_line":"            }"},{"line_number":129,"context_line":"            final Object valueObj \u003d row.get(key);"},{"line_number":130,"context_line":"            if (valueObj !\u003d null) {"}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_4d6678bc","line":127,"in_reply_to":"ba7be1f8_8d531016","updated":"2015-03-03 18:55:04.000000000","message":"See above","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"445591e3de8b858a8a01e676743c83ea1d8516c1","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    String offsetPart \u003d InfluxV8Utils.buildOffsetPart(offset);"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    String query \u003d"},{"line_number":71,"context_line":"        String.format(\"select * \" + \"from /%1$s/ where 1 \u003d 1 \" + \" %2$s  %3$s\","},{"line_number":72,"context_line":"                      serieNameRegex, timePart, offsetPart);"},{"line_number":73,"context_line":"    logger.debug(\"Query string: {}\", query);"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-java","patch_set":3,"id":"ba7be1f8_2d55c41d","line":71,"updated":"2015-03-03 18:45:35.000000000","message":"i see we have to do \u0027select *\u0027 because we don\u0027t know what the value_meta columns are in advance. i recommend putting the value_meta in a single column just for this reason.","commit_id":"5dea72db0d047709d9daa5e1c3c84f03b4d1aea4"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"31308571b4baa35f4821541776bd08ec75799fa5","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        final Map\u003cString, String\u003e valueMeta \u003d new HashMap\u003cString, String\u003e();"},{"line_number":123,"context_line":"        if (serie.getColumns().length \u003e 3) {"},{"line_number":124,"context_line":"          for (int i \u003d 0; i \u003c serie.getColumns().length; i++) {"},{"line_number":125,"context_line":"            final String key \u003d serie.getColumns()[i];"},{"line_number":126,"context_line":"            if (\"value\".equals(key) || \"sequence_number\".equals(key) || \"time\".equals(key)) {"},{"line_number":127,"context_line":"              continue;"},{"line_number":128,"context_line":"            }"}],"source_content_type":"text/x-java","patch_set":3,"id":"ba7be1f8_2d1dc4be","line":125,"updated":"2015-03-03 18:40:43.000000000","message":"oh, i see you didn\u0027t put the value_meta in one column.","commit_id":"5dea72db0d047709d9daa5e1c3c84f03b4d1aea4"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"4e1203a87e70e0432aa9ea18ad5e5bef37e17bcd","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    String query \u003d"},{"line_number":71,"context_line":"        String.format(\"select * \" + \"from /%1$s/ where 1 \u003d 1 \" + \" %2$s  %3$s\","},{"line_number":72,"context_line":"                      serieNameRegex, timePart, offsetPart);"},{"line_number":73,"context_line":"    logger.debug(\"Query string: {}\", query);"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    List\u003cSerie\u003e result \u003d null;"}],"source_content_type":"text/x-java","patch_set":4,"id":"ba7be1f8_418abf64","line":72,"updated":"2015-03-03 19:55:48.000000000","message":"Do you really want to use a wildcard here instead of identifying each column explicitly?","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"8797fdd5692a7d29cc9ebbc884a57d2e9de49940","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    String query \u003d"},{"line_number":71,"context_line":"        String.format(\"select * \" + \"from /%1$s/ where 1 \u003d 1 \" + \" %2$s  %3$s\","},{"line_number":72,"context_line":"                      serieNameRegex, timePart, offsetPart);"},{"line_number":73,"context_line":"    logger.debug(\"Query string: {}\", query);"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    List\u003cSerie\u003e result \u003d null;"}],"source_content_type":"text/x-java","patch_set":4,"id":"ba7be1f8_f26fff8f","line":72,"in_reply_to":"ba7be1f8_418abf64","updated":"2015-03-03 21:02:35.000000000","message":"Yes, because we don\u0027t know what the column names are because they are the value_meta keys","commit_id":"3ced88bbbee97abfe15dc27a9263687df00bb407"}],"java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9MeasurementRepo.java":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"280dd3e24b2b5a379f8bcb9dda65cb981a1eacab","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"          // TODO: Really support valueMeta"},{"line_number":102,"context_line":"          final Map\u003cString, String\u003e valueMeta \u003d new HashMap\u003c\u003e();"},{"line_number":103,"context_line":"          measurements.addMeasurement(new Object[]{values[0], values[0], Double.parseDouble(values[1]),"},{"line_number":104,"context_line":"              valueMeta});"},{"line_number":105,"context_line":"        }"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_2d5f8410","line":103,"updated":"2015-03-03 18:27:42.000000000","message":"Why are there 2 \u0027values[0]\u0027? is that a mistake?","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"737785cdaee768536f6da70438a3148f56f92f03","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"          // TODO: Really support valueMeta"},{"line_number":102,"context_line":"          final Map\u003cString, String\u003e valueMeta \u003d new HashMap\u003c\u003e();"},{"line_number":103,"context_line":"          measurements.addMeasurement(new Object[]{values[0], values[0], Double.parseDouble(values[1]),"},{"line_number":104,"context_line":"              valueMeta});"},{"line_number":105,"context_line":"        }"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-java","patch_set":2,"id":"ba7be1f8_8d3230a5","line":103,"in_reply_to":"ba7be1f8_2d5f8410","updated":"2015-03-03 18:55:04.000000000","message":"I was adding the measurement_Id which was missing","commit_id":"d5f17ff67ecb16e215d87597c76f7822c45ed73a"}]}
