Merge pull request #2999 from agresch/agresch_YSTORM-6160

STORM-3377 fix scheduling bug with min worker cpu enabled
diff --git a/DEPENDENCY-LICENSES b/DEPENDENCY-LICENSES
index 2acd750..16cc35a 100644
--- a/DEPENDENCY-LICENSES
+++ b/DEPENDENCY-LICENSES
@@ -108,14 +108,12 @@
         * Apache HBase - Shaded Protocol (org.apache.hbase:hbase-protocol-shaded:2.1.3 - http://hbase.apache.org/hbase-build-configuration/hbase-protocol-shaded)
         * Apache HBase - Zookeeper (org.apache.hbase:hbase-zookeeper:2.1.3 - http://hbase.apache.org/hbase-build-configuration/hbase-zookeeper)
         * Apache HttpAsyncClient (org.apache.httpcomponents:httpasyncclient:4.1.2 - http://hc.apache.org/httpcomponents-asyncclient)
-        * Apache HttpClient (org.apache.httpcomponents:httpclient:4.3.5 - http://hc.apache.org/httpcomponents-client)
         * Apache HttpClient (org.apache.httpcomponents:httpclient:4.3.6 - http://hc.apache.org/httpcomponents-client)
         * Apache HttpClient (org.apache.httpcomponents:httpclient:4.4.1 - http://hc.apache.org/httpcomponents-client)
         * Apache HttpClient (org.apache.httpcomponents:httpclient:4.5.2 - http://hc.apache.org/httpcomponents-client)
         * Apache HttpClient (org.apache.httpcomponents:httpclient:4.5.6 - http://hc.apache.org/httpcomponents-client)
         * Apache HttpClient (org.apache.httpcomponents:httpclient:4.5 - http://hc.apache.org/httpcomponents-client)
         * Apache HttpClient Mime (org.apache.httpcomponents:httpmime:4.4.1 - http://hc.apache.org/httpcomponents-client)
-        * Apache HttpCore (org.apache.httpcomponents:httpcore:4.3.2 - http://hc.apache.org/httpcomponents-core-ga)
         * Apache HttpCore (org.apache.httpcomponents:httpcore:4.3.3 - http://hc.apache.org/httpcomponents-core-ga)
         * Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.10 - http://hc.apache.org/httpcomponents-core-ga)
         * Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.1 - http://hc.apache.org/httpcomponents-core-ga)
@@ -124,7 +122,6 @@
         * Apache HttpCore NIO (org.apache.httpcomponents:httpcore-nio:4.4.5 - http://hc.apache.org/httpcomponents-core-ga)
         * Apache Ivy (org.apache.ivy:ivy:2.4.0 - http://ant.apache.org/ivy/)
         * Apache Kafka (org.apache.kafka:kafka-clients:0.11.0.3 - http://kafka.apache.org)
-        * Apache Log4j (log4j:log4j:1.2.16 - http://logging.apache.org/log4j/1.2/)
         * Apache Log4j (log4j:log4j:1.2.17 - http://logging.apache.org/log4j/1.2/)
         * Apache Log4j 1.x Compatibility API (org.apache.logging.log4j:log4j-1.2-api:2.6.2 - http://logging.apache.org/log4j/2.x/log4j-1.2-api/)
         * Apache Log4j API (org.apache.logging.log4j:log4j-api:2.11.1 - https://logging.apache.org/log4j/2.x/log4j-api/)
@@ -452,27 +449,31 @@
         * Lucene Suggest (org.apache.lucene:lucene-suggest:5.5.2 - http://lucene.apache.org/lucene-parent/lucene-suggest)
         * LZ4 and xxHash (net.jpountz.lz4:lz4:1.3.0 - https://github.com/jpountz/lz4-java)
         * Maven Aether Provider (org.apache.maven:maven-aether-provider:3.0 - http://maven.apache.org/maven-aether-provider/)
-        * Maven Aether Provider (org.apache.maven:maven-aether-provider:3.1.0 - http://maven.apache.org/ref/3.1.0/maven-aether-provider)
         * Maven Artifact (org.apache.maven:maven-artifact:3.0 - http://maven.apache.org/maven-artifact/)
+        * Maven Artifact (org.apache.maven:maven-artifact:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-artifact/)
         * Maven Artifact Resolver API (org.apache.maven.resolver:maven-resolver-api:1.3.1 - https://maven.apache.org/resolver/maven-resolver-api/)
+        * Maven Artifact Resolver API (org.apache.maven.resolver:maven-resolver-api:1.3.3 - https://maven.apache.org/resolver/maven-resolver-api/)
+        * Maven Artifact Resolver Connector Basic (org.apache.maven.resolver:maven-resolver-connector-basic:1.3.3 - https://maven.apache.org/resolver/maven-resolver-connector-basic/)
         * Maven Artifact Resolver Implementation (org.apache.maven.resolver:maven-resolver-impl:1.3.1 - https://maven.apache.org/resolver/maven-resolver-impl/)
+        * Maven Artifact Resolver Implementation (org.apache.maven.resolver:maven-resolver-impl:1.3.3 - https://maven.apache.org/resolver/maven-resolver-impl/)
         * Maven Artifact Resolver Provider (org.apache.maven:maven-resolver-provider:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-resolver-provider/)
         * Maven Artifact Resolver SPI (org.apache.maven.resolver:maven-resolver-spi:1.3.1 - https://maven.apache.org/resolver/maven-resolver-spi/)
+        * Maven Artifact Resolver SPI (org.apache.maven.resolver:maven-resolver-spi:1.3.3 - https://maven.apache.org/resolver/maven-resolver-spi/)
+        * Maven Artifact Resolver Transport File (org.apache.maven.resolver:maven-resolver-transport-file:1.3.3 - https://maven.apache.org/resolver/maven-resolver-transport-file/)
+        * Maven Artifact Resolver Transport HTTP (org.apache.maven.resolver:maven-resolver-transport-http:1.3.3 - https://maven.apache.org/resolver/maven-resolver-transport-http/)
         * Maven Artifact Resolver Utilities (org.apache.maven.resolver:maven-resolver-util:1.3.1 - https://maven.apache.org/resolver/maven-resolver-util/)
+        * Maven Artifact Resolver Utilities (org.apache.maven.resolver:maven-resolver-util:1.3.3 - https://maven.apache.org/resolver/maven-resolver-util/)
         * Maven Builder Support (org.apache.maven:maven-builder-support:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-builder-support/)
         * Maven Core (org.apache.maven:maven-core:3.0 - http://maven.apache.org/maven-core/)
         * Maven Core (org.apache.maven:maven-core:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-core/)
         * Maven Model (org.apache.maven:maven-model:3.0 - http://maven.apache.org/maven-model/)
-        * Maven Model (org.apache.maven:maven-model:3.1.0 - http://maven.apache.org/ref/3.1.0/maven-model)
         * Maven Model (org.apache.maven:maven-model:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-model/)
         * Maven Model Builder (org.apache.maven:maven-model-builder:3.0 - http://maven.apache.org/maven-model-builder/)
-        * Maven Model Builder (org.apache.maven:maven-model-builder:3.1.0 - http://maven.apache.org/ref/3.1.0/maven-model-builder)
         * Maven Model Builder (org.apache.maven:maven-model-builder:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-model-builder/)
         * Maven Plugin API (org.apache.maven:maven-plugin-api:3.0 - http://maven.apache.org/maven-plugin-api/)
         * Maven Plugin API (org.apache.maven:maven-plugin-api:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-plugin-api/)
         * Maven Plugin Tools Java Annotations (org.apache.maven.plugin-tools:maven-plugin-annotations:3.6.0 - https://maven.apache.org/plugin-tools/maven-plugin-annotations)
         * Maven Repository Metadata Model (org.apache.maven:maven-repository-metadata:3.0 - http://maven.apache.org/maven-repository-metadata/)
-        * Maven Repository Metadata Model (org.apache.maven:maven-repository-metadata:3.1.0 - http://maven.apache.org/ref/3.1.0/maven-repository-metadata)
         * Maven Repository Metadata Model (org.apache.maven:maven-repository-metadata:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-repository-metadata/)
         * Maven Settings (org.apache.maven:maven-settings:3.0 - http://maven.apache.org/maven-settings/)
         * Maven Settings (org.apache.maven:maven-settings:3.6.0 - https://maven.apache.org/ref/3.6.0/maven-settings/)
@@ -516,12 +517,9 @@
         * Plexus :: Component Annotations (org.codehaus.plexus:plexus-component-annotations:1.7.1 - http://codehaus-plexus.github.io/plexus-containers/plexus-component-annotations/)
         * Plexus Cipher: encryption/decryption Component (org.sonatype.plexus:plexus-cipher:1.4 - http://spice.sonatype.org/plexus-cipher)
         * Plexus Classworlds (org.codehaus.plexus:plexus-classworlds:2.2.3 - http://plexus.codehaus.org/plexus-classworlds/)
-        * Plexus Classworlds (org.codehaus.plexus:plexus-classworlds:2.4 - http://plexus.codehaus.org/plexus-classworlds/)
         * Plexus Classworlds (org.codehaus.plexus:plexus-classworlds:2.5.2 - http://plexus.codehaus.org/plexus-classworlds/)
         * Plexus Common Utilities (org.codehaus.plexus:plexus-utils:3.1.0 - http://codehaus-plexus.github.io/plexus-utils/)
-        * Plexus Common Utilities (org.codehaus.plexus:plexus-utils:3.1.1 - http://codehaus-plexus.github.io/plexus-utils/)
         * Plexus Interpolation API (org.codehaus.plexus:plexus-interpolation:1.14 - http://plexus.codehaus.org/plexus-components/plexus-interpolation)
-        * Plexus Interpolation API (org.codehaus.plexus:plexus-interpolation:1.16 - http://plexus.codehaus.org/plexus-components/plexus-interpolation)
         * Plexus Interpolation API (org.codehaus.plexus:plexus-interpolation:1.25 - http://codehaus-plexus.github.io/plexus-interpolation/)
         * Plexus Security Dispatcher Component (org.sonatype.plexus:plexus-sec-dispatcher:1.3 - http://spice.sonatype.org/plexus-sec-dispatcher)
         * Plexus Security Dispatcher Component (org.sonatype.plexus:plexus-sec-dispatcher:1.4 - http://spice.sonatype.org/plexus-sec-dispatcher)
@@ -584,6 +582,7 @@
         * Woodstox (org.codehaus.woodstox:woodstox-core-asl:4.4.1 - http://woodstox.codehaus.org)
         * Xerces2 Java Parser (xerces:xercesImpl:2.9.1 - http://xerces.apache.org/xerces2-j)
         * XML Commons External Components XML APIs (xml-apis:xml-apis:1.3.04 - http://xml.apache.org/commons/components/external/)
+        * zookeeper (org.apache.zookeeper:zookeeper:3.4.14 - no url defined)
         * zookeeper (org.apache.zookeeper:zookeeper:3.4.6 - no url defined)
 
     Apache License, Version 2.0, Common Development and Distribution License (CDDL) v1.1, Modified BSD, Public Domain, The GNU General Public License (GPL), Version 2, With Classpath Exception
@@ -789,17 +788,9 @@
 
     Eclipse Public License, Version 1.0
 
-        * Aether API (org.eclipse.aether:aether-api:1.1.0 - http://www.eclipse.org/aether/aether-api/)
-        * Aether Connector Basic (org.eclipse.aether:aether-connector-basic:1.1.0 - http://www.eclipse.org/aether/aether-connector-basic/)
-        * Aether Implementation (org.eclipse.aether:aether-impl:1.1.0 - http://www.eclipse.org/aether/aether-impl/)
-        * Aether SPI (org.eclipse.aether:aether-spi:1.1.0 - http://www.eclipse.org/aether/aether-spi/)
-        * Aether Transport File (org.eclipse.aether:aether-transport-file:1.1.0 - http://www.eclipse.org/aether/aether-transport-file/)
-        * Aether Transport HTTP (org.eclipse.aether:aether-transport-http:1.1.0 - http://www.eclipse.org/aether/aether-transport-http/)
         * Aether Utilities (org.eclipse.aether:aether-util:0.9.0.M2 - http://www.eclipse.org/aether/aether-util/)
-        * Aether Utilities (org.eclipse.aether:aether-util:1.1.0 - http://www.eclipse.org/aether/aether-util/)
         * clojure (org.clojure:clojure:1.3.0-beta1 - http://clojure.org/)
         * JUnit (junit:junit:4.12 - http://junit.org)
-        * org.eclipse.sisu.inject (org.eclipse.sisu:org.eclipse.sisu.inject:0.1.1 - http://www.eclipse.org/sisu/org.eclipse.sisu.inject/)
         * org.eclipse.sisu.inject (org.eclipse.sisu:org.eclipse.sisu.inject:0.3.3 - http://www.eclipse.org/sisu/org.eclipse.sisu.inject/)
         * org.eclipse.sisu.plexus (org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.3 - http://www.eclipse.org/sisu/org.eclipse.sisu.plexus/)
         * tools.logging (org.clojure:tools.logging:0.2.3 - http://nexus.sonatype.org/oss-repository-hosting.html/pom.contrib/tools.logging)
@@ -820,7 +811,6 @@
         * argparse4j (net.sourceforge.argparse4j:argparse4j:0.8.1 - http://argparse4j.github.io)
         * azure-eventhubs (com.microsoft.azure:azure-eventhubs:0.13.1 - https://github.com/Azure/azure-event-hubs/)
         * Checker Qual (org.checkerframework:checker-qual:2.5.2 - https://checkerframework.org)
-        * JCL 1.1.1 implemented over SLF4J (org.slf4j:jcl-over-slf4j:1.6.2 - http://www.slf4j.org)
         * JCL 1.1.1 implemented over SLF4J (org.slf4j:jcl-over-slf4j:1.7.7 - http://www.slf4j.org)
         * JCL 1.2 implemented over SLF4J (org.slf4j:jcl-over-slf4j:1.7.25 - http://www.slf4j.org)
         * JCodings (org.jruby.jcodings:jcodings:1.0.18 - http://nexus.sonatype.org/oss-repository-hosting.html/jcodings)
@@ -830,8 +820,6 @@
         * Joni (org.jruby.joni:joni:2.1.11 - http://nexus.sonatype.org/oss-repository-hosting.html/joni)
         * Joni (org.jruby.joni:joni:2.1.2 - http://nexus.sonatype.org/oss-repository-hosting.html/joni)
         * JUL to SLF4J bridge (org.slf4j:jul-to-slf4j:1.7.25 - http://www.slf4j.org)
-        * SLF4J API Module (org.slf4j:slf4j-api:1.6.1 - http://www.slf4j.org)
-        * SLF4J API Module (org.slf4j:slf4j-api:1.6.2 - http://www.slf4j.org)
         * SLF4J API Module (org.slf4j:slf4j-api:1.6.6 - http://www.slf4j.org)
         * SLF4J API Module (org.slf4j:slf4j-api:1.7.10 - http://www.slf4j.org)
         * SLF4J API Module (org.slf4j:slf4j-api:1.7.12 - http://www.slf4j.org)
@@ -842,9 +830,9 @@
         * SLF4J API Module (org.slf4j:slf4j-api:1.7.5 - http://www.slf4j.org)
         * SLF4J API Module (org.slf4j:slf4j-api:1.7.6 - http://www.slf4j.org)
         * SLF4J API Module (org.slf4j:slf4j-api:1.7.7 - http://www.slf4j.org)
-        * SLF4J LOG4J-12 Binding (org.slf4j:slf4j-log4j12:1.6.1 - http://www.slf4j.org)
         * SLF4J LOG4J-12 Binding (org.slf4j:slf4j-log4j12:1.6.6 - http://www.slf4j.org)
         * SLF4J LOG4J-12 Binding (org.slf4j:slf4j-log4j12:1.7.10 - http://www.slf4j.org)
+        * SLF4J LOG4J-12 Binding (org.slf4j:slf4j-log4j12:1.7.25 - http://www.slf4j.org)
 
     Mozilla Public License Version 1.1
 
diff --git a/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/DelimitedRecordHiveMapper.java b/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/DelimitedRecordHiveMapper.java
index d67ec67..f6e3612 100644
--- a/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/DelimitedRecordHiveMapper.java
+++ b/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/DelimitedRecordHiveMapper.java
@@ -132,8 +132,7 @@
     }
 
     private String getPartitionsByTimeFormat() {
-        Date d = new Date();
-        return parseDate.format(d.getTime());
+        return parseDate.format(System.currentTimeMillis());
     }
 
     @VisibleForTesting
diff --git a/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/JsonRecordHiveMapper.java b/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/JsonRecordHiveMapper.java
index 3a43b7c..59c1bb7 100644
--- a/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/JsonRecordHiveMapper.java
+++ b/external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/JsonRecordHiveMapper.java
@@ -119,7 +119,6 @@
     }
 
     private String getPartitionsByTimeFormat() {
-        Date d = new Date();
-        return parseDate.format(d.getTime());
+        return parseDate.format(System.currentTimeMillis());
     }
 }
diff --git a/pom.xml b/pom.xml
index 9b20237..4bb35f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -792,6 +792,10 @@
                         <groupId>log4j</groupId>
                         <artifactId>log4j</artifactId>
                     </exclusion>
+                    <exclusion>
+                        <groupId>com.github.spotbugs</groupId>
+                        <artifactId>spotbugs-annotations</artifactId>
+                    </exclusion>
                 </exclusions>
             </dependency>
             <dependency>
@@ -1400,7 +1404,6 @@
                 <configuration>
                     <autoVersionSubmodules>true</autoVersionSubmodules>
                     <tagNameFormat>v@{project.version}</tagNameFormat>
-                    <preparationGoals>clean verify -Dlicense.skipAggregateAddThirdParty=false</preparationGoals>
                 </configuration>
             </plugin>
             <plugin>
diff --git a/storm-client/src/jvm/org/apache/storm/messaging/netty/StormClientHandler.java b/storm-client/src/jvm/org/apache/storm/messaging/netty/StormClientHandler.java
index 1661fc3..90d03d6 100644
--- a/storm-client/src/jvm/org/apache/storm/messaging/netty/StormClientHandler.java
+++ b/storm-client/src/jvm/org/apache/storm/messaging/netty/StormClientHandler.java
@@ -12,6 +12,7 @@
 
 package org.apache.storm.messaging.netty;
 
+import java.io.IOException;
 import java.net.ConnectException;
 import java.util.List;
 import java.util.Map;
@@ -96,7 +97,11 @@
     @Override
     public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
         if (!(cause instanceof ConnectException)) {
-            LOG.info("Connection to " + client.getDstAddress() + " failed:", cause);
+            if (cause instanceof IOException) {
+                LOG.info("Connection to {} failed: {}", client.getDstAddress(), cause.getMessage());
+            } else {
+                LOG.error("Connection to {} failed: {}", client.getDstAddress(), cause);
+            }
         }
     }
 }
diff --git a/storm-shaded-deps/pom.xml b/storm-shaded-deps/pom.xml
index 72bced2..48ffdf7 100644
--- a/storm-shaded-deps/pom.xml
+++ b/storm-shaded-deps/pom.xml
@@ -76,6 +76,10 @@
                     <groupId>org.apache.yetus</groupId>
                     <artifactId>audience-annotations</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>com.github.spotbugs</groupId>
+                    <artifactId>spotbugs-annotations</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>