           (try
             (let [bin (car/wcar conn (car/parse-raw (car/get id)))
                   bais (ByteArrayInputStream. bin)]
-              (.read bais)
-              (.read bais)
               (locked-cb {:input-stream bais
-                          :size (- (count bin) 2)}))
+                          :size (count bin)}))
             (catch Exception e
               (ex-info "Could not read key."
                        {:type :read-error




;; TODO if redis guarantees fsync in order of messages (never lose intermediary writes)
;; then it should be possible to not force redis to fsync here


(defrecord CarmineStore [conn serializer read-handlers write-handlers locks]
  PEDNAsyncKeyValueStore

        (go nil)
        (let [res-ch (chan)]
          (try
            (let [bais (ByteArrayInputStream. (car/wcar conn (car/parse-raw (car/get id))))]
              (put! res-ch
                    (get-in
                     (second (-deserialize serializer read-handlers bais))
