From 3e3d401bb328a586657cac28dfff81fb9afe27b1 Mon Sep 17 00:00:00 2001
From: Stanley Feng <stfeng@google.com>
Date: Tue, 24 Nov 2015 19:50:44 -0800
Subject: [PATCH] [core] Incorporate CR feedback

- Move the doc (code comment) to workload_template
- Minor changes in propery parsing logic and log to System.Err;

[core] Incoporate CR comment

Missed one comment before.
---
 .../main/java/com/yahoo/ycsb/DBWrapper.java   | 22 +++++++------------
 workloads/workload_template                   | 18 +++++++++++++++
 2 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/core/src/main/java/com/yahoo/ycsb/DBWrapper.java b/core/src/main/java/com/yahoo/ycsb/DBWrapper.java
index e904717a..bba76b1f 100644
--- a/core/src/main/java/com/yahoo/ycsb/DBWrapper.java
+++ b/core/src/main/java/com/yahoo/ycsb/DBWrapper.java
@@ -35,14 +35,6 @@ public class DBWrapper extends DB
   DB _db;
   Measurements _measurements;
 
-  // By default we don't track latency numbers for specific error status code.
-  // We just report latency of all failed operation under one measurement name
-  // such as [READ-FAILED]. But optionally, user can configure to have either:
-  // 1) Record and report latency for each and every error status code by
-  //    setting reportLatencyForEachError to true, or
-  // 2) Record and report latency for a select set of error status codes by
-  //    providing a CSV list of Status codes via the "latencytrackederrors"
-  //    property.
   boolean reportLatencyForEachError = false;
   HashSet<String> latencyTrackedErrors = new HashSet<String>();
 
@@ -79,14 +71,16 @@ public class DBWrapper extends DB
     this.reportLatencyForEachError = Boolean.parseBoolean(getProperties().
         getProperty("reportlatencyforeacherror", "false"));
 
-    String latencyTrackedErrors = getProperties().getProperty(
-        "latencytrackederrors", null);
-    if (latencyTrackedErrors != null) {
-      this.latencyTrackedErrors = new HashSet<String>(Arrays.asList(
-          latencyTrackedErrors.split(",")));
+    if (!reportLatencyForEachError) {
+      String latencyTrackedErrors = getProperties().getProperty(
+          "latencytrackederrors", null);
+      if (latencyTrackedErrors != null) {
+        this.latencyTrackedErrors = new HashSet<String>(Arrays.asList(
+            latencyTrackedErrors.split(",")));
+      }
     }
 
-    System.out.println("DBWrapper: report latency for each error is " +
+    System.err.println("DBWrapper: report latency for each error is " +
         this.reportLatencyForEachError + " and specific error codes to track" +
         " for latency are: " + this.latencyTrackedErrors.toString());
   }
diff --git a/workloads/workload_template b/workloads/workload_template
index 6aebd64a..de0bbae2 100644
--- a/workloads/workload_template
+++ b/workloads/workload_template
@@ -138,3 +138,21 @@ histogram.buckets=1000
 
 # Granularity for time series (in milliseconds)
 timeseries.granularity=1000
+
+# Latency reporting.
+#
+# YCSB records latency of failed operations separately from successful ones.
+# Latency of all OK operations will be reported under their operation name,
+# such as [READ], [UPDATE], etc.
+#
+# For failed operations:
+# By default we don't track latency numbers of specific error status.
+# We just report latency of all failed operation under one measurement name
+# such as [READ-FAILED]. But optionally, user can configure to have either:
+# 1. Record and report latency for each and every error status code by
+#    setting reportLatencyForEachError to true, or
+# 2. Record and report latency for a select set of error status codes by
+#    providing a CSV list of Status codes via the "latencytrackederrors"
+#    property.
+# reportlatencyforeacherror=false
+# latencytrackederrors="<comma separated strings of error codes>"
-- 
GitLab