You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by danny0405 <gi...@git.apache.org> on 2018/01/18 06:35:23 UTC
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
GitHub user danny0405 opened a pull request:
https://github.com/apache/storm/pull/2517
[STORM-2901] Reuse ZK connection for getKeySequenceNumber
Reuse connections for nimbus blob-store keys registration when restarting.
Also for storm-code setup.
This is the JIRA: [#STORM-2901](https://issues.apache.org/jira/browse/STORM-2901)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/danny0405/storm set-blob-prom
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/2517.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 #2517
----
commit e6e5ce54c0f1f2874293d2677ebf13ae31e32afd
Author: chenyuzhao <ch...@...>
Date: 2018-01-18T06:16:57Z
reuse zk connection for getKeySequenceNumber
----
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2517
@danny0405
FYI, you can rebase your branch and force push to update your PR without closing.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2517
@danny0405 OK. Please file an issue regarding the bug you found.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2517
@danny0405
We can apply this to all the processes which connects Storm's ZK cluster. Could you make change into your patch?
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on the issue:
https://github.com/apache/storm/pull/2517
@HeartSaVioR
During the cluster tests i also fond a bug for blob-store:
When we kill a topology, at the moment of topology blob-files be removed, Supervisor executor still request blob-files and get an KeyNotFoundException, this is the partial of Supervisor log:
```xml
2017-11-21 17:32:00.435 o.a.s.d.s.Slot SLOT_9703 [INFO] SLOT 9703: Changing current assignment from LocalAssignment(topology_id:word_count_fk_iii-3-1511256346, executors:[ExecutorInfo(task_start:7, task_end:7), ExecutorInfo(task_start:5, task_end:5), ExecutorInfo(task_start:3, task_end:3), ExecutorInfo(task_start:1, task_end:1)], resources:WorkerResources(mem_on_heap:512.0, mem_off_heap:0.0, cpu:40.0, shared_mem_on_heap:0.0, shared_mem_off_heap:0.0, resources:{offheap.memory.mb=0.0, onheap.memory.mb=512.0, cpu.pcore.percent=40.0}, shared_resources:{}), owner:sankuai) to null
2017-11-21 17:32:10.520 o.a.s.l.AsyncLocalizer AsyncLocalizer Executor - 3 [WARN] Failed to download blob LOCAL TOPO BLOB TOPO_CODE word_count_fk_iii-3-1511256346 will try again in 100 ms
org.apache.storm.generated.KeyNotFoundException: null
at org.apache.storm.generated.Nimbus$getBlobMeta_result$getBlobMeta_resultStandardScheme.read(Nimbus.java:24935) ~[storm-client-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.generated.Nimbus$getBlobMeta_result$getBlobMeta_resultStandardScheme.read(Nimbus.java:24903) ~[storm-client-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.generated.Nimbus$getBlobMeta_result.read(Nimbus.java:24834) ~[storm-client-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86) ~[libthrift-0.9.3.jar:0.9.3]
at org.apache.storm.generated.Nimbus$Client.recv_getBlobMeta(Nimbus.java:812) ~[storm-client-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.generated.Nimbus$Client.getBlobMeta(Nimbus.java:799) ~[storm-client-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.blobstore.NimbusBlobStore.getBlobMeta(NimbusBlobStore.java:306) ~[storm-client-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.localizer.LocallyCachedTopologyBlob.getRemoteVersion(LocallyCachedTopologyBlob.java:176) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.localizer.AsyncLocalizer.lambda$downloadOrUpdate$5(AsyncLocalizer.java:249) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) [?:1.8.0_151]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_151]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_151]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_151]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
```
I thought of maybe this bug is revised by this patch, then i switch to master branch and have several tests, this bug can happens every time, so this bug has no business with this path.
I will fire a bug report issue then.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2517
@danny0405
Could you squash commits into one? And it would be great you can provide a patch for 1.x-branch as well.
Thanks in advance!
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162608557
--- Diff: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -1263,24 +1281,23 @@ private void setupStormCode(Map<String, Object> conf, String topoId, String tmpJ
String codeKey = ConfigUtils.masterStormCodeKey(topoId);
String confKey = ConfigUtils.masterStormConfKey(topoId);
NimbusInfo hostPortInfo = nimbusHostPortInfo;
+
if (tmpJarLocation != null) {
//in local mode there is no jar
try (FileInputStream fin = new FileInputStream(tmpJarLocation)) {
store.createBlob(jarKey, fin, new SettableBlobMeta(BlobStoreAclHandler.DEFAULT), subject);
}
- if (store instanceof LocalFsBlobStore) {
- clusterState.setupBlobstore(jarKey, hostPortInfo, getVersionForKey(jarKey, hostPortInfo, conf));
- }
}
topoCache.addTopoConf(topoId, subject, topoConf);
- if (store instanceof LocalFsBlobStore) {
- clusterState.setupBlobstore(confKey, hostPortInfo, getVersionForKey(confKey, hostPortInfo, conf));
- }
-
topoCache.addTopology(topoId, subject, topology);
+
if (store instanceof LocalFsBlobStore) {
- clusterState.setupBlobstore(codeKey, hostPortInfo, getVersionForKey(codeKey, hostPortInfo, conf));
+ if (tmpJarLocation != null) {
+ clusterState.setupBlobstore(jarKey, hostPortInfo, getVersionForKey(jarKey, hostPortInfo, getOrCreateZkClient()));
--- End diff --
Done.
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162311410
--- Diff: storm-server/src/main/java/org/apache/storm/blobstore/KeySequenceNumber.java ---
@@ -131,9 +131,8 @@ public KeySequenceNumber(String key, NimbusInfo nimbusInfo) {
this.nimbusInfo = nimbusInfo;
}
- public synchronized int getKeySequenceNumber(Map<String, Object> conf) throws KeyNotFoundException {
+ public synchronized int getKeySequenceNumber(CuratorFramework zkClient) throws KeyNotFoundException {
TreeSet<Integer> sequenceNumbers = new TreeSet<Integer>();
- CuratorFramework zkClient = BlobStoreUtils.createZKClient(conf);
--- End diff --
You should remove `finally` statement since it is no longer created in this method, it's being passed from caller. Caller should have responsibility to close this.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2517
@danny0405 Nice. I'll not file a new issue for that then.
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 closed the pull request at:
https://github.com/apache/storm/pull/2517
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162347006
--- Diff: storm-server/src/main/java/org/apache/storm/blobstore/KeySequenceNumber.java ---
@@ -131,9 +131,8 @@ public KeySequenceNumber(String key, NimbusInfo nimbusInfo) {
this.nimbusInfo = nimbusInfo;
}
- public synchronized int getKeySequenceNumber(Map<String, Object> conf) throws KeyNotFoundException {
+ public synchronized int getKeySequenceNumber(CuratorFramework zkClient) throws KeyNotFoundException {
TreeSet<Integer> sequenceNumbers = new TreeSet<Integer>();
- CuratorFramework zkClient = BlobStoreUtils.createZKClient(conf);
--- End diff --
done
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162608136
--- Diff: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -1149,6 +1155,18 @@ public void setAuthorizationHandler(IAuthorizer authorizationHandler) {
this.authorizationHandler = authorizationHandler;
}
+ private CuratorFramework getOrCreateZkClient() {
--- End diff --
Done.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on the issue:
https://github.com/apache/storm/pull/2517
@HeartSaVioR
I have checkout the code and find that there is watch listenable registered for StormClusterState CuratorFrameworks, so i can not reuse them, but i can make BlobStore CuratorFramework reusable and non-closing and only the nimbus will close it.
Is this ok?
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162310802
--- Diff: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -2151,9 +2161,10 @@ private void setupBlobstore() throws AuthorizationException, KeyNotFoundExceptio
store.deleteBlob(toDelete, NIMBUS_SUBJECT);
}
LOG.debug("Creating list of key entries for blobstore inside zookeeper {} local {}", activeKeys, activeLocalKeys);
+ CuratorFramework zkClient = BlobStoreUtils.createZKClient(conf);
--- End diff --
**`zkClient` must be guaranteed to be closed.** Please ensure `zkClient` is closed after `for` statement.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2517
@danny0405
For replacing CuratorFramework instances with singleton instance, let's file an issue and handle it later. Maybe I could take it up later.
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162548012
--- Diff: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -1149,6 +1155,18 @@ public void setAuthorizationHandler(IAuthorizer authorizationHandler) {
this.authorizationHandler = authorizationHandler;
}
+ private CuratorFramework getOrCreateZkClient() {
--- End diff --
I guess Nimbus should have CuratorFramework instance, so don't feel the need to apply lazy initialization with double check locking. Nimbus constructor already has leader elector which relies on ZK.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2517
Nice finding!
Btw, according to Curator web site, each process (nimbus, supervisor, worker, etc.) can share singleton curator framework instance since it's thread-safe.
http://curator.apache.org/curator-framework/
> CuratorFrameworks are allocated using the CuratorFrameworkFactory which provides both factory methods and a builder for creating instances. IMPORTANT: CuratorFramework instances are fully thread-safe. You should share one CuratorFramework per ZooKeeper cluster in your application.
We are using Curator 4.0 both master and 1.x branch, hence we are good to apply this.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on the issue:
https://github.com/apache/storm/pull/2517
@HeartSaVioR
This is a good idea! I would love to do it, but i need to checkout the code to see the specific effects to deamons like Nimbus/Supervisor and worker processes.
BTW, StormClusterState already has a ZK connection, we can reuse it too.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on the issue:
https://github.com/apache/storm/pull/2517
@HeartSaVioR
Yeah a 4.0 Curator is really good, we can even make a single connection in Nimbus instance, and reuse it for some timer-task functions like blobstore sync.
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162547621
--- Diff: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -1263,24 +1281,23 @@ private void setupStormCode(Map<String, Object> conf, String topoId, String tmpJ
String codeKey = ConfigUtils.masterStormCodeKey(topoId);
String confKey = ConfigUtils.masterStormConfKey(topoId);
NimbusInfo hostPortInfo = nimbusHostPortInfo;
+
if (tmpJarLocation != null) {
//in local mode there is no jar
try (FileInputStream fin = new FileInputStream(tmpJarLocation)) {
store.createBlob(jarKey, fin, new SettableBlobMeta(BlobStoreAclHandler.DEFAULT), subject);
}
- if (store instanceof LocalFsBlobStore) {
- clusterState.setupBlobstore(jarKey, hostPortInfo, getVersionForKey(jarKey, hostPortInfo, conf));
- }
}
topoCache.addTopoConf(topoId, subject, topoConf);
- if (store instanceof LocalFsBlobStore) {
- clusterState.setupBlobstore(confKey, hostPortInfo, getVersionForKey(confKey, hostPortInfo, conf));
- }
-
topoCache.addTopology(topoId, subject, topology);
+
if (store instanceof LocalFsBlobStore) {
- clusterState.setupBlobstore(codeKey, hostPortInfo, getVersionForKey(codeKey, hostPortInfo, conf));
+ if (tmpJarLocation != null) {
+ clusterState.setupBlobstore(jarKey, hostPortInfo, getVersionForKey(jarKey, hostPortInfo, getOrCreateZkClient()));
--- End diff --
Let's not move the code position unless we're sure about context of codebase and it doesn't break anything.
---
[GitHub] storm pull request #2517: [STORM-2901] Reuse ZK connection for getKeySequenc...
Posted by HeartSaVioR <gi...@git.apache.org>.
Github user HeartSaVioR commented on a diff in the pull request:
https://github.com/apache/storm/pull/2517#discussion_r162311055
--- Diff: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -1263,24 +1266,31 @@ private void setupStormCode(Map<String, Object> conf, String topoId, String tmpJ
String codeKey = ConfigUtils.masterStormCodeKey(topoId);
String confKey = ConfigUtils.masterStormConfKey(topoId);
NimbusInfo hostPortInfo = nimbusHostPortInfo;
+
+ CuratorFramework zkClient = null;
--- End diff --
**`zkClient` must be guaranteed to be closed.** Please ensure `zkClient` is closed before end of method if zkClient is not null.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on the issue:
https://github.com/apache/storm/pull/2517
@HeartSaVioR
Making the curatorFramework singleton is good, and i'm doing it.
---
[GitHub] storm issue #2517: [STORM-2901] Reuse ZK connection for getKeySequenceNumber
Posted by danny0405 <gi...@git.apache.org>.
Github user danny0405 commented on the issue:
https://github.com/apache/storm/pull/2517
@HeartSaVioR
Really thx for you careful review work i have applied your contribution.
It's weird that i build storm-core with cmd: `mvn clean install -Pall-tests` successfully, this is partial of the build log:
***
3636 [main] WARN o.a.s.v.ConfigValidation - storm.messaging.netty.max_retries is a deprecated config please see class org.apache.storm.Config.STORM_MESSAGING_NETTY_MAX_RETRIES for more information.
Running org.apache.storm.submitter-test
Tests run: 1, Passed: 13, Failures: 0, Errors: 0
Running org.apache.storm.messaging.netty-unit-test
Tests run: 5, Passed: 24, Failures: 0, Errors: 0
Running org.apache.storm.cluster-test
Tests run: 10, Passed: 92, Failures: 0, Errors: 0
Running integration.org.apache.storm.integration-test
Tests run: 13, Passed: 45, Failures: 0, Errors: 0
Running org.apache.storm.scheduler-test
Tests run: 4, Passed: 64, Failures: 0, Errors: 0
Running org.apache.storm.messaging.netty-integration-test
Tests run: 1, Passed: 1, Failures: 0, Errors: 0
Running org.apache.storm.transactional-test
Tests run: 6, Passed: 108, Failures: 0, Errors: 0
Running org.apache.storm.grouping-test
Tests run: 3, Passed: 7, Failures: 0, Errors: 0
Running org.apache.storm.security.auth.auth-test
Tests run: 14, Passed: 100, Failures: 0, Errors: 0
Running integration.org.apache.storm.trident.integration-test
Tests run: 9, Passed: 141, Failures: 0, Errors: 0
Running org.apache.storm.metrics-test
Tests run: 8, Passed: 66, Failures: 0, Errors: 0
Running org.apache.storm.security.auth.auto-login-module-test
Tests run: 6, Passed: 22, Failures: 0, Errors: 0
Running org.apache.storm.trident.tuple-test
Tests run: 6, Passed: 36, Failures: 0, Errors: 0
Running org.apache.storm.serialization-test
Tests run: 1, Passed: 0, Failures: 0, Errors: 0
Running org.apache.storm.nimbus-test
Tests run: 41, Passed: 773, Failures: 0, Errors: 0
Running org.apache.storm.drpc-test
Tests run: 7, Passed: 14, Failures: 0, Errors: 0
Running org.apache.storm.versioned-store-test
Tests run: 2, Passed: 5, Failures: 0, Errors: 0
Running org.apache.storm.scheduler.multitenant-scheduler-test
Tests run: 17, Passed: 233, Failures: 0, Errors: 0
Running org.apache.storm.trident.state-test
Tests run: 5, Passed: 37, Failures: 0, Errors: 0
Running integration.org.apache.storm.testing4j-test
Tests run: 7, Passed: 26, Failures: 0, Errors: 0
Running org.apache.storm.security.auth.nimbus-auth-test
Tests run: 5, Passed: 39, Failures: 0, Errors: 0
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.2.201409121644:report (report) @ storm-core ---
[INFO] Skipping JaCoCo execution due to missing execution data file:/Users/danny0405/study/storm2/storm/storm-core/target/jacoco.exec
[INFO]
[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ storm-core ---
[INFO] Building jar: /Users/danny0405/study/storm2/storm/storm-core/target/storm-core-2.0.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-site-plugin:3.5.1:attach-descriptor (attach-descriptor) @ storm-core ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:copy-dependencies (copy-dependencies) @ storm-core ---
[INFO] Copying jgrapht-core-0.9.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jgrapht-core-0.9.0.jar
[INFO] Copying tools.logging-0.2.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/tools.logging-0.2.3.jar
[INFO] Copying netty-3.9.0.Final.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/netty-3.9.0.Final.jar
[INFO] Copying carbonite-1.5.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/carbonite-1.5.0.jar
[INFO] Copying httpclient-4.3.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/httpclient-4.3.3.jar
[INFO] Copying hiccup-0.3.6.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/hiccup-0.3.6.jar
[INFO] Copying joda-time-2.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/joda-time-2.3.jar
[INFO] Copying tools.namespace-0.2.11.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/tools.namespace-0.2.11.jar
[INFO] Copying clj-stacktrace-0.2.8.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/clj-stacktrace-0.2.8.jar
[INFO] Copying commons-compress-1.4.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-compress-1.4.1.jar
[INFO] Copying jackson-core-2.9.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jackson-core-2.9.2.jar
[INFO] Copying disruptor-3.3.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/disruptor-3.3.2.jar
[INFO] Copying tigris-0.1.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/tigris-0.1.1.jar
[INFO] Copying objenesis-2.6.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/objenesis-2.6.jar
[INFO] Copying jetty-servlets-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-servlets-9.4.7.v20170914.jar
[INFO] Copying clojure-1.7.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/clojure-1.7.0.jar
[INFO] Copying compojure-1.1.9.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/compojure-1.1.9.jar
[INFO] Copying ring-servlet-1.6.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/ring-servlet-1.6.2.jar
[INFO] Copying tools.cli-0.2.4.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/tools.cli-0.2.4.jar
[INFO] Copying java.jmx-0.3.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/java.jmx-0.3.1.jar
[INFO] Copying jaxb-api-2.3.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jaxb-api-2.3.0.jar
[INFO] Copying jetty-security-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-security-9.4.7.v20170914.jar
[INFO] Copying curator-client-4.0.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/curator-client-4.0.0.jar
[INFO] Copying crypto-random-1.2.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/crypto-random-1.2.0.jar
[INFO] Copying clout-1.2.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/clout-1.2.0.jar
[INFO] Copying java.classpath-0.2.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/java.classpath-0.2.3.jar
[INFO] Copying kryo-shaded-3.0.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/kryo-shaded-3.0.3.jar
[INFO] Copying crypto-equality-1.0.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/crypto-equality-1.0.0.jar
[INFO] Copying tools.macro-0.1.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/tools.macro-0.1.0.jar
[INFO] Copying minlog-1.3.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/minlog-1.3.0.jar
[INFO] Copying storm-client-2.0.0-SNAPSHOT.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/storm-client-2.0.0-SNAPSHOT.jar
[INFO] Copying guava-16.0.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/guava-16.0.1.jar
[INFO] Copying commons-cli-1.3.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-cli-1.3.1.jar
[INFO] Copying log4j-over-slf4j-1.6.6.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/log4j-over-slf4j-1.6.6.jar
[INFO] Copying jackson-dataformat-smile-2.9.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jackson-dataformat-smile-2.9.2.jar
[INFO] Copying snakeyaml-1.11.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/snakeyaml-1.11.jar
[INFO] Copying jetty-servlet-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-servlet-9.4.7.v20170914.jar
[INFO] Copying ns-tracker-0.3.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/ns-tracker-0.3.1.jar
[INFO] Copying reflectasm-1.10.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/reflectasm-1.10.1.jar
[INFO] Copying log4j-core-2.8.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/log4j-core-2.8.2.jar
[INFO] Copying commons-codec-1.6.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-codec-1.6.jar
[INFO] Copying commons-io-2.5.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-io-2.5.jar
[INFO] Copying asm-5.0.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/asm-5.0.3.jar
[INFO] Copying kryo-3.0.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/kryo-3.0.3.jar
[INFO] Copying jline-0.9.94.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jline-0.9.94.jar
[INFO] Copying libthrift-0.9.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/libthrift-0.9.3.jar
[INFO] Copying jetty-util-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-util-9.4.7.v20170914.jar
[INFO] Copying ring-devel-1.6.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/ring-devel-1.6.2.jar
[INFO] Copying ring-core-1.6.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/ring-core-1.6.2.jar
[INFO] Copying ring-codec-1.0.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/ring-codec-1.0.1.jar
[INFO] Copying chill-java-0.8.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/chill-java-0.8.0.jar
[INFO] Copying jetty-continuation-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-continuation-9.4.7.v20170914.jar
[INFO] Copying commons-fileupload-1.3.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-fileupload-1.3.2.jar
[INFO] Copying jackson-dataformat-cbor-2.9.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jackson-dataformat-cbor-2.9.2.jar
[INFO] Copying zookeeper-3.4.6.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/zookeeper-3.4.6.jar
[INFO] Copying xz-1.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/xz-1.0.jar
[INFO] Copying curator-recipes-4.0.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/curator-recipes-4.0.0.jar
[INFO] Copying json-simple-1.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/json-simple-1.1.jar
[INFO] Copying metrics-core-3.1.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/metrics-core-3.1.0.jar
[INFO] Copying storm-clojure-2.0.0-SNAPSHOT.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/storm-clojure-2.0.0-SNAPSHOT.jar
[INFO] Copying sysout-over-slf4j-1.0.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/sysout-over-slf4j-1.0.2.jar
[INFO] Copying jetty-http-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-http-9.4.7.v20170914.jar
[INFO] Copying httpcore-4.4.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/httpcore-4.4.1.jar
[INFO] Copying storm-server-2.0.0-SNAPSHOT.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/storm-server-2.0.0-SNAPSHOT.jar
[INFO] Copying commons-exec-1.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-exec-1.1.jar
[INFO] Copying ring-json-0.4.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/ring-json-0.4.0.jar
[INFO] Copying slf4j-api-1.7.21.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/slf4j-api-1.7.21.jar
[INFO] Copying log4j-api-2.8.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/log4j-api-2.8.2.jar
[INFO] Copying hadoop-auth-2.6.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/hadoop-auth-2.6.1.jar
[INFO] Copying cheshire-5.5.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/cheshire-5.5.0.jar
[INFO] Copying javax.servlet-api-3.1.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/javax.servlet-api-3.1.0.jar
[INFO] Copying clj-time-0.8.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/clj-time-0.8.0.jar
[INFO] Copying commons-lang-2.5.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-lang-2.5.jar
[INFO] Copying commons-collections-3.2.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-collections-3.2.2.jar
[INFO] Copying jetty-io-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-io-9.4.7.v20170914.jar
[INFO] Copying ring-jetty-adapter-1.6.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/ring-jetty-adapter-1.6.2.jar
[INFO] Copying log4j-slf4j-impl-2.8.2.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/log4j-slf4j-impl-2.8.2.jar
[INFO] Copying metrics-clojure-2.5.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/metrics-clojure-2.5.1.jar
[INFO] Copying jetty-server-9.4.7.v20170914.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/jetty-server-9.4.7.v20170914.jar
[INFO] Copying commons-logging-1.1.3.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/commons-logging-1.1.3.jar
[INFO] Copying curator-framework-4.0.0.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/curator-framework-4.0.0.jar
[INFO] Copying math.numeric-tower-0.0.1.jar to /Users/danny0405/study/storm2/storm/storm-core/target/dependency/math.numeric-tower-0.0.1.jar
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ storm-core ---
[INFO] Building jar: /Users/danny0405/study/storm2/storm/storm-core/target/storm-core-2.0.0-SNAPSHOT-sources.jar
[INFO]
[INFO] --- maven-jar-plugin:2.6:test-jar (default) @ storm-core ---
[INFO] Building jar: /Users/danny0405/study/storm2/storm/storm-core/target/storm-core-2.0.0-SNAPSHOT-tests.jar
[INFO]
[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (default) @ storm-core ---
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-failsafe-plugin:2.19.1:verify (default) @ storm-core ---
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ storm-core ---
[INFO] Installing /Users/danny0405/study/storm2/storm/storm-core/target/storm-core-2.0.0-SNAPSHOT.jar to /Users/danny0405/.m2/repository/org/apache/storm/storm-core/2.0.0-SNAPSHOT/storm-core-2.0.0-SNAPSHOT.jar
[INFO] Installing /Users/danny0405/study/storm2/storm/storm-core/pom.xml to /Users/danny0405/.m2/repository/org/apache/storm/storm-core/2.0.0-SNAPSHOT/storm-core-2.0.0-SNAPSHOT.pom
[INFO] Installing /Users/danny0405/study/storm2/storm/storm-core/target/storm-core-2.0.0-SNAPSHOT-sources.jar to /Users/danny0405/.m2/repository/org/apache/storm/storm-core/2.0.0-SNAPSHOT/storm-core-2.0.0-SNAPSHOT-sources.jar
[INFO] Installing /Users/danny0405/study/storm2/storm/storm-core/target/storm-core-2.0.0-SNAPSHOT-tests.jar to /Users/danny0405/.m2/repository/org/apache/storm/storm-core/2.0.0-SNAPSHOT/storm-core-2.0.0-SNAPSHOT-tests.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:30 min
[INFO] Finished at: 2018-01-20T14:28:28+08:00
[INFO] Final Memory: 53M/640M
[INFO] ------------------------------------------------------------------------
***
But i think it's because of the Clojure UI tests had caught up the exceptions and make the tests passed. Really thx for your carefulness.
---