   Returns the concept id and revision id of the saved humanizer."
   [context params community-usage-csv]
   (validate-update-community-usage-params params)
-  (let [metrics (community-usage-csv->community-usage-metrics context community-usage-csv (:comprehensive params))
-        metrics (seq (aggregate-usage-metrics metrics))] ; Combine access-counts for entries with the same version/short-name
-    (validate-metrics metrics)
-    (humanizer-service/update-humanizers-metadata context :community-usage-metrics metrics)))
+  (let [comprehensive (or (:comprehensive params) "false") ;; set default
+        current-metrics (if (= "false" comprehensive)
+                          (-> context
+                              (get-community-usage-metrics)
+                              (community-usage-metrics-list->set))
+                          #{})
+        metrics (community-usage-csv->community-usage-metrics context community-usage-csv current-metrics)
+        metrics-agg (aggregate-usage-metrics metrics)]
+    (validate-metrics metrics-agg)
+    (humanizer-service/update-humanizers-metadata context :community-usage-metrics metrics-agg)))

   hosts-col - the index of the Hosts in each CSV line"
  [csv-header]
  (let [csv-header (mapv str/trim csv-header)]
   {:product-col (.indexOf csv-header "Product")
    :version-col (.indexOf csv-header "Version")
    :hosts-col (.indexOf csv-header "Hosts")}))

(defn- read-csv-column
  "Read a column from the csv, if the column is exists. Otherwise, return nil."

    (errors/throw-service-error :invalid-data "You posted empty content")))

(defn get-community-usage-metrics
  "Retrieves the current community usage metrics from metadata-db."
  [context]
  (:community-usage-metrics (json/decode (:metadata (humanizer-service/fetch-humanizer-concept context)) true)))

(defn- community-usage-metrics-list->set
  "Convert list of {:short-name :access-count} maps into a set of short-names."
  [metrics-list]
  (set (map :short-name  metrics-list)))

(defn- community-usage-csv->community-usage-metrics
  "Validate the community usage csv and convert to a list of community usage metrics."
  [context community-usage-csv current-metrics]
  (let [{:keys [csv-lines product-col hosts-col]} (validate-and-read-csv community-usage-csv)
        short-name-cache (new java.util.HashMap)]
    (map #(csv-entry->community-usage-metric context % product-col hosts-col current-metrics short-name-cache)
         csv-lines)))

(defn- aggregate-usage-metrics
  "Combine access-counts for entries with the same short-name."
  [metrics]
  (let [count-map (reduce (fn [m {:keys [short-name access-count]}]
                            (update m short-name (fnil + 0) access-count))
                          {}
                          metrics)]
    (map (fn [[k v]] {:short-name k :access-count v}) count-map)))

(defn- validate-metrics
  "Validate metrics against the JSON schema validation"
