Github user revans2 commented on a diff in the pull request:

    https://github.com/apache/storm/pull/1055#discussion_r51267736
  
    --- Diff: 
examples/storm-starter/src/clj/org/apache/storm/starter/clj/word_count.clj ---
    @@ -60,18 +61,22 @@
     
     (defn mk-topology []
     
    -  (topology
    -   {"1" (spout-spec sentence-spout)
    -    "2" (spout-spec (sentence-spout-parameterized
    -                     ["the cat jumped over the door"
    -                      "greetings from a faraway land"])
    -                     :p 2)}
    -   {"3" (bolt-spec {"1" :shuffle "2" :shuffle}
    -                   split-sentence
    -                   :p 5)
    -    "4" (bolt-spec {"3" ["word"]}
    -                   word-count
    -                   :p 6)}))
    +  (Thrift/buildTopology
    +   {"1" (Thrift/prepareSpoutDetails sentence-spout)
    +    "2" (Thrift/prepareSpoutDetails (sentence-spout-parameterized
    +                                    ["the cat jumped over the door"
    +                                     "greetings from a faraway land"])
    +                                    (Integer. 2))}
    +   {"3" (Thrift/prepareBoltDetails {(Utils/getGlobalStreamId "1" nil)
    +                                    (Thrift/prepareShuffleGrouping)
    +                                    (Utils/getGlobalStreamId "2" nil)
    +                                    (Thrift/prepareShuffleGrouping)}
    +                                    split-sentence
    +                                    (Integer. 5))
    +    "4" (Thrift/prepareBoltDetails {(Utils/getGlobalStreamId "3" nil)
    +                                    (Thrift/prepareFieldsGrouping 
["word"])}
    +                                   word-count
    +                                   (Integer. 6))}))
    --- End diff --
    
    This is one case where we are breaking compatibility by moving to java and 
I am not sure we should do this.  I think we still want to have/support a 
clojure API, but we may need a separate maven package to do that, and 
thrift.clj is a big part of that API. Could you please inline the needed 
thrift.clj functions inside clojure.clj instead of deleting them?
    ```
    (defalias topology thrift/mk-topology)
    (defalias bolt-spec thrift/mk-bolt-spec)
    (defalias spout-spec thrift/mk-spout-spec)
    (defalias shell-bolt-spec thrift/mk-shell-bolt-spec)
    (defalias shell-spout-spec thrift/mk-shell-spout-spec)
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to