          msg-val {:topic topic :v v}
          key-val (hash msg-val)]
      (.put map key-val (assoc msg-val :key-val key-val))
-     (.commit db)
-     ;for now on each write we compact the db, this is a retry cache so the performance
-     ;hit should not matter to much
-     (.compact db)
-     ))
+     (.commit db)))
 
 
 (defn _create-retry-cache [{:keys [retry-cache-file retry-cache-delete-on-exit] :or {retry-cache-delete-on-exit false retry-cache-file "/tmp/kafka-retry-cache"}}]

     {:db db :cache cache}))

(defn close-send-cache [{:keys [send-cache]}]
  (prn "calling close send-cache")
  (try 
    (if send-cache
		    (.close ^DB (:db send-cache)))

    (map format-val (vals (:cache retry-cache))))

(defn delete-from-retry-cache [{:keys [retry-cache]} key-val]
  (prn "delete-from-retry-cache " key-val)
  (let [^DB db (:db retry-cache)
         ^Map m (:cache retry-cache)]
    ;delete whole map
    (.remove m key-val);remove key
    (.commit db)
    (.compact db)))
    
    
    

(defn write-to-retry-cache [{:keys [retry-cache]} topic v]
  ;here v can be a function, that when called should return the msg sent, or a sequence of messages
