JAMES-2488 update netflix curator
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/bbfc3dcb Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/bbfc3dcb Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/bbfc3dcb Branch: refs/heads/master Commit: bbfc3dcb436d24f3b3418da140e4c6a95be4f57c Parents: fedf0a2 Author: duc <[email protected]> Authored: Fri Jul 20 15:48:42 2018 +0700 Committer: benwa <[email protected]> Committed: Wed Jul 25 09:35:07 2018 +0700 ---------------------------------------------------------------------- mailbox/zoo-seq-provider/pom.xml | 10 +- .../mailbox/store/mail/ZooUidProvider.java | 16 ++- .../mailbox/store/mail/ZooUidProviderTest.java | 139 +++++++++---------- 3 files changed, 83 insertions(+), 82 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/bbfc3dcb/mailbox/zoo-seq-provider/pom.xml ---------------------------------------------------------------------- diff --git a/mailbox/zoo-seq-provider/pom.xml b/mailbox/zoo-seq-provider/pom.xml index a253b27..1f269ce 100644 --- a/mailbox/zoo-seq-provider/pom.xml +++ b/mailbox/zoo-seq-provider/pom.xml @@ -33,7 +33,7 @@ <description>High performance distribuited sequence provider based on ZooKeepr</description> <properties> - <curator.version>1.3.2</curator.version> + <curator.version>4.0.1</curator.version> </properties> <dependencies> @@ -55,22 +55,22 @@ <artifactId>commons-lang3</artifactId> </dependency> <dependency> - <groupId>com.netflix.curator</groupId> + <groupId>org.apache.curator</groupId> <artifactId>curator-client</artifactId> <version>${curator.version}</version> </dependency> <dependency> - <groupId>com.netflix.curator</groupId> + <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>${curator.version}</version> </dependency> <dependency> - <groupId>com.netflix.curator</groupId> + <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>${curator.version}</version> </dependency> <dependency> - <groupId>com.netflix.curator</groupId> + <groupId>org.apache.curator</groupId> <artifactId>curator-test</artifactId> <version>${curator.version}</version> <scope>test</scope> http://git-wip-us.apache.org/repos/asf/james-project/blob/bbfc3dcb/mailbox/zoo-seq-provider/src/main/java/org/apache/james/mailbox/store/mail/ZooUidProvider.java ---------------------------------------------------------------------- diff --git a/mailbox/zoo-seq-provider/src/main/java/org/apache/james/mailbox/store/mail/ZooUidProvider.java b/mailbox/zoo-seq-provider/src/main/java/org/apache/james/mailbox/store/mail/ZooUidProvider.java index 391fe8c..5274f60 100644 --- a/mailbox/zoo-seq-provider/src/main/java/org/apache/james/mailbox/store/mail/ZooUidProvider.java +++ b/mailbox/zoo-seq-provider/src/main/java/org/apache/james/mailbox/store/mail/ZooUidProvider.java @@ -21,6 +21,12 @@ package org.apache.james.mailbox.store.mail; import java.util.Optional; import org.apache.commons.lang3.NotImplementedException; +import org.apache.curator.RetryPolicy; +import org.apache.curator.framework.CuratorFramework; +import org.apache.curator.framework.imps.CuratorFrameworkState; +import org.apache.curator.framework.recipes.atomic.AtomicValue; +import org.apache.curator.framework.recipes.atomic.DistributedAtomicLong; +import org.apache.curator.retry.RetryOneTime; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.exception.MailboxException; @@ -28,12 +34,6 @@ import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.store.mail.model.Mailbox; import com.google.common.base.Preconditions; -import com.netflix.curator.RetryPolicy; -import com.netflix.curator.framework.CuratorFramework; -import com.netflix.curator.framework.imps.CuratorFrameworkState; -import com.netflix.curator.framework.recipes.atomic.AtomicValue; -import com.netflix.curator.framework.recipes.atomic.DistributedAtomicLong; -import com.netflix.curator.retry.RetryOneTime; /** * ZooKeeper based implementation of a distributed sequential UID generator. @@ -42,6 +42,8 @@ public class ZooUidProvider implements UidProvider { // TODO: use ZK paths to store uid and modSeq, etc. public static final String UID_PATH_SUFFIX = "-uid"; + public static final String PATH_PREFIX = "/"; + private final CuratorFramework client; private final RetryPolicy retryPolicy; @@ -99,6 +101,6 @@ public class ZooUidProvider implements UidProvider { } public static <E extends MailboxId> String pathForMailbox(Mailbox mailbox) { - return mailbox.getMailboxId().serialize() + UID_PATH_SUFFIX; + return PATH_PREFIX + mailbox.getMailboxId().serialize() + UID_PATH_SUFFIX; } } http://git-wip-us.apache.org/repos/asf/james-project/blob/bbfc3dcb/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java ---------------------------------------------------------------------- diff --git a/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java b/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java index c318807..cabd90b 100644 --- a/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java +++ b/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java @@ -24,6 +24,11 @@ import java.io.Serializable; import java.util.Optional; import java.util.UUID; +import org.apache.curator.RetryPolicy; +import org.apache.curator.framework.CuratorFramework; +import org.apache.curator.framework.CuratorFrameworkFactory; +import org.apache.curator.retry.RetryOneTime; +import org.apache.curator.test.TestingServer; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; @@ -32,11 +37,6 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import com.netflix.curator.RetryPolicy; -import com.netflix.curator.framework.CuratorFramework; -import com.netflix.curator.framework.CuratorFrameworkFactory; -import com.netflix.curator.retry.RetryOneTime; -import com.netflix.curator.test.TestingServer; /** * Test for UID provider. @@ -137,73 +137,72 @@ public class ZooUidProviderTest { } + private static TestingServer testServer; + private static final int ZOO_TEST_PORT = 3123; + private final RetryPolicy retryPolicy = new RetryOneTime(1); + private CuratorFramework client; + private ZooUidProvider uuidProvider; + private ZooUidProvider longProvider; + private SimpleMailbox mailboxUUID; + private SimpleMailbox mailboxLong; + private UUID randomUUID = UUID.randomUUID(); + + @Before + public void setUp() throws Exception { + testServer = new TestingServer(ZOO_TEST_PORT); + client = CuratorFrameworkFactory.builder().connectString("localhost:" + ZOO_TEST_PORT) + .retryPolicy(retryPolicy) + .namespace("JAMES").build(); + client.start(); + uuidProvider = new ZooUidProvider(client, retryPolicy); + longProvider = new ZooUidProvider(client, retryPolicy); + MailboxPath path1 = new MailboxPath("namespacetest", "namespaceuser", "UUID"); + MailboxPath path2 = new MailboxPath("namespacetest", "namespaceuser", "Long"); + mailboxUUID = new SimpleMailbox(path1, 1L); + mailboxUUID.setMailboxId(UUIDId.of(randomUUID)); + mailboxLong = new SimpleMailbox(path2, 2L); + mailboxLong.setMailboxId(new LongId(123L)); + } - private static TestingServer testServer; - private static final int ZOO_TEST_PORT = 3123; - private final RetryPolicy retryPolicy = new RetryOneTime(1); - private CuratorFramework client; - private ZooUidProvider uuidProvider; - private ZooUidProvider longProvider; - private SimpleMailbox mailboxUUID; - private SimpleMailbox mailboxLong; - private UUID randomUUID = UUID.randomUUID(); - - @Before - public void setUp() throws Exception { - testServer = new TestingServer(ZOO_TEST_PORT); - client = CuratorFrameworkFactory.builder().connectString("localhost:" + ZOO_TEST_PORT) - .retryPolicy(retryPolicy) - .namespace("JAMES").build(); - client.start(); - uuidProvider = new ZooUidProvider(client, retryPolicy); - longProvider = new ZooUidProvider(client, retryPolicy); - MailboxPath path1 = new MailboxPath("namespacetest", "namespaceuser", "UUID"); - MailboxPath path2 = new MailboxPath("namespacetest", "namespaceuser", "Long"); - mailboxUUID = new SimpleMailbox(path1, 1L); - mailboxUUID.setMailboxId(UUIDId.of(randomUUID)); - mailboxLong = new SimpleMailbox(path2, 2L); - mailboxLong.setMailboxId(new LongId(123L)); - } - - @After - public void tearDown() throws Exception { - client.close(); - testServer.close(); - } + @After + public void tearDown() throws Exception { + client.close(); + testServer.close(); + } - /** - * Test of nextUid method, of class ZooUidProvider. - */ - @Test - public void testNextUid() throws Exception { - System.out.println("Testing nextUid"); - MessageUid result = uuidProvider.nextUid(null, mailboxUUID); - assertEquals("Next UID is 1", 1, result.asLong()); - result = longProvider.nextUid(null, mailboxLong); - assertEquals("Next UID is 1", 1, result.asLong()); - } + /** + * Test of nextUid method, of class ZooUidProvider. + */ + @Test + public void testNextUid() throws Exception { + System.out.println("Testing nextUid"); + MessageUid result = uuidProvider.nextUid(null, mailboxUUID); + assertEquals("Next UID is 1", 1, result.asLong()); + result = longProvider.nextUid(null, mailboxLong); + assertEquals("Next UID is 1", 1, result.asLong()); + } - /** - * Test of lastUid method, of class ZooUidProvider. - */ - @Test - public void testLastUid() throws Exception { - System.out.println("Testing lastUid"); - Optional<MessageUid> result = uuidProvider.lastUid(null, mailboxUUID); - assertEquals("Next UID is empty", Optional.empty(), result); - MessageUid nextResult = uuidProvider.nextUid(null, mailboxUUID); - assertEquals("Next UID is 1", 1, nextResult.asLong()); - } + /** + * Test of lastUid method, of class ZooUidProvider. + */ + @Test + public void testLastUid() throws Exception { + System.out.println("Testing lastUid"); + Optional<MessageUid> result = uuidProvider.lastUid(null, mailboxUUID); + assertEquals("Next UID is empty", Optional.empty(), result); + MessageUid nextResult = uuidProvider.nextUid(null, mailboxUUID); + assertEquals("Next UID is 1", 1, nextResult.asLong()); + } - /** - * Test of lastUid method, of class ZooUidProvider. - */ - @Test - public void testLongLastUid() throws Exception { - System.out.println("Testing long lastUid"); - Optional<MessageUid> result = longProvider.lastUid(null, mailboxLong); - assertEquals("Next UID is empty", Optional.empty(), result); - MessageUid nextResult = longProvider.nextUid(null, mailboxLong); - assertEquals("Next UID is 1", 1, nextResult.asLong()); - } + /** + * Test of lastUid method, of class ZooUidProvider. + */ + @Test + public void testLongLastUid() throws Exception { + System.out.println("Testing long lastUid"); + Optional<MessageUid> result = longProvider.lastUid(null, mailboxLong); + assertEquals("Next UID is empty", Optional.empty(), result); + MessageUid nextResult = longProvider.nextUid(null, mailboxLong); + assertEquals("Next UID is 1", 1, nextResult.asLong()); } +} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
