   (:use [clojure test])
   (:import [backtype.storm.drpc ReturnResults DRPCSpout
             LinearDRPCTopologyBuilder])
-  (:import [backtype.storm.coordination CoordinatedBolt$FinishedCallback])
+  (:import [backtype.storm.coordination CoordinatedBolt$FinishedCallback FailedBatchException])
   (:import [backtype.storm LocalDRPC LocalCluster])
   (:import [backtype.storm.tuple Fields])
+  (:import [backtype.storm.generated DRPCExecutionException])
   (:use [backtype.storm bootstrap testing])
   (:use [backtype.storm.daemon common])
   (:use [backtype.storm clojure])

                                exclamation-bolt)
                   "3" (bolt-spec {"2" :shuffle}
                                (ReturnResults.))})]
    (.submitTopology cluster "test" {TOPOLOGY-DEBUG true} topology)

    (is (= "aaa!!!" (.execute drpc "test" "aaa")))
    (is (= "b!!!" (.execute drpc "test" "b")))

    (.addBolt builder exclamation-bolt-drpc 3)
    (.submitTopology cluster
                     "builder-test"
                     {}
                     (.createLocalTopology builder drpc))
    (is (= "aaa!!!" (.execute drpc "test" "aaa")))
    (is (= "b!!!" (.execute drpc "test" "b")))
