You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by pv...@apache.org on 2021/04/05 09:46:43 UTC
[nifi] branch main updated: NIFI-8388 Upgrade Hazelcast from 4.0.1
to 4.2
This is an automated email from the ASF dual-hosted git repository.
pvillard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 64b1217 NIFI-8388 Upgrade Hazelcast from 4.0.1 to 4.2
64b1217 is described below
commit 64b12176b2abdf548da3b0987eb1b5b70cb989d4
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Wed Mar 31 16:24:33 2021 -0500
NIFI-8388 Upgrade Hazelcast from 4.0.1 to 4.2
- Removes dependency on Guava using ByteBuffer methods for serializing revision
Signed-off-by: Pierre Villard <pi...@gmail.com>
This closes #4967.
---
.../src/main/resources/META-INF/NOTICE | 9 ++---
.../nifi-hazelcast-services/pom.xml | 8 +----
.../cacheclient/HazelcastMapCacheClient.java | 15 +++++---
.../EmbeddedHazelcastCacheManagerTest.java | 3 --
.../ExternalHazelcastCacheManagerTest.java | 41 ++++++----------------
5 files changed, 24 insertions(+), 52 deletions(-)
diff --git a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services-nar/src/main/resources/META-INF/NOTICE b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services-nar/src/main/resources/META-INF/NOTICE
index e12aefe..6a8aab8 100644
--- a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services-nar/src/main/resources/META-INF/NOTICE
+++ b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services-nar/src/main/resources/META-INF/NOTICE
@@ -12,10 +12,5 @@ The following binary components are provided under the Apache Software License v
(ASLv2) Hazelcast
The following NOTICE information applies:
- Core Hazelcast Module 4.0.1
- Copyright (c) 2008-2020, Hazelcast, Inc. All Rights Reserved.
-
-(ASLv2) Guava
- The following NOTICE information applies:
- Guava
- Copyright 2015 The Guava Authors
\ No newline at end of file
+ Core Hazelcast Module 4.2
+ Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
diff --git a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/pom.xml b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/pom.xml
index b711fa4..b4bb757 100644
--- a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/pom.xml
+++ b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/pom.xml
@@ -52,13 +52,7 @@
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
- <version>4.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>28.1-jre</version>
+ <version>4.2</version>
</dependency>
<!-- Test dependencies -->
diff --git a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/main/java/org/apache/nifi/hazelcast/services/cacheclient/HazelcastMapCacheClient.java b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/main/java/org/apache/nifi/hazelcast/services/cacheclient/HazelcastMapCacheClient.java
index 2d24c86..a801d3a 100644
--- a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/main/java/org/apache/nifi/hazelcast/services/cacheclient/HazelcastMapCacheClient.java
+++ b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/main/java/org/apache/nifi/hazelcast/services/cacheclient/HazelcastMapCacheClient.java
@@ -16,7 +16,6 @@
*/
package org.apache.nifi.hazelcast.services.cacheclient;
-import com.google.common.primitives.Longs;
import org.apache.nifi.annotation.documentation.CapabilityDescription;
import org.apache.nifi.annotation.documentation.Tags;
import org.apache.nifi.annotation.lifecycle.OnDisabled;
@@ -36,6 +35,7 @@ import org.apache.nifi.processor.util.StandardValidators;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.Serializable;
+import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -199,8 +199,8 @@ public class HazelcastMapCacheClient extends AbstractControllerService implement
}
@Override
- public void close() throws IOException {
- getLogger().debug("Closing " + this.getClass().getSimpleName());
+ public void close() {
+ getLogger().debug("Closing {}", getClass().getSimpleName());
}
@Override
@@ -209,7 +209,7 @@ public class HazelcastMapCacheClient extends AbstractControllerService implement
}
private static long parseRevision(final byte[] value) {
- return Longs.fromByteArray(Arrays.copyOfRange(value, 0, Long.BYTES));
+ return ByteBuffer.wrap(Arrays.copyOfRange(value, 0, Long.BYTES)).getLong();
}
private static <V> V parsePayload(final Deserializer<V> deserializer, final byte[] value) throws IOException {
@@ -249,8 +249,13 @@ public class HazelcastMapCacheClient extends AbstractControllerService implement
*/
private <S> byte[] serialize(final S value, final Serializer<S> serializer, final long version) throws IOException {
final ByteArrayOutputStream stream = new ByteArrayOutputStream();
- stream.write(Longs.toByteArray(version));
+
+ stream.write(getVersionByteArray(version));
serializer.serialize(value, stream);
return stream.toByteArray();
}
+
+ private byte[] getVersionByteArray(final long version) {
+ return ByteBuffer.allocate(Long.BYTES).putLong(version).array();
+ }
}
diff --git a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/EmbeddedHazelcastCacheManagerTest.java b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/EmbeddedHazelcastCacheManagerTest.java
index d27d150..21ec044 100644
--- a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/EmbeddedHazelcastCacheManagerTest.java
+++ b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/EmbeddedHazelcastCacheManagerTest.java
@@ -22,17 +22,14 @@ public class EmbeddedHazelcastCacheManagerTest extends AbstractHazelcastCacheMan
@Test
public void testExecution() throws Exception {
- // given
testSubject = new EmbeddedHazelcastCacheManager();
testRunner.addControllerService("hazelcast-connection-service", testSubject);
givenHazelcastMapCacheClient();
givenServicesAreEnabled();
- // when
whenExecuting();
- // then
thenProcessingIsSuccessful();
}
}
diff --git a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/ExternalHazelcastCacheManagerTest.java b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/ExternalHazelcastCacheManagerTest.java
index cccf707..500bdad 100644
--- a/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/ExternalHazelcastCacheManagerTest.java
+++ b/nifi-nar-bundles/nifi-hazelcast-bundle/nifi-hazelcast-services/src/test/java/org/apache/nifi/hazelcast/services/cachemanager/ExternalHazelcastCacheManagerTest.java
@@ -19,63 +19,44 @@ package org.apache.nifi.hazelcast.services.cachemanager;
import com.hazelcast.config.Config;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
+import org.apache.nifi.remote.io.socket.NetworkUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class ExternalHazelcastCacheManagerTest extends AbstractHazelcastCacheManagerTest {
- private Thread hazelcastServer;
+ private HazelcastInstance hazelcastInstance;
+
+ private int port;
@Before
public void setUp() {
- hazelcastServer = new Thread(new Runnable() {
- HazelcastInstance hazelcastInstance;
-
- @Override
- public void run() {
- final Config config = new Config();
- config.getNetworkConfig().setPort(5704);
- config.setClusterName("nifi");
- hazelcastInstance = Hazelcast.newHazelcastInstance(config);
-
- while (!Thread.currentThread().isInterrupted()) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- Thread.currentThread().interrupt();
- }
- }
-
- hazelcastInstance.shutdown();
- hazelcastInstance = null;
- }
- });
+ port = NetworkUtils.availablePort();
+ final Config config = new Config();
+ config.getNetworkConfig().setPort(port);
+ config.setClusterName("nifi");
- hazelcastServer.start();
+ hazelcastInstance = Hazelcast.newHazelcastInstance(config);
super.setUp();
}
@After
public void tearDown() {
super.tearDown();
- hazelcastServer.interrupt();
+ hazelcastInstance.shutdown();
}
@Test
public void testExecution() throws Exception {
- // given
testSubject = new ExternalHazelcastCacheManager();
testRunner.addControllerService("hazelcast-connection-service", testSubject);
- testRunner.setProperty(testSubject, ExternalHazelcastCacheManager.HAZELCAST_SERVER_ADDRESS, "localhost:5704");
+ testRunner.setProperty(testSubject, ExternalHazelcastCacheManager.HAZELCAST_SERVER_ADDRESS, String.format("localhost:%d", port));
givenHazelcastMapCacheClient();
givenServicesAreEnabled();
- // when
whenExecuting();
- // then
thenProcessingIsSuccessful();
}
}