[
https://issues.apache.org/jira/browse/STORM-129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14032679#comment-14032679
]
Robert Joseph Evans commented on STORM-129:
-------------------------------------------
I have played around with a few things, but not with very much success. I
tried to do a custom class loader and everything worked fine for the java
client code, but I ran into really strange clojure problems, and I ended up
abandoning it.
http://dev.clojure.org/display/design/Modularity
seems to indicate that classloading for clojure is not a simple task. With
that I thought I would try the full OSGi route using the clojure.osgi project,
but I have not found the time to go very far down that path. We also have the
added problem that a lot of our code calls into user code that then calls back
into our own code. This makes it very difficult to get everything loaded in
the proper classloader context.
If someone out there is an OSGi expert help would definitely be appreciated.
> Keep Storm dependencies and user dependencies independent
> ---------------------------------------------------------
>
> Key: STORM-129
> URL: https://issues.apache.org/jira/browse/STORM-129
> Project: Apache Storm (Incubating)
> Issue Type: Improvement
> Reporter: James Xu
> Labels: HighPriority
>
> https://github.com/nathanmarz/storm/issues/115
> For instance, user classes should be able to use a different version of a
> library than Storm uses. Users have run into issues with Hibernate since
> Hibernate requires asm 1.4 while Storm requires asm 3.3 (through Kryo).
> This is tricky since the Storm code and user code run together. e.g., when a
> user does an emit call, that calls into Storm code which calls into Kryo,
> 0mq, etc. It's not clear how to keep the dependencies separate.
> Possible technologies to look at include OSGi and JPF. However, there is a
> serious concern about the complexity and overhead of these approaches.
> Hadoop has the exact same problem, so it's worth looking to see if it does
> anything to address this. AFAIK, it doesn't.
--
This message was sent by Atlassian JIRA
(v6.2#6252)