Github user HeartSaVioR commented on the pull request:
https://github.com/apache/storm/pull/464#issuecomment-88043963
@harshach
Maybe we can check this.
I'm running Storm with STORM_HOME/conf/storm.yaml, and I don't make
~/.storm directory.
```
root 14 2.5 7.2 3264920 149328 ? Sl 09:53 1:33 java
-server -Dstorm.options= -Dstorm.home=/opt/apache-storm-0.10.0-SNAPSHOT
-Dstorm.log.dir=/opt/apache-storm-0.10.0-SNAPSHOT/logs
-Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dstorm.conf.file=
-cp /opt/apache-storm-0.10.0-SNAPSHOT/lib/cheshire-5.3.1.jar:...
```
When we submit Topology by API, classpath is ```storm-libs (str storm-home
file-path-separator "lib" file-path-separator "*")```, which is only
STORM_HOME/lib/*, and jar file itself.
But storm.py finds effective configuration directory and add it to
classpath, which is different from current implementation.
```
if STORM_CONF_DIR == None:
CLUSTER_CONF_DIR = os.path.join(STORM_DIR, "conf")
else:
CLUSTER_CONF_DIR = STORM_CONF_DIR
if (not os.path.isfile(os.path.join(USER_CONF_DIR, "storm.yaml"))):
USER_CONF_DIR = CLUSTER_CONF_DIR
```
If we need to use cluster-wide effective configuration while submitting
topology, we should include effective configuration directory.
Btw, other APIs (which use ```with-nimbus``` macro) seems to run fine. I'm
curious it could be represented to ```with-nimbus```.
---
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.
---