Github user Parth-Brahmbhatt commented on a diff in the pull request:

    https://github.com/apache/storm/pull/414#discussion_r24351380
  
    --- Diff: storm-core/src/clj/backtype/storm/converter.clj ---
    @@ -0,0 +1,200 @@
    +(ns backtype.storm.converter
    --- End diff --
    
    I actually have a version that attempts to use thrift object directly but 
in process of doing that I realized I am just writing the converters at several 
places or I am writing a custom getter method for thrift objects. The code does 
not use these objects but uses the fields inside these objects and passes the 
value of the field around different functions. Each function also makes certain 
assumptions like a map is always a clojure map and thus its iterable, or some 
list is always sorted or the first element of some list is a string and the 
second is integer. You can see these assumptions being fulfilled by the 
converter right now but in absence of it I had to modify a lot of code all over 
the code base. So I decided to focus on just making rolling upgrade possible 
first and nailing down the correct thrift structures which it self seemed like 
a big enough win.
    
    Here is the code that attempts to do what you are suggesting, its not 
complete but kind of gives you an idea why it might not be a good idea to 
undertake that task as part of this PR 
https://github.com/Parth-Brahmbhatt/incubator-storm/compare/thrift-structures?expand=1


---
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 [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to