GitHub user Ethanlm opened a pull request:
https://github.com/apache/storm/pull/2461
[STORM-2857] Loosen some constraints to support running topologies of older
version
Some explanation in https://issues.apache.org/jira/browse/STORM-2857
I have been thinking about some solutions for this problem. For example,
the customized classLoader for version specific classpath; or translate the
configs before validation. But I think the simplest way that I can come up with
is to loosen some constraints for the `@isImplementationOfClass`.
When users submit a topology with older version configs (containing
`backtype.storm.XXX` ), if the newest version of the class (ie
`org.apache.XXX`) is found, we let the validation pass. And we replace the
class name with `org.apache` when we use it if needed, for example,
https://github.com/apache/storm/pull/2397 .
For now it's really just about `TOPOLOGY_SCHEDULER_STRATEGY` config. This
is not really elegant but as discussed in
https://github.com/apache/storm/pull/2397, this serves as a short term solution
and should be manageable.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Ethanlm/storm STORM-2857
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/2461.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2461
----
commit 661c6ec86834073cf6e74a9c28894a4d04ea4774
Author: Ethan Li <[email protected]>
Date: 2017-12-14T21:52:51Z
[STORM-2857] Loosen some constraints to support running topologies of older
version
----
---