[geode] 01/01: GEODE-3082 Integrated GenericProtocolServerConnection with ClientHealthMonitor.
This is an automated email from the ASF dual-hosted git repository. hiteshkhamesra pushed a commit to branch feature/GEODE-3082 in repository https://gitbox.apache.org/repos/asf/geode.git commit e7ca79659a80134a780b426aedc843551b276a84 Author: Alexander Murmann <amurm...@pivotal.io> AuthorDate: Wed Sep 6 17:03:40 2017 -0700 GEODE-3082 Integrated GenericProtocolServerConnection with ClientHealthMonitor. 1. Now GenericProtocolServerConnection creates ClientProxyMembershipId. 2. added test where CHM closes the connection. 3. added test where CHM doesn't close the connection Signed-off-by: Hitesh Khamesra <hkhame...@pivotal.io> --- .../membership/InternalDistributedMember.java | 2 +- .../cache/tier/sockets/ClientHealthMonitor.java| 2 +- .../sockets/GenericProtocolServerConnection.java | 31 - .../cache/tier/sockets/ServerConnection.java | 2 +- .../RoundTripCacheConnectionJUnitTest.java | 52 ++ 5 files changed, 85 insertions(+), 4 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java index e152756..3deb13c 100755 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java @@ -117,7 +117,7 @@ public class InternalDistributedMember implements DistributedMember, Externaliza * member for use in the P2P cache. Use of other constructors can break * network-partition-detection. * - * @param i + * @param i the intet address * @param p the membership port * @param splitBrainEnabled whether this feature is enabled for the member * @param canBeCoordinator whether the member is eligible to be the membership coordinator diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java index 226da8a..c3f9529 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java @@ -100,7 +100,7 @@ public class ClientHealthMonitor { /** * The interval between client monitor iterations */ - final protected static long CLIENT_MONITOR_INTERVAL = 1000; + final public static long CLIENT_MONITOR_INTERVAL = 1000; final private CacheClientNotifierStats stats; diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java index 6c81028..f4c4c3e 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java @@ -15,9 +15,13 @@ package org.apache.geode.internal.cache.tier.sockets; +import org.apache.geode.distributed.DistributedMember; +import org.apache.geode.distributed.internal.ServerLocation; +import org.apache.geode.distributed.internal.membership.InternalDistributedMember; import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.internal.cache.tier.Acceptor; import org.apache.geode.internal.cache.tier.CachedRegionHelper; +import org.apache.geode.internal.cache.tier.CommunicationMode; import org.apache.geode.internal.security.SecurityService; import org.apache.geode.security.SecurityManager; import org.apache.geode.security.server.Authenticator; @@ -26,6 +30,8 @@ import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.InetAddress; +import java.net.InetSocketAddress; import java.net.Socket; /** @@ -36,6 +42,7 @@ public class GenericProtocolServerConnection extends ServerConnection { private final ClientProtocolMessageHandler messageHandler; private final SecurityManager securityManager; private final Authenticator authenticator; + private ClientProxyMembershipID clientProxyMembershipID; /** * Creates a new GenericProtocolServerConnection that processes messages received @@ -50,6 +57,10 @@ public class GenericProtocolServerConnection extends ServerConnection { securityManager = securityService.getSecurityManager(); this.messageHandler = newClientProtocol; this.authenticator = authenticator; + +setClientProxyMembershipId(); + + doHandShake(CommunicationMode.ProtobufClientServerProtocol.getModeNumber(), 0); } @Override @@ -72,16 +83,34 @@
[geode] branch feature/GEODE-3082 created (now e7ca796)
This is an automated email from the ASF dual-hosted git repository. hiteshkhamesra pushed a change to branch feature/GEODE-3082 in repository https://gitbox.apache.org/repos/asf/geode.git. at e7ca796 GEODE-3082 Integrated GenericProtocolServerConnection with ClientHealthMonitor. This branch includes the following new commits: new e7ca796 GEODE-3082 Integrated GenericProtocolServerConnection with ClientHealthMonitor. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. -- To stop receiving notification emails like this one, please contact ['"commits@geode.apache.org" <commits@geode.apache.org>'].
geode git commit: Closing pull request for GEODE-3406. Closes #716
Repository: geode Updated Branches: refs/heads/develop 1b84ecbe4 -> fa29ec13f Closing pull request for GEODE-3406. Closes #716 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/fa29ec13 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/fa29ec13 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/fa29ec13 Branch: refs/heads/develop Commit: fa29ec13f049e39c13ff4e711364e55708ede94d Parents: 1b84ecb Author: Hitesh KhamesraAuthored: Wed Aug 23 11:08:51 2017 -0700 Committer: Hitesh Khamesra Committed: Wed Aug 23 11:08:51 2017 -0700 -- --
[6/7] geode git commit: GEODE-3406: Address more PR feedback
GEODE-3406: Address more PR feedback Signed-off-by: Alexander MurmannProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0cc60434 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0cc60434 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0cc60434 Branch: refs/heads/develop Commit: 0cc60434cd75814e755b88be39af53b32d53faeb Parents: a4fc1dd Author: Hitesh Khamesra Authored: Fri Aug 18 15:10:47 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Aug 22 10:55:48 2017 -0700 -- .../internal/tcpserver/TcpServer.java | 18 +++--- .../ClientProtoclMessageHandlerLoader.java | 64 .../tier/sockets/MessageHandlerFactory.java | 15 + .../cache/tier/sockets/TcpServerFactory.java| 15 + .../tier/sockets/TcpServerFactoryTest.java | 15 + 5 files changed, 53 insertions(+), 74 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/0cc60434/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java index d471062..83f87ee 100755 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java @@ -381,16 +381,11 @@ public class TcpServer { } else { rejectUnknownProtocolConnection(socket, gossipVersion); } -} else { - if (gossipVersion <= getCurrentGossipVersion() - && GOSSIP_TO_GEMFIRE_VERSION_MAP.containsKey(gossipVersion)) { -// Create a versioned stream to remember sender's GemFire version -versionOrdinal = (short) GOSSIP_TO_GEMFIRE_VERSION_MAP.get(gossipVersion); - } else { -// Close the socket. We can not accept requests from a newer version -rejectUnknownProtocolConnection(socket, gossipVersion); -return; - } +} else if (gossipVersion <= getCurrentGossipVersion() +&& GOSSIP_TO_GEMFIRE_VERSION_MAP.containsKey(gossipVersion)) { + // Create a versioned stream to remember sender's GemFire version + versionOrdinal = (short) GOSSIP_TO_GEMFIRE_VERSION_MAP.get(gossipVersion); + if (Version.GFE_71.compareTo(versionOrdinal) <= 0) { // Recent versions of TcpClient will send the version ordinal versionOrdinal = input.readShort(); @@ -434,6 +429,9 @@ public class TcpServer { } handler.endResponse(request, startTime); +} else { + // Close the socket. We can not accept requests from a newer version + rejectUnknownProtocolConnection(socket, gossipVersion); } } catch (EOFException ignore) { // client went away - ignore http://git-wip-us.apache.org/repos/asf/geode/blob/0cc60434/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtoclMessageHandlerLoader.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtoclMessageHandlerLoader.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtoclMessageHandlerLoader.java deleted file mode 100644 index 6654757..000 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtoclMessageHandlerLoader.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. You may obtain a - * copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ - -package org.apache.geode.internal.cache.tier.sockets; - -import java.io.IOException; -import java.net.Socket; -import java.util.Iterator; -import java.util.ServiceLoader; - -import
[3/7] geode git commit: GEODE-3406: Address PR feedback
http://git-wip-us.apache.org/repos/asf/geode/blob/0eb320fa/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandlerJUnitTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandlerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandlerJUnitTest.java index 64d9f67..d36ad41 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandlerJUnitTest.java +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandlerJUnitTest.java @@ -16,7 +16,7 @@ package org.apache.geode.protocol.protobuf.operations; import com.google.protobuf.ByteString; import org.apache.geode.cache.Region; -import org.apache.geode.internal.cache.tier.sockets.ExecutionContext; +import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext; import org.apache.geode.internal.cache.tier.sockets.InvalidExecutionContextException; import org.apache.geode.protocol.protobuf.BasicTypes; import org.apache.geode.protocol.protobuf.Failure; @@ -68,7 +68,7 @@ public class PutRequestOperationHandlerJUnitTest extends OperationHandlerJUnitTe CodecAlreadyRegisteredForTypeException, InvalidExecutionContextException { PutRequestOperationHandler operationHandler = new PutRequestOperationHandler(); Result result = operationHandler.process(serializationServiceStub, -generateTestRequest(), new ExecutionContext(cacheStub)); +generateTestRequest(), new MessageExecutionContext(cacheStub)); assertTrue(result instanceof Success); @@ -99,7 +99,7 @@ public class PutRequestOperationHandlerJUnitTest extends OperationHandlerJUnitTe RegionAPI.PutRequest putRequest = ProtobufRequestUtilities.createPutRequest(TEST_REGION, testEntry).getPutRequest(); Result result = operationHandler.process(serializationServiceStub, -putRequest, new ExecutionContext(cacheStub)); +putRequest, new MessageExecutionContext(cacheStub)); assertTrue(result instanceof Failure); assertEquals(ProtocolErrorCode.VALUE_ENCODING_ERROR.codeValue, @@ -113,7 +113,7 @@ public class PutRequestOperationHandlerJUnitTest extends OperationHandlerJUnitTe when(cacheStub.getRegion(TEST_REGION)).thenReturn(null); PutRequestOperationHandler operationHandler = new PutRequestOperationHandler(); Result result = operationHandler.process(serializationServiceStub, -generateTestRequest(), new ExecutionContext(cacheStub)); +generateTestRequest(), new MessageExecutionContext(cacheStub)); assertTrue(result instanceof Failure); assertEquals(ProtocolErrorCode.REGION_NOT_FOUND.codeValue, @@ -128,7 +128,7 @@ public class PutRequestOperationHandlerJUnitTest extends OperationHandlerJUnitTe PutRequestOperationHandler operationHandler = new PutRequestOperationHandler(); Result result = operationHandler.process(serializationServiceStub, -generateTestRequest(), new ExecutionContext(cacheStub)); +generateTestRequest(), new MessageExecutionContext(cacheStub)); assertTrue(result instanceof Failure); assertEquals(ProtocolErrorCode.CONSTRAINT_VIOLATION.codeValue, http://git-wip-us.apache.org/repos/asf/geode/blob/0eb320fa/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandlerJUnitTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandlerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandlerJUnitTest.java index 47d6231..4350ece 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandlerJUnitTest.java +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandlerJUnitTest.java @@ -16,7 +16,7 @@ package org.apache.geode.protocol.protobuf.operations; import com.google.protobuf.ByteString; import org.apache.geode.cache.Region; -import org.apache.geode.internal.cache.tier.sockets.ExecutionContext; +import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext; import org.apache.geode.internal.cache.tier.sockets.InvalidExecutionContextException; import org.apache.geode.protocol.protobuf.BasicTypes; import org.apache.geode.protocol.protobuf.ClientProtocol; @@ -76,7 +76,7 @@ public class RemoveRequestOperationHandlerJUnitTest extends OperationHandlerJUni CodecNotRegisteredForTypeException, InvalidExecutionContextException { RegionAPI.RemoveRequest removeRequest = generateTestRequest(false, false).getRemoveRequest();
[2/7] geode git commit: GEODE-3406: Locator accepts Protobuf requests
GEODE-3406: Locator accepts Protobuf requests Also addresses GEODE-3400, GEODE-3399 This allows the locator to respond to Protobuf requests. Currently it will only be able to respond to getAvailableServers. To enable this we are introducing a new value of "0" that will be sent in place of the Gossip version. After it we expect the same magic byte ("110") as in AcceptorImpl. This also is gated by the `geode.feature-protobuf-protocol` system property. The getAvailableServers request handler now uses the locator directly, since we are on the locator. Signed-off-by: Brian RoweProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/530f48f3 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/530f48f3 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/530f48f3 Branch: refs/heads/develop Commit: 530f48f35a96c4f8af7e51ed03b1ee2e5e150ebd Parents: be45511 Author: Alexander Murmann Authored: Mon Aug 14 15:08:14 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Aug 22 10:52:50 2017 -0700 -- .../distributed/internal/InternalLocator.java | 4 +- .../distributed/internal/ServerLocator.java | 4 + .../internal/tcpserver/TcpServer.java | 77 +++ .../geode/internal/cache/InternalCache.java | 4 +- .../ClientProtoclMessageHandlerLoader.java | 64 + .../sockets/ClientProtocolMessageHandler.java | 7 +- .../ClientProtocolMessageHandlerLoader.java | 64 + .../cache/tier/sockets/ExecutionContext.java| 54 .../GenericProtocolServerConnection.java| 3 +- .../InvalidExecutionContextException.java | 33 + .../AutoConnectionSourceImplJUnitTest.java | 8 +- .../tcpserver/TCPServerSSLJUnitTest.java| 2 +- .../internal/tcpserver/TcpServerJUnitTest.java | 2 +- .../protocol/operations/OperationHandler.java | 6 +- .../protocol/protobuf/ProtobufOpsProcessor.java | 17 ++- .../protobuf/ProtobufStreamProcessor.java | 29 ++-- .../protocol/protobuf/ProtocolErrorCode.java| 1 + .../GetAllRequestOperationHandler.java | 8 +- .../GetAvailableServersOperationHandler.java| 65 ++--- .../GetRegionNamesRequestOperationHandler.java | 8 +- .../GetRegionRequestOperationHandler.java | 8 +- .../operations/GetRequestOperationHandler.java | 8 +- .../PutAllRequestOperationHandler.java | 8 +- .../operations/PutRequestOperationHandler.java | 8 +- .../RemoveRequestOperationHandler.java | 9 +- .../protocol/GetAvailableServersDUnitTest.java | 108 --- .../RoundTripLocatorConnectionJUnitTest.java| 132 +++ .../protobuf/ProtobufStreamProcessorTest.java | 4 +- .../GetAllRequestOperationHandlerJUnitTest.java | 18 +-- ...ailableServersOperationHandlerJUnitTest.java | 97 -- ...onNamesRequestOperationHandlerJUnitTest.java | 26 ++-- ...tRegionRequestOperationHandlerJUnitTest.java | 16 ++- .../GetRequestOperationHandlerJUnitTest.java| 33 ++--- .../PutAllRequestOperationHandlerJUnitTest.java | 13 +- .../PutRequestOperationHandlerJUnitTest.java| 39 +++--- .../RemoveRequestOperationHandlerJUnitTest.java | 27 ++-- 36 files changed, 618 insertions(+), 396 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/530f48f3/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java index 4725518..8d2daf6 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java @@ -315,7 +315,6 @@ public class InternalLocator extends Locator implements ConnectListener { // TODO:GEODE-1243: this.server is now a TcpServer and it should store or return its non-zero // port in a variable to use here - try { newLocator.startPeerLocation(startDistributedSystem); if (startDistributedSystem) { @@ -500,7 +499,7 @@ public class InternalLocator extends Locator implements ConnectListener { this.stats = new LocatorStats(); this.server = new TcpServer(port, this.bindAddress, null, this.config, this.handler, -new DelayedPoolStatHelper(), group, this.toString()); +new DelayedPoolStatHelper(), group, this.toString(), this); } // Reset the file names with the correct port number if startLocatorAndDS was called with port @@ -636,7 +635,6 @@ public class
[5/7] geode git commit: GEODE-3406: Exclude new exception class from analyze serialiable test
GEODE-3406: Exclude new exception class from analyze serialiable test Signed-off-by: Hitesh KhamesraProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/a4fc1ddf Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/a4fc1ddf Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/a4fc1ddf Branch: refs/heads/develop Commit: a4fc1ddf628766cd5f3e7fb9e9469f523d20dbf2 Parents: 0eb320f Author: Alexander Murmann Authored: Fri Aug 18 11:01:26 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Aug 22 10:55:27 2017 -0700 -- .../resources/org/apache/geode/codeAnalysis/excludedClasses.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/a4fc1ddf/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt index 43220fa..fbd582a 100644 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt @@ -10,6 +10,7 @@ org/apache/geode/distributed/internal/DistributionManager org/apache/geode/internal/ExitCode org/apache/geode/internal/JarDeployer org/apache/geode/internal/cache/BackupLock +org/apache/geode/internal/cache/tier/sockets/InvalidExecutionContextException org/apache/geode/internal/logging/GemFireLevel org/apache/geode/internal/logging/LoggingThreadGroup org/apache/geode/internal/logging/LogWriterImpl
[7/7] geode git commit: GEODE-3406: Fixed test failures.
GEODE-3406: Fixed test failures. Now TcpServerFactory doesn't look for protobuf enabled property. If service is not available then it just ignores that Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/31e82d6d Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/31e82d6d Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/31e82d6d Branch: refs/heads/develop Commit: 31e82d6d64187ba7a6d71771806a0b107a811c11 Parents: 0cc6043 Author: Hitesh KhamesraAuthored: Mon Aug 21 14:46:19 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Aug 22 10:56:00 2017 -0700 -- .../geode/internal/cache/tier/sockets/TcpServerFactory.java | 9 + .../apache/geode/test/dunit/standalone/DUnitLauncher.java | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/31e82d6d/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/TcpServerFactory.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/TcpServerFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/TcpServerFactory.java index 9c6bd8c..a67d6e6 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/TcpServerFactory.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/TcpServerFactory.java @@ -40,14 +40,15 @@ public class TcpServerFactory { } public synchronized ClientProtocolMessageHandler initializeMessageHandler() { -if (!Boolean.getBoolean("geode.feature-protobuf-protocol")) { - return null; -} if (protocolHandler != null) { return protocolHandler; } -protocolHandler = new MessageHandlerFactory().makeMessageHandler(); +try { + protocolHandler = new MessageHandlerFactory().makeMessageHandler(); +} catch (ServiceLoadingFailureException ex) { + // ignore, TcpServer will take care right now +} return protocolHandler; } http://git-wip-us.apache.org/repos/asf/geode/blob/31e82d6d/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/DUnitLauncher.java -- diff --git a/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/DUnitLauncher.java b/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/DUnitLauncher.java index fd88abf..b35270e 100644 --- a/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/DUnitLauncher.java +++ b/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/DUnitLauncher.java @@ -297,8 +297,6 @@ public class DUnitLauncher { // able to do so successfully anyway p.setProperty(DISABLE_AUTO_RECONNECT, "true"); -System.setProperty("geode.feature-protobuf-protocol", "true"); - try { Locator.startLocatorAndDS(0, locatorLogFile, p); InternalLocator internalLocator = (InternalLocator) Locator.getLocator();
[4/7] geode git commit: GEODE-3406: Address PR feedback
GEODE-3406: Address PR feedback * Rename ExecutionContext -> MessageExecutionContext * Properly close socket when processing ProtoBuf request in TcpServer * GetAvailableServersRequestHandler guards against `null` servers * minor style changes Signed-off-by: Alexander MurmannProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0eb320fa Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0eb320fa Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0eb320fa Branch: refs/heads/develop Commit: 0eb320fad2071c0ebb8cb1e74576ed4a231a9e3b Parents: 530f48f Author: Hitesh Khamesra Authored: Fri Aug 18 10:44:57 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Aug 22 10:55:12 2017 -0700 -- .../distributed/internal/InternalLocator.java | 5 +- .../internal/tcpserver/TcpServer.java | 171 ++- .../geode/internal/cache/InternalCache.java | 4 +- .../sockets/ClientProtocolMessageHandler.java | 2 +- .../ClientProtocolMessageHandlerLoader.java | 64 --- .../cache/tier/sockets/ExecutionContext.java| 54 -- .../GenericProtocolServerConnection.java| 2 +- .../tier/sockets/MessageExecutionContext.java | 56 ++ .../tier/sockets/MessageHandlerFactory.java | 19 +++ .../tier/sockets/ServerConnectionFactory.java | 22 +-- .../cache/tier/sockets/TcpServerFactory.java| 39 + .../AutoConnectionSourceImplJUnitTest.java | 10 +- .../tcpserver/TCPServerSSLJUnitTest.java| 3 +- .../internal/tcpserver/TcpServerJUnitTest.java | 5 +- .../tier/sockets/TcpServerFactoryTest.java | 19 +++ .../test/dunit/standalone/DUnitLauncher.java| 2 + .../protocol/operations/OperationHandler.java | 4 +- .../protocol/protobuf/ProtobufOpsProcessor.java | 5 +- .../protobuf/ProtobufStreamProcessor.java | 7 +- .../GetAllRequestOperationHandler.java | 4 +- .../GetAvailableServersOperationHandler.java| 14 +- .../GetRegionNamesRequestOperationHandler.java | 4 +- .../GetRegionRequestOperationHandler.java | 4 +- .../operations/GetRequestOperationHandler.java | 4 +- .../PutAllRequestOperationHandler.java | 4 +- .../operations/PutRequestOperationHandler.java | 4 +- .../RemoveRequestOperationHandler.java | 4 +- .../RoundTripLocatorConnectionJUnitTest.java| 19 ++- .../protobuf/ProtobufStreamProcessorTest.java | 4 +- .../GetAllRequestOperationHandlerJUnitTest.java | 6 +- ...ailableServersOperationHandlerJUnitTest.java | 42 +++-- ...onNamesRequestOperationHandlerJUnitTest.java | 6 +- ...tRegionRequestOperationHandlerJUnitTest.java | 7 +- .../GetRequestOperationHandlerJUnitTest.java| 12 +- .../PutAllRequestOperationHandlerJUnitTest.java | 8 +- .../PutRequestOperationHandlerJUnitTest.java| 10 +- .../RemoveRequestOperationHandlerJUnitTest.java | 10 +- 37 files changed, 361 insertions(+), 298 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/0eb320fa/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java index 8d2daf6..06603cc 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java @@ -62,6 +62,7 @@ import org.apache.geode.distributed.internal.tcpserver.TcpServer; import org.apache.geode.internal.admin.remote.DistributionLocatorId; import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.internal.cache.InternalCache; +import org.apache.geode.internal.cache.tier.sockets.TcpServerFactory; import org.apache.geode.internal.cache.wan.WANServiceProvider; import org.apache.geode.internal.i18n.LocalizedStrings; import org.apache.geode.internal.logging.InternalLogWriter; @@ -498,8 +499,8 @@ public class InternalLocator extends Locator implements ConnectListener { ThreadGroup group = LoggingThreadGroup.createThreadGroup("Distribution locators", logger); this.stats = new LocatorStats(); -this.server = new TcpServer(port, this.bindAddress, null, this.config, this.handler, -new DelayedPoolStatHelper(), group, this.toString(), this); +this.server = new TcpServerFactory().makeTcpServer(port, this.bindAddress, null, this.config, +this.handler, new DelayedPoolStatHelper(), group, this.toString(), this); } // Reset the file names with the correct port number if
[1/7] geode git commit: GEODE-3406: Locator accepts Protobuf requests
Repository: geode Updated Branches: refs/heads/develop be4551191 -> 31e82d6d6 http://git-wip-us.apache.org/repos/asf/geode/blob/530f48f3/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java index 29902e6..fd84d41 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java @@ -17,7 +17,6 @@ package org.apache.geode.protocol.protobuf.operations; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import java.nio.charset.Charset; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; @@ -28,7 +27,8 @@ import org.junit.experimental.categories.Category; import org.apache.geode.cache.Cache; import org.apache.geode.cache.Region; -import org.apache.geode.protocol.protobuf.BasicTypes; +import org.apache.geode.internal.cache.tier.sockets.ExecutionContext; +import org.apache.geode.internal.cache.tier.sockets.InvalidExecutionContextException; import org.apache.geode.protocol.protobuf.RegionAPI; import org.apache.geode.protocol.protobuf.Result; import org.apache.geode.protocol.protobuf.Success; @@ -62,11 +62,12 @@ public class GetRegionNamesRequestOperationHandlerJUnitTest extends OperationHan } @Test - public void processReturnsCacheRegions() throws CodecAlreadyRegisteredForTypeException, - UnsupportedEncodingTypeException, CodecNotRegisteredForTypeException { -Result result = -operationHandler.process(serializationServiceStub, -ProtobufRequestUtilities.createGetRegionNamesRequest(), cacheStub); + public void processReturnsCacheRegions() + throws CodecAlreadyRegisteredForTypeException, UnsupportedEncodingTypeException, + CodecNotRegisteredForTypeException, InvalidExecutionContextException { +Result result = operationHandler.process( +serializationServiceStub, ProtobufRequestUtilities.createGetRegionNamesRequest(), +new ExecutionContext(cacheStub)); Assert.assertTrue(result instanceof Success); RegionAPI.GetRegionNamesResponse getRegionsResponse = result.getMessage(); @@ -84,14 +85,15 @@ public class GetRegionNamesRequestOperationHandlerJUnitTest extends OperationHan } @Test - public void processReturnsNoCacheRegions() throws CodecAlreadyRegisteredForTypeException, - UnsupportedEncodingTypeException, CodecNotRegisteredForTypeException { + public void processReturnsNoCacheRegions() + throws CodecAlreadyRegisteredForTypeException, UnsupportedEncodingTypeException, + CodecNotRegisteredForTypeException, InvalidExecutionContextException { Cache emptyCache = mock(Cache.class);; when(emptyCache.rootRegions()) .thenReturn(Collections.unmodifiableSet(new HashSet>())); -Result result = -operationHandler.process(serializationServiceStub, -ProtobufRequestUtilities.createGetRegionNamesRequest(), emptyCache); +Result result = operationHandler.process( +serializationServiceStub, ProtobufRequestUtilities.createGetRegionNamesRequest(), +new ExecutionContext(emptyCache)); Assert.assertTrue(result instanceof Success); RegionAPI.GetRegionNamesResponse getRegionsResponse = result.getMessage(); http://git-wip-us.apache.org/repos/asf/geode/blob/530f48f3/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandlerJUnitTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandlerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandlerJUnitTest.java index 5cfa6b3..6762f66 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandlerJUnitTest.java +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandlerJUnitTest.java @@ -19,6 +19,8 @@ import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.Region; import org.apache.geode.cache.RegionAttributes; import org.apache.geode.cache.Scope; +import org.apache.geode.internal.cache.tier.sockets.ExecutionContext; +import org.apache.geode.internal.cache.tier.sockets.InvalidExecutionContextException; import
[1/2] geode git commit: GEODE-3286: Failing to cleanup connections from ConnectionTable
Repository: geode Updated Branches: refs/heads/develop f52ebcaf4 -> 3c517d39b GEODE-3286: Failing to cleanup connections from ConnectionTable In previous fix, we were checking "if thread is stopped then add connection to receiver list". Instead, it should be if thread is stopped then we should not add connection to receiver list. As a fix, we add connection to reciver list if connection is not closed or thread is not stopped. Added unit for it. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/2c255933 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/2c255933 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/2c255933 Branch: refs/heads/develop Commit: 2c255933ec3bf49601321a5cb80baea89541e820 Parents: f52ebca Author: Hitesh KhamesraAuthored: Thu Aug 3 12:58:37 2017 -0700 Committer: Hitesh Khamesra Committed: Thu Aug 3 16:11:48 2017 -0700 -- .../apache/geode/internal/tcp/Connection.java | 4 ++ .../geode/internal/tcp/ConnectionTable.java | 2 +- .../geode/internal/tcp/ConnectionTableTest.java | 46 3 files changed, 42 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/2c255933/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java index c3ad596..0ecb3bf 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java +++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java @@ -3990,6 +3990,10 @@ public class Connection implements Runnable { return this.socket.isClosed() || !this.socket.isConnected(); } + public boolean isReceiverStopped() { +return this.stopped; + } + private boolean isSocketInUse() { return this.socketInUse; } http://git-wip-us.apache.org/repos/asf/geode/blob/2c255933/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java index 69fb7a2..044ab42 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java +++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java @@ -298,7 +298,7 @@ public class ConnectionTable { } // If connection.stopped is false, any connection cleanup thread will not yet have acquired // the receiver synchronization to remove the receiver. Therefore we can safely add it here. -if (!connection.isSocketClosed() || connection.stopped) { +if (!(connection.isSocketClosed() || connection.isReceiverStopped())) { this.receivers.add(connection); } } http://git-wip-us.apache.org/repos/asf/geode/blob/2c255933/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java index 312c64d..0f5a7b9 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java @@ -20,6 +20,7 @@ import org.apache.geode.distributed.internal.DM; import org.apache.geode.distributed.internal.DMStats; import org.apache.geode.distributed.internal.InternalDistributedSystem; import org.apache.geode.test.junit.categories.UnitTest; +import org.junit.Before; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -32,9 +33,13 @@ import static org.mockito.Mockito.when; @Category(UnitTest.class) public class ConnectionTableTest { + private ConnectionTable connectionTable; + private Socket socket; + private PeerConnectionFactory factory; + private Connection connection; - @Test - public void testConnectionsClosedDuringCreateAreNotAddedAsReceivers() throws Exception { + @Before + public void initConnectionTable() throws Exception { InternalDistributedSystem system = mock(InternalDistributedSystem.class); when(system.isShareSockets()).thenReturn(false); @@ -49,18 +54,41 @@ public class ConnectionTableTest { when(tcpConduit.getCancelCriterion()).thenReturn(cancelCriterion); when(tcpConduit.getStats()).thenReturn(dmStats); -Connection connection =
[2/2] geode git commit: GEODE-3307: CI failure: Uncaught exception in Membership View Creator
GEODE-3307: CI failure: Uncaught exception in Membership View Creator Now we catch DistributedSystemDisconnectedException in ViewCreator thread and then mark shutdown true Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/3c517d39 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/3c517d39 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/3c517d39 Branch: refs/heads/develop Commit: 3c517d39bab2aedd51aedc08978cbd63cab33325 Parents: 2c25593 Author: Hitesh KhamesraAuthored: Thu Aug 3 16:09:02 2017 -0700 Committer: Hitesh Khamesra Committed: Thu Aug 3 16:11:58 2017 -0700 -- .../internal/membership/gms/membership/GMSJoinLeave.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/3c517d39/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java index 40a4254..c63c30f 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java @@ -2080,6 +2080,8 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler { } } catch (InterruptedException e) { shutdown = true; +} catch (DistributedSystemDisconnectedException e) { + shutdown = true; } } while (retry); }
geode git commit: GEODE-3314: Fix DLockService token leak.
Repository: geode Updated Branches: refs/heads/develop d77d69f65 -> d91096c19 GEODE-3314: Fix DLockService token leak. And add a test so that we don't do that again. We had been unlocking the DLock on the remote server before freeing the local `DLockToken`. This meant that the local token got reused by another thread acquiring the same lock and the count went up and up and up (due to some logic that wouldn't decrease the count if it no longer owned the token). Tokens should no longer have usageCounts that climb over time, which means they should be released normally by freeResources. Signed-off-by: Bruce SchuchardtSigned-off-by: Galen O'Sullivan This closes #663 Signed-off-by: Hitesh Khamesra Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/d91096c1 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/d91096c1 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/d91096c1 Branch: refs/heads/develop Commit: d91096c19a453e3d04f9b3d9151ad57dc8e79e0a Parents: d77d69f Author: Galen O'Sullivan Authored: Thu Jul 27 16:35:04 2017 -0700 Committer: Hitesh Khamesra Committed: Wed Aug 2 10:07:57 2017 -0700 -- .../internal/locks/DLockRequestProcessor.java | 6 - .../internal/locks/DLockService.java| 10 +- .../internal/locks/DLockServiceLeakTest.java| 158 +++ 3 files changed, 162 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/d91096c1/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRequestProcessor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRequestProcessor.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRequestProcessor.java index f0ee31b..3f42adb 100755 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRequestProcessor.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRequestProcessor.java @@ -202,18 +202,12 @@ public class DLockRequestProcessor extends ReplyProcessor21 { Assert.assertTrue(lockId > -1, "lockId is < 0: " + this); this.request.lockId = lockId; -// setDoneProcessing(false); - // local grantor... don't use messaging... fake it if (isLockGrantor()) { if (isDebugEnabled_DLS) { logger.trace(LogMarker.DLS, "DLockRequestProcessor processing lock request directly"); } this.request.setSender(this.dm.getDistributionManagerId()); - /* - * if (svc.isDestroyed()) { return false; } - */ - // svc.checkDestroyed(); // calls processor (this) process... this.request.processLocally(this.dm); http://git-wip-us.apache.org/repos/asf/geode/blob/d91096c1/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java index c38cdad..522b700 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java @@ -1388,7 +1388,6 @@ public class DLockService extends DistributedLockService { throw new InterruptedException(); } -boolean abnormalExit = true; boolean safeExit = true; try { // try-block for abnormalExit and safeExit @@ -1716,7 +1715,6 @@ public class DLockService extends DistributedLockService { logger.trace(LogMarker.DLS, "{}, name: {} - exiting lock() returning {}", this, name, gotLock); } - abnormalExit = false; return gotLock; } // try-block for abnormalExit and safeExit @@ -1929,12 +1927,12 @@ public class DLockService extends DistributedLockService { checkDestroyed(); LockGrantorId theLockGrantorId = getLockGrantorId(); try { -released = callReleaseProcessor(theLockGrantorId.getLockGrantorMember(), name, -lockBatch, lockId); synchronized (this.lockGrantorIdLock) { - token.releaseLock(lockId, rThread); - unlocked = true; + unlocked = token.releaseLock(lockId, rThread); } +released = callReleaseProcessor(theLockGrantorId.getLockGrantorMember(), name, +lockBatch, lockId); + } catch (LockGrantorDestroyedException
geode git commit: WIP
Repository: geode Updated Branches: refs/heads/feature/GEODE-3285 7bdd362be -> 5139a6c2f WIP Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/5139a6c2 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/5139a6c2 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/5139a6c2 Branch: refs/heads/feature/GEODE-3285 Commit: 5139a6c2f67f1c0d60666e85f9ddca2fa5f8a547 Parents: 7bdd362 Author: Hitesh KhamesraAuthored: Mon Jul 31 09:38:30 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jul 31 09:38:30 2017 -0700 -- .../GenericProtocolServerConnection.java| 32 +++-- .../tier/sockets/sasl/SaslAuthenticator.java| 13 ++-- .../tier/sockets/sasl/SaslCallbackHandler.java | 41 +++- .../cache/tier/sockets/sasl/SaslHandler.java| 13 .../cache/tier/sockets/sasl/SaslMessenger.java | 33 +++--- .../GenericProtocolServerConnectionTest.java| 10 +++ .../sockets/sasl/SaslAuthenticatorTest.java | 30 +++-- .../sockets/sasl/SaslCallbackHandlerTest.java | 24 +++ .../tier/sockets/sasl/SaslMessengerTest.java| 57 ++-- .../RoundTripCacheConnectionJUnitTest.java | 69 +++- 10 files changed, 290 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/5139a6c2/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java index c5c413a..215d796 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java @@ -18,12 +18,18 @@ package org.apache.geode.internal.cache.tier.sockets; import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.internal.cache.tier.Acceptor; import org.apache.geode.internal.cache.tier.CachedRegionHelper; +import org.apache.geode.internal.cache.tier.sockets.sasl.SaslAuthenticator; +import org.apache.geode.internal.cache.tier.sockets.sasl.SaslCallbackHandler; +import org.apache.geode.internal.cache.tier.sockets.sasl.SaslMessenger; import org.apache.geode.internal.security.SecurityService; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; +import javax.security.sasl.Sasl; +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; +import java.io.*; import java.net.Socket; +import java.nio.channels.AcceptPendingException; +import java.util.Collections; /** * Holds the socket and protocol handler for the new client protocol. @@ -31,6 +37,7 @@ import java.net.Socket; public class GenericProtocolServerConnection extends ServerConnection { // The new protocol lives in a separate module and gets loaded when this class is instantiated. private final ClientProtocolMessageHandler messageHandler; + private boolean isAutenticated = false; /** * Creates a new GenericProtocolServerConnection that processes messages received @@ -51,7 +58,9 @@ public class GenericProtocolServerConnection extends ServerConnection { Socket socket = this.getSocket(); InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); - + DataInputStream dataInputStream = new DataInputStream(inputStream); + DataOutputStream dataOutputStream = new DataOutputStream(outputStream); + authenticateClient(dataInputStream, dataOutputStream); messageHandler.receiveMessage(inputStream, outputStream, this.getCache()); } catch (IOException e) { logger.warn(e); @@ -59,6 +68,21 @@ public class GenericProtocolServerConnection extends ServerConnection { } } + private void authenticateClient(DataInputStream inputStream, DataOutputStream outputStream) + throws IOException { + SaslServer saslServer = Sasl.createSaslServer("PLAIN", "geode", "localhost", Collections.emptyMap(), new SaslCallbackHandler()); + SaslAuthenticator saslAuthenticator = new SaslAuthenticator(saslServer, new SaslMessenger(inputStream, outputStream)); +// if(!isAutenticated) { + if (saslAuthenticator.authenticateClient()) { +outputStream.writeByte(Acceptor.SUCCESSFUL_SERVER_TO_CLIENT); + } else { +outputStream.writeByte(Acceptor.UNSUCCESSFUL_SERVER_TO_CLIENT); + } + isAutenticated = true; +// } +System.out.println("Done
geode git commit: GEODE-3052 Need to reset isCoordinator flag in GMSLocator.
Repository: geode Updated Branches: refs/heads/develop 9905794eb -> 15a3b5a6e GEODE-3052 Need to reset isCoordinator flag in GMSLocator. isCoordinator flag ensures that this process is becoming the coordinator thus other process should join this process. But when network parttion happens, we were not resetting this flag. Now we reset isCoordinator flag when viewCreator thread shutdowns. added unit test for it. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/15a3b5a6 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/15a3b5a6 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/15a3b5a6 Branch: refs/heads/develop Commit: 15a3b5a6eb789b01639a03c4318f5d3c10bd2158 Parents: 9905794 Author: Hitesh KhamesraAuthored: Thu Jul 13 11:47:20 2017 -0700 Committer: Hitesh Khamesra Committed: Fri Jul 14 14:27:40 2017 -0700 -- .../membership/gms/locator/GMSLocator.java | 1 + .../membership/gms/membership/GMSJoinLeave.java | 10 .../gms/membership/GMSJoinLeaveJUnitTest.java | 26 3 files changed, 32 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/15a3b5a6/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java index 2c56f5b..e627452 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java @@ -295,6 +295,7 @@ public class GMSLocator implements Locator, NetLocator { logger.info("This member is becoming coordinator"); v = null; } +logger.debug("this member is becoming coordinator from view {} ", fromView); } byte[] coordPk = null; if (v != null) { http://git-wip-us.apache.org/repos/asf/geode/blob/15a3b5a6/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java index 9591673..40a4254 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java @@ -1541,11 +1541,6 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler { if (viewCreator != null && !viewCreator.isShutdown()) { logger.debug("Shutting down ViewCreator"); viewCreator.shutdown(); - org.apache.geode.distributed.internal.membership.gms.interfaces.Locator locator = - services.getLocator(); - if (locator != null) { -locator.setIsCoordinator(false); - } try { viewCreator.join(1000); } catch (InterruptedException e) { @@ -2209,6 +2204,11 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler { } finally { shutdown = true; informToPendingJoinRequests(); + org.apache.geode.distributed.internal.membership.gms.interfaces.Locator locator = +services.getLocator(); +if (locator != null) { + locator.setIsCoordinator(false); +} } } http://git-wip-us.apache.org/repos/asf/geode/blob/15a3b5a6/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java index d8c12e2..2807be3 100644 --- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java @@ -42,6 +42,7 @@ import org.apache.geode.distributed.internal.membership.gms.Services; import org.apache.geode.distributed.internal.membership.gms.Services.Stopper;
geode git commit: GEODE-3121 Applied spotless
Repository: geode Updated Branches: refs/heads/develop 1c35f8665 -> c48b5381c GEODE-3121 Applied spotless Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/c48b5381 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/c48b5381 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/c48b5381 Branch: refs/heads/develop Commit: c48b5381cef3c9d88824b5dd6115a7e9ea0944f0 Parents: 1c35f86 Author: Hitesh KhamesraAuthored: Tue Jul 11 16:28:12 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jul 11 16:28:12 2017 -0700 -- .../apache/geode/protocol/RoundTripCacheConnectionJUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/c48b5381/geode-protobuf/src/test/java/org/apache/geode/protocol/RoundTripCacheConnectionJUnitTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/RoundTripCacheConnectionJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/RoundTripCacheConnectionJUnitTest.java index 5e41b5c..612b9c9 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/protocol/RoundTripCacheConnectionJUnitTest.java +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/RoundTripCacheConnectionJUnitTest.java @@ -240,7 +240,7 @@ public class RoundTripCacheConnectionJUnitTest { } private void validateRemoveResponse(Socket socket, - ProtobufProtocolSerializer protobufProtocolSerializer) throws Exception { + ProtobufProtocolSerializer protobufProtocolSerializer) throws Exception { ClientProtocol.Message message = protobufProtocolSerializer.deserialize(socket.getInputStream()); assertEquals(TEST_REMOVE_CORRELATION_ID, message.getMessageHeader().getCorrelationId());
geode git commit: GEODE-2998: Add remove operation
Repository: geode Updated Branches: refs/heads/develop e02be316e -> aef891296 GEODE-2998: Add remove operation Signed-off-by: Alexander MurmannSigned-off-by: Matt Kalinowski This closes #624 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/aef89129 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/aef89129 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/aef89129 Branch: refs/heads/develop Commit: aef89129626d9072dfc89e8acc038ecad1793c26 Parents: e02be31 Author: Brian Rowe Authored: Thu Jul 6 16:36:51 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jul 11 14:18:39 2017 -0700 -- .../protobuf/ProtobufStreamProcessor.java | 4 + .../RemoveRequestOperationHandler.java | 65 + .../utilities/ProtobufRequestUtilities.java | 14 ++ .../utilities/ProtobufResponseUtilities.java| 10 ++ geode-protobuf/src/main/proto/region_API.proto | 1 - .../RoundTripCacheConnectionJUnitTest.java | 20 +++ .../RemoveRequestOperationHandlerJUnitTest.java | 142 +++ 7 files changed, 255 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/aef89129/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java index ebd5c6a..7146392 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java @@ -24,6 +24,7 @@ import org.apache.geode.protocol.operations.registry.exception.OperationHandlerN import org.apache.geode.protocol.protobuf.operations.GetRegionNamesRequestOperationHandler; import org.apache.geode.protocol.protobuf.operations.GetRequestOperationHandler; import org.apache.geode.protocol.protobuf.operations.PutRequestOperationHandler; +import org.apache.geode.protocol.protobuf.operations.RemoveRequestOperationHandler; import org.apache.geode.protocol.protobuf.serializer.ProtobufProtocolSerializer; import org.apache.geode.protocol.protobuf.utilities.ProtobufUtilities; import org.apache.geode.serialization.registry.exception.CodecAlreadyRegisteredForTypeException; @@ -63,6 +64,9 @@ public class ProtobufStreamProcessor implements ClientProtocolMessageHandler { registry.registerOperationHandlerForOperationId( ClientProtocol.Request.RequestAPICase.GETREGIONNAMESREQUEST.getNumber(), new GetRegionNamesRequestOperationHandler()); +registry.registerOperationHandlerForOperationId( +ClientProtocol.Request.RequestAPICase.REMOVEREQUEST.getNumber(), +new RemoveRequestOperationHandler()); } public void processOneMessage(InputStream inputStream, OutputStream outputStream, Cache cache) http://git-wip-us.apache.org/repos/asf/geode/blob/aef89129/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java new file mode 100644 index 000..e1fef85 --- /dev/null +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.apache.geode.protocol.protobuf.operations; + +import org.apache.geode.cache.Cache; +import org.apache.geode.cache.Region; +import
[2/2] geode git commit: GEODE-3153 applied spotless
GEODE-3153 applied spotless Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/2974dab3 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/2974dab3 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/2974dab3 Branch: refs/heads/release/1.2.0 Commit: 2974dab327c5d21e55a21c17fe657597a20c6612 Parents: 60225b9 Author: Hitesh KhamesraAuthored: Fri Jul 7 16:40:06 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jul 10 12:04:04 2017 -0700 -- .../geode/internal/cache/ha/EventIdOptimizationJUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/2974dab3/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java index 451dc20..523f0d2 100755 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java @@ -194,7 +194,7 @@ public class EventIdOptimizationJUnitTest { eventID2.fromData(dataInputStream); assertEquals(distributedMember, eventID2.getDistributedMember(Version.GFE_90)); - + assertEquals(memberBytes.length + 17, eventID2.getMembershipID().length); }
[1/2] geode git commit: GEODE-3153 Client receives duplicate events during rolling upgrade
Repository: geode Updated Branches: refs/heads/release/1.2.0 40fdc5d33 -> 2974dab32 GEODE-3153 Client receives duplicate events during rolling upgrade The previous fix worked fine for 1.0.0 and 1.1.0 clients but there are old GemFire 8.2 clients still in use that the fix did not work for. This patch changes the serialization to always send UUID bytes to pre Version.GFE_90 (1.0.0-incubating) clients. Added unit for it Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/60225b9b Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/60225b9b Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/60225b9b Branch: refs/heads/release/1.2.0 Commit: 60225b9b760d9dae25ce07b853ac3fd01468fd80 Parents: 40fdc5d Author: Hitesh KhamesraAuthored: Fri Jul 7 09:35:33 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jul 10 09:37:59 2017 -0700 -- .../membership/InternalDistributedMember.java | 4 ++- .../apache/geode/internal/cache/EventID.java| 12 +++ .../cache/ha/EventIdOptimizationJUnitTest.java | 36 +++- .../sanctionedDataSerializables.txt | 30 4 files changed, 59 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/60225b9b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java index 01f4ef0..851ef9a 100755 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java @@ -1132,7 +1132,9 @@ public class InternalDistributedMember implements DistributedMember, Externaliza // write name last to fix bug 45160 DataSerializer.writeString(netMbr.getName(), out); -if (InternalDataSerializer.getVersionForDataStream(out).compareTo(Version.GFE_90) == 0) { +Version outputVersion = InternalDataSerializer.getVersionForDataStream(out); +if (0 <= outputVersion.compareTo(Version.GFE_90) +&& outputVersion.compareTo(Version.GEODE_110) < 0) { netMbr.writeAdditionalData(out); } } http://git-wip-us.apache.org/repos/asf/geode/blob/60225b9b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java index 8621649..4833ea1 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java @@ -298,13 +298,13 @@ public class EventID implements DataSerializableFixedID, Serializable, Externali /** * deserialize the memberID bytes using the given version. The correct thing to do would be to * have EventID carry the version ordinal of the serialized memberID, or to have it be part of the - * memberID bytes and use that version to deserialize the bytes + * memberID bytes and use that version to deserialize the bytes. Clients prior to 1.1.0 need to + * have UUID bytes in the memberID. Newer clients don't require this. */ - private InternalDistributedMember getDistributedMember(Version targetVersion) { + public InternalDistributedMember getDistributedMember(Version targetVersion) { ByteArrayInputStream bais = new ByteArrayInputStream(this.membershipID); DataInputStream dis = new DataInputStream(bais); -if (0 <= targetVersion.compareTo(Version.GFE_90) -&& targetVersion.compareTo(Version.GEODE_110) < 0) { +if (targetVersion.compareTo(Version.GEODE_110) < 0) { // GEODE-3153: clients expect to receive UUID bytes, which are only // read if the stream's version is 1.0.0-incubating dis = new VersionedDataInputStream(dis, Version.GFE_90); @@ -345,10 +345,10 @@ public class EventID implements DataSerializableFixedID, Serializable, Externali // of the identifier // See GEODE-3072 if (version.compareTo(Version.GEODE_110) < 0) { - InternalDistributedMember member = getDistributedMember(version); + InternalDistributedMember member = getDistributedMember(Version.GFE_90); // reserialize with the client's version so that we write the UUID // bytes - HeapDataOutputStream hdos = new HeapDataOutputStream(version); +
geode git commit: GEODE-3153 applied spotless
Repository: geode Updated Branches: refs/heads/develop b4ebcbac1 -> 1537847e6 GEODE-3153 applied spotless Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/1537847e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/1537847e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/1537847e Branch: refs/heads/develop Commit: 1537847e6090de7facd70b80eba0e4de397491ac Parents: b4ebcba Author: Hitesh KhamesraAuthored: Fri Jul 7 16:40:06 2017 -0700 Committer: Hitesh Khamesra Committed: Fri Jul 7 16:40:06 2017 -0700 -- .../geode/internal/cache/ha/EventIdOptimizationJUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/1537847e/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java index 451dc20..523f0d2 100755 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java @@ -194,7 +194,7 @@ public class EventIdOptimizationJUnitTest { eventID2.fromData(dataInputStream); assertEquals(distributedMember, eventID2.getDistributedMember(Version.GFE_90)); - + assertEquals(memberBytes.length + 17, eventID2.getMembershipID().length); }
geode git commit: GEODE-2804 Caching the InetAddress for configured ip string
Repository: geode Updated Branches: refs/heads/develop f1161994a -> 92f270805 GEODE-2804 Caching the InetAddress for configured ip string 1. We keep configure host string in HostAddress class 2. We reuse InetsocketAddress if it is ipString. 3. Client has logic to retry thus we keep InetsocketAddress even if it is not ip string. GEODE-3017 IPv6 issue on windows. Above changes fixed this issue. GEODE-2940 Now we don't validate configure host string on start. As there is possibility that host may not available. 1. Earlier wan config were failing because of that. Now we just keep those configure host string. And try this later. Added unit tests for it. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/92f27080 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/92f27080 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/92f27080 Branch: refs/heads/develop Commit: 92f270805a83c69da2c1ab469b3206ae6e7c9acf Parents: f116199 Author: Hitesh KhamesraAuthored: Thu Jun 29 13:20:17 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jul 3 09:29:37 2017 -0700 -- geode-assembly/build.gradle | 1 + .../src/test/resources/expected_jars.txt| 3 +- geode-core/build.gradle | 3 + .../admin/internal/DistributionLocatorImpl.java | 6 +- .../internal/AutoConnectionSourceImpl.java | 171 +-- .../geode/cache/client/internal/PoolImpl.java | 15 +- .../internal/AbstractDistributionConfig.java| 8 +- .../internal/InternalDistributedSystem.java | 6 +- .../internal/membership/gms/GMSUtil.java| 11 +- .../membership/gms/locator/GMSLocator.java | 13 +- .../membership/gms/membership/GMSJoinLeave.java | 9 +- .../membership/gms/membership/HostAddress.java | 118 + .../internal/tcpserver/TcpClient.java | 26 ++- .../admin/remote/DistributionLocatorId.java | 45 - .../admin/remote/RemoteTransportConfig.java | 5 +- .../cache/ClusterConfigurationLoader.java | 2 +- .../geode/internal/cache/PoolFactoryImpl.java | 28 +-- .../internal/JmxManagerLocatorRequest.java | 5 +- .../cli/commands/LauncherLifecycleCommands.java | 1 + .../internal/AutoConnectionSourceDUnitTest.java | 12 +- .../AutoConnectionSourceImplJUnitTest.java | 126 +- .../internal/DistributionConfigJUnitTest.java | 4 +- .../internal/StartupMessageDataJUnitTest.java | 4 +- .../gms/membership/GMSJoinLeaveJUnitTest.java | 1 + .../geode/codeAnalysis/excludedClasses.txt | 3 +- .../internal/locator/wan/LocatorDiscovery.java | 10 +- .../wan/LocatorMembershipListenerImpl.java | 8 +- .../cache/wan/AbstractRemoteGatewaySender.java | 4 +- .../wan/misc/WanAutoDiscoveryDUnitTest.java | 7 +- gradle/dependency-versions.properties | 1 + 30 files changed, 527 insertions(+), 129 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/92f27080/geode-assembly/build.gradle -- diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index e5e96d8..19a73f3 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -156,6 +156,7 @@ def cp = { it.contains('commons-collections') || it.contains('commons-lang') || it.contains('commons-logging') || +it.contains('commons-validator') || it.contains('fast-classpath-scanner') || it.contains('fastutil') || it.contains('jackson-annotations') || http://git-wip-us.apache.org/repos/asf/geode/blob/92f27080/geode-assembly/src/test/resources/expected_jars.txt -- diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt index ef28d5e..05f5834 100644 --- a/geode-assembly/src/test/resources/expected_jars.txt +++ b/geode-assembly/src/test/resources/expected_jars.txt @@ -86,4 +86,5 @@ springfox-spring-web springfox-swagger springfox-swagger-common springfox-swagger-ui -swagger-models \ No newline at end of file +swagger-models +commons-validator http://git-wip-us.apache.org/repos/asf/geode/blob/92f27080/geode-core/build.gradle -- diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 7f34b4a..9ecb0f9 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -39,6 +39,8 @@ dependencies { compile 'antlr:antlr:' + project.'antlr.version' compile 'com.fasterxml.jackson.core:jackson-databind:' + project.'jackson.version' compile
geode git commit: GEODE-3154 Add geode-protobuf to expected_jars
Repository: geode Updated Branches: refs/heads/develop 0698238a9 -> ac0474d8b GEODE-3154 Add geode-protobuf to expected_jars This closes #614 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/ac0474d8 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/ac0474d8 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/ac0474d8 Branch: refs/heads/develop Commit: ac0474d8b9400153de2a0d9e08c455a063f3a37e Parents: 0698238 Author: Alexander MurmannAuthored: Thu Jun 29 12:50:30 2017 -0700 Committer: Hitesh Khamesra Committed: Thu Jun 29 15:14:49 2017 -0700 -- geode-assembly/src/test/resources/expected_jars.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/ac0474d8/geode-assembly/src/test/resources/expected_jars.txt -- diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt index 6260167..ef28d5e 100644 --- a/geode-assembly/src/test/resources/expected_jars.txt +++ b/geode-assembly/src/test/resources/expected_jars.txt @@ -51,6 +51,7 @@ mx4j-remote mx4j-tools netty-all paranamer +protobuf-java ra.jar scala-library scala-reflect
geode git commit: GEODE-3105: adding GetRegions handler for protobuf protocol
Repository: geode Updated Branches: refs/heads/develop 61075610e -> b0fafd3da GEODE-3105: adding GetRegions handler for protobuf protocol Added a handler which will catch incoming getRegion requests and will call into the cache's rootRegion and return the names of the region it finds. Added unit test verifying hanlder behavior. Added integration test verifying module correctness for getRegion. This closes #607 Signed-off-by: Brian RoweSigned-off-by: Hitesh Khamesra Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b0fafd3d Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b0fafd3d Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b0fafd3d Branch: refs/heads/develop Commit: b0fafd3da240257afd75ed09e10f61984b3c59b2 Parents: 6107561 Author: Brian Rowe Authored: Tue Jun 27 16:15:53 2017 -0700 Committer: Hitesh Khamesra Committed: Wed Jun 28 13:39:51 2017 -0700 -- .../GenericProtocolServerConnection.java| 1 + .../protocol/protobuf/ProtobufOpsProcessor.java | 4 + .../protobuf/ProtobufStreamProcessor.java | 4 + .../GetRegionsRequestOperationHandler.java | 48 geode-protobuf/src/main/proto/region_API.proto | 3 +- .../org/apache/geode/protocol/MessageUtil.java | 11 ++ .../RoundTripCacheConnectionJUnitTest.java | 27 + ...tRegionRequestOperationHandlerJUnitTest.java | 109 +++ 8 files changed, 206 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/b0fafd3d/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java index 8edd83c..a2e7305 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java @@ -67,6 +67,7 @@ public class GenericProtocolServerConnection extends ServerConnection { // TODO serialization types? messageHandler.receiveMessage(inputStream, outputStream, this.getCache()); } catch (IOException e) { + logger.warn(e); // TODO? } return; http://git-wip-us.apache.org/repos/asf/geode/blob/b0fafd3d/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java index 29d3317..4318fb4 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java @@ -56,6 +56,8 @@ public class ProtobufOpsProcessor { return request.getGetRequest(); case PUTALLREQUEST: return request.getPutAllRequest(); + case GETREGIONSREQUEST: +return request.getGetRegionsRequest(); default: throw new InvalidProtocolMessageException( "Unknown request type: " + request.getRequestAPICase().getNumber()); @@ -73,6 +75,8 @@ public class ProtobufOpsProcessor { return builder.setGetResponse((RegionAPI.GetResponse) response).build(); case PUTALLREQUEST: return builder.setPutAllResponse((RegionAPI.PutAllResponse) response).build(); + case GETREGIONSREQUEST: +return builder.setGetRegionsResponse((RegionAPI.GetRegionsResponse) response).build(); default: throw new InvalidProtocolMessageException( "Unknown request type: " + requestType.getNumber()); http://git-wip-us.apache.org/repos/asf/geode/blob/b0fafd3d/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java index 21dbef5..4e76de4 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java @@ -18,6 +18,7 @@ import
geode git commit: GEODE-2996: incorporating review feedback and adding integration test
Repository: geode Updated Branches: refs/heads/develop 06961ec16 -> 565e61f74 GEODE-2996: incorporating review feedback and adding integration test Addresses review feedback for GEODE-2996, mainly refactoring getOpertionHandler to handle failures like the putOperationHandler Adding put operations to the RoundTripCacheConnectionJUnitTest, which is the integration test for the protobuf module Removing service loading for protobuf operations and instead have the ProtobufStreamProcessor populate its OperationHandlerRegistry Remove exception throwing from OperationHandler.process calls and remove TypeEncodingException Signed-off-by: Brian RoweSigned-off-by: Alexander Murmann This closes #605 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/565e61f7 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/565e61f7 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/565e61f7 Branch: refs/heads/develop Commit: 565e61f74409d59cc96c9fbf1ad75d331b728301 Parents: 06961ec Author: Alexander Murmann Authored: Mon Jun 26 17:56:06 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jun 27 14:48:32 2017 -0700 -- .../protocol/operations/OperationHandler.java | 14 +- .../registry/OperationsHandlerRegistry.java | 7 - .../protocol/protobuf/ProtobufOpsProcessor.java | 29 +++- .../protobuf/ProtobufStreamProcessor.java | 22 ++- .../protocol/protobuf/ProtobufUtilities.java| 11 ++ .../operations/GetRequestOperationHandler.java | 51 --- .../operations/PutRequestOperationHandler.java | 62 + .../exception/TypeEncodingException.java| 21 --- .../UnsupportedEncodingTypeException.java | 2 +- .../CodecNotRegisteredForTypeException.java | 4 +- geode-protobuf/src/main/proto/region_API.proto | 4 +- .../org/apache/geode/protocol/MessageUtil.java | 65 + .../RoundTripCacheConnectionJUnitTest.java | 45 -- .../protobuf/ProtobufOpsProcessorJUnitTest.java | 7 +- .../GetRequestOperationHandlerJUnitTest.java| 79 +++ .../PutRequestOperationHandlerJUnitTest.java| 139 +++ 16 files changed, 440 insertions(+), 122 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/565e61f7/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java index 7683e3b..90fe177 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java @@ -15,10 +15,8 @@ package org.apache.geode.protocol.operations; import org.apache.geode.cache.Cache; -import org.apache.geode.protocol.operations.registry.OperationsHandlerRegistry; import org.apache.geode.protocol.protobuf.ProtobufOpsProcessor; import org.apache.geode.serialization.SerializationService; -import org.apache.geode.serialization.exception.TypeEncodingException; /** * This interface is implemented by a object capable of handling request types 'Req' and returning @@ -30,16 +28,6 @@ public interface OperationHandler { /** * Decode the message, deserialize contained values using the serialization service, do the work * indicated on the provided cache, and return a response. - * - * @throws TypeEncodingException if a problem occurs decoding an encoded value contained in the - * request. */ - Resp process(SerializationService serializationService, Req request, Cache cache) - throws TypeEncodingException; - - /** - * @return the magic number used for registering the operation type with the - * {@link OperationsHandlerRegistry}. - */ - int getOperationCode(); + Resp process(SerializationService serializationService, Req request, Cache cache); } http://git-wip-us.apache.org/repos/asf/geode/blob/565e61f7/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/OperationsHandlerRegistry.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/OperationsHandlerRegistry.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/OperationsHandlerRegistry.java index 8e3a331..2b9f525 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/OperationsHandlerRegistry.java +++
[34/50] [abbrv] geode git commit: GEODE-2995: Handle stream of ProtoBuf encoded messages
http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler -- diff --git a/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler new file mode 100644 index 000..fa7c3c6 --- /dev/null +++ b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler @@ -0,0 +1 @@ +org.apache.geode.protocol.operations.protobuf.GetRequestOperationHandler \ No newline at end of file http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec -- diff --git a/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec new file mode 100644 index 000..1b7b333 --- /dev/null +++ b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec @@ -0,0 +1,10 @@ +org.apache.geode.serialization.codec.BinaryCodec +org.apache.geode.serialization.codec.BooleanCodec +org.apache.geode.serialization.codec.ByteCodec +org.apache.geode.serialization.codec.DoubleCodec +org.apache.geode.serialization.codec.FloatCodec +org.apache.geode.serialization.codec.IntCodec +org.apache.geode.serialization.codec.JSONCodec +org.apache.geode.serialization.codec.LongCodec +org.apache.geode.serialization.codec.ShortCodec +org.apache.geode.serialization.codec.StringCodec http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java b/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java new file mode 100644 index 000..e86e908 --- /dev/null +++ b/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.apache.geode.client.protocol; + +import com.google.protobuf.ByteString; + +import org.apache.geode.cache.Cache; +import org.apache.geode.cache.Region; +import org.apache.geode.protocol.exception.InvalidProtocolMessageException; +import org.apache.geode.protocol.handler.ProtobufStreamProcessor; +import org.apache.geode.protocol.operations.registry.exception.OperationHandlerAlreadyRegisteredException; +import org.apache.geode.protocol.operations.registry.exception.OperationHandlerNotRegisteredException; +import org.apache.geode.protocol.protobuf.BasicTypes; +import org.apache.geode.protocol.protobuf.ClientProtocol; +import org.apache.geode.protocol.protobuf.RegionAPI; +import org.apache.geode.serialization.codec.StringCodec; +import org.apache.geode.serialization.protobuf.translation.EncodingTypeTranslator; +import org.apache.geode.serialization.exception.UnsupportedEncodingTypeException; +import org.apache.geode.serialization.registry.SerializationCodecRegistry; +import org.apache.geode.serialization.registry.exception.CodecAlreadyRegisteredForTypeException; +import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTypeException; +import org.apache.geode.test.dunit.Assert; +import org.apache.geode.test.junit.categories.UnitTest; +import org.junit.Before; +import org.junit.Test; +import org.junit.experimental.categories.Category; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +@Category(UnitTest.class) +public class IntegrationTest { + + public static final String TEST_KEY = "my key"; + public static final String TEST_VALUE = "my value"; + public static final
[17/50] [abbrv] geode git commit: GEODE-3104 : correct help string to use --include-locators
GEODE-3104 : correct help string to use --include-locators * this closes #595 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b517ef8d Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b517ef8d Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b517ef8d Branch: refs/heads/feature/GEODE-2804v3 Commit: b517ef8ddb4613729157c4e4ba6c3e83ae2dfc2c Parents: 7df5af3 Author: Amey BarveAuthored: Wed Jun 21 18:27:01 2017 +0530 Committer: Jinmei Liao Committed: Wed Jun 21 08:16:04 2017 -0700 -- .../org/apache/geode/management/internal/cli/i18n/CliStrings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/b517ef8d/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java index 0829495..bdf5cff 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java @@ -2063,7 +2063,7 @@ public class CliStrings { public static final String SHUTDOWN__MSG__CAN_NOT_SHUTDOWN_WITHIN_TIMEOUT = "Could not shutdown within timeout. Shutdown will continue in background"; public static final String SHUTDOWN__MSG__NO_DATA_NODE_FOUND = - "No data node found for stopping. Please specify --shutdown-locators option if you want locators to be stopped"; + "No data node found for stopping. Please specify --include-locators option if you want locators to be stopped"; public static final String SHUTDOWN_TIMEDOUT = "Shutdown command timedout. Please manually check node status";
[37/50] [abbrv] geode git commit: GEODE-2995: Implementing review feedback
http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java new file mode 100644 index 000..95244d2 --- /dev/null +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.apache.geode.protocol.serializer; + +import org.apache.geode.client.protocol.MessageUtil; +import org.apache.geode.protocol.exception.InvalidProtocolMessageException; +import org.apache.geode.protocol.protobuf.serializer.ProtobufProtocolSerializer; +import org.apache.geode.protocol.protobuf.ClientProtocol; +import org.apache.geode.test.junit.categories.UnitTest; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.experimental.categories.Category; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ServiceLoader; + +@Category(UnitTest.class) +public class ProtobufProtocolSerializerJUnitTest { + private ProtocolSerializer protocolSerializer; + + @Before + public void startup() { +ServiceLoader serviceLoader = ServiceLoader.load(ProtocolSerializer.class); +for (ProtocolSerializer protocolSerializer : serviceLoader) { + if (protocolSerializer instanceof ProtobufProtocolSerializer) { +this.protocolSerializer = protocolSerializer; + } +} + } + + @Test + public void testDeserializeByteArrayToMessage() + throws IOException, InvalidProtocolMessageException { +ClientProtocol.Message expectedRequestMessage = MessageUtil.createGetRequestMessage(); + +ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + +expectedRequestMessage.writeDelimitedTo(byteArrayOutputStream); +InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); + +ClientProtocol.Message actualMessage = protocolSerializer.deserialize(inputStream); +Assert.assertEquals(expectedRequestMessage, actualMessage); + } + + @Test(expected = InvalidProtocolMessageException.class) + public void testDeserializeInvalidByteThrowsException() +throws IOException, InvalidProtocolMessageException { +ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); +byteArrayOutputStream.write("Some incorrect byte array".getBytes()); +InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); +protocolSerializer.deserialize(inputStream); + } + + @Test + public void testSerializeMessageToByteArray() throws IOException { +ClientProtocol.Message message = MessageUtil.createGetRequestMessage(); +ByteArrayOutputStream expectedByteArrayOutputStream = new ByteArrayOutputStream(); +message.writeDelimitedTo(expectedByteArrayOutputStream); +byte[] expectedByteArray = expectedByteArrayOutputStream.toByteArray(); + +ByteArrayOutputStream actualByteArrayOutputStream = new ByteArrayOutputStream(); +protocolSerializer.serialize(message, actualByteArrayOutputStream); +Assert.assertArrayEquals(expectedByteArray, actualByteArrayOutputStream.toByteArray()); + } +} http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java b/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java index a4c0a14..ef841c3 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java +++
[13/50] [abbrv] geode git commit: GEODE-3091: remove empty method
GEODE-3091: remove empty method This closes #585 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/d8160d6e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/d8160d6e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/d8160d6e Branch: refs/heads/feature/GEODE-2804v3 Commit: d8160d6e644976e88fa32b08993c3cc6574143c8 Parents: 80667f3 Author: Nick ReichAuthored: Thu Jun 15 15:59:50 2017 -0700 Committer: Anil Committed: Mon Jun 19 15:00:23 2017 -0700 -- .../geode/internal/cache/DistributedRegion.java | 1 - .../org/apache/geode/internal/cache/LocalRegion.java | 15 --- .../geode/internal/cache/PartitionedRegion.java | 1 - 3 files changed, 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/d8160d6e/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java index 9df64d0..21f911d 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java @@ -935,7 +935,6 @@ public class DistributedRegion extends LocalRegion implements CacheDistributionA public void invalidate(Object key, Object aCallbackArgument) throws TimeoutException, EntryNotFoundException { validateKey(key); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForLimitedOrNoAccess(); Lock dlock = this.getDistributedLockIfGlobal(key); http://git-wip-us.apache.org/repos/asf/geode/blob/d8160d6e/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java index 2b45a54..02625ee 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java @@ -1120,7 +1120,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, @Retained EntryEventImpl newDestroyEntryEvent(Object key, Object aCallbackArgument) { validateKey(key); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForLimitedOrNoAccess(); @@ -1349,7 +1348,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, boolean retainResult) throws TimeoutException, CacheLoaderException { assert !retainResult || preferCD; validateKey(key); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForNoAccess(); discoverJTA(); @@ -1563,7 +1561,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, @Override public void invalidateRegion(Object aCallbackArgument) throws TimeoutException { getDataView().checkSupportsRegionInvalidate(); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForLimitedOrNoAccess(); RegionEventImpl event = new RegionEventImpl(this, Operation.REGION_INVALIDATE, @@ -3118,8 +3115,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, protected void validateArguments(Object key, Object value, Object aCallbackArgument) { validateKey(key); validateValue(value); -validateCallbackArg(aCallbackArgument); - } void validateKey(Object key) { @@ -3142,15 +3137,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, } /** - * Starting in 3.5, we don't check to see if the callback argument is {@code Serializable}. We - * instead rely on the actual serialization (which happens in-thread with the put) to tell us if - * there are any problems. TODO: delete method validateCallbackArg - */ - void validateCallbackArg(Object aCallbackArgument) { -// do nothing - } - - /** * @since GemFire 5.0.2 */ private final boolean doExpensiveValidations = @@ -11633,7 +11619,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, public boolean remove(Object key, Object value, Object callbackArg) { checkIfConcurrentMapOpsAllowed(); validateKey(key); -validateCallbackArg(callbackArg); checkReadiness(); checkForLimitedOrNoAccess();
[28/50] [abbrv] geode git commit: GEODE-2919: Provide finer grained security
http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemMBean.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemMBean.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemMBean.java index c45da73..28edbf6 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemMBean.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemMBean.java @@ -14,6 +14,12 @@ */ package org.apache.geode.management.internal.beans; +import java.util.Map; + +import javax.management.NotificationBroadcasterSupport; +import javax.management.ObjectName; + +import org.apache.geode.internal.security.SecurityServiceFactory; import org.apache.geode.management.DiskBackupStatus; import org.apache.geode.management.DiskMetrics; import org.apache.geode.management.DistributedSystemMXBean; @@ -22,10 +28,9 @@ import org.apache.geode.management.JVMMetrics; import org.apache.geode.management.NetworkMetrics; import org.apache.geode.management.OSMetrics; import org.apache.geode.management.PersistentMemberDetails; - -import java.util.Map; -import javax.management.NotificationBroadcasterSupport; -import javax.management.ObjectName; +import org.apache.geode.security.ResourcePermission.Operation; +import org.apache.geode.security.ResourcePermission.Resource; +import org.apache.geode.security.ResourcePermission.Target; /** * Distributed System MBean @@ -48,8 +53,9 @@ public class DistributedSystemMBean extends NotificationBroadcasterSupport @Override public DiskBackupStatus backupAllMembers(String targetDirPath, String baselineDirPath) throws Exception { +SecurityServiceFactory.findSecurityService().authorize(Resource.CLUSTER, Operation.WRITE, +Target.DISK); return bridge.backupAllMembers(targetDirPath, baselineDirPath); - } @Override @@ -60,7 +66,6 @@ public class DistributedSystemMBean extends NotificationBroadcasterSupport @Override public String[] listCacheServers() { return bridge.listCacheServers(); - } @@ -243,7 +248,7 @@ public class DistributedSystemMBean extends NotificationBroadcasterSupport } @Override - public boolean revokeMissingDiskStores(final String diskStoreId) throws Exception { + public boolean revokeMissingDiskStores(final String diskStoreId) { return bridge.revokeMissingDiskStores(diskStoreId); } @@ -433,6 +438,6 @@ public class DistributedSystemMBean extends NotificationBroadcasterSupport @Override public void setQueryCollectionsDepth(int queryCollectionsDepth) { -bridge.setQueryCollectionsDepth(queryCollectionsDepth);; +bridge.setQueryCollectionsDepth(queryCollectionsDepth); } } http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBean.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBean.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBean.java index 9d717d0..271dce1 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBean.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBean.java @@ -148,7 +148,12 @@ public class MemberMBean extends NotificationBroadcasterSupport implements Membe @Override public int getInitialImagesInProgres() { -return bridge.getInitialImagesInProgres(); +return getInitialImagesInProgress(); + } + + @Override + public int getInitialImagesInProgress() { +return bridge.getInitialImagesInProgress(); } http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java index 516b97d..dd905eb 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java @@ -14,7 +14,7 @@ */ package org.apache.geode.management.internal.beans; -import static org.apache.geode.internal.lang.SystemUtils.*; +import static org.apache.geode.internal.lang.SystemUtils.getLineSeparator; import java.io.File; import java.io.IOException; @@ -1341,7 +1341,7 @@ public class MemberMBeanBridge { return getMemberLevelStatistic(StatsKey.GET_INITIAL_IMAGE_TIME).longValue();
[08/50] [abbrv] geode git commit: GEODE-2601: Fixing banner being logged twice during locator startup.
GEODE-2601: Fixing banner being logged twice during locator startup. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/2d3e05ec Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/2d3e05ec Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/2d3e05ec Branch: refs/heads/feature/GEODE-2804v3 Commit: 2d3e05ecedf724af8d413f50567afc7f9a87e343 Parents: 3154424 Author: YehEmilyAuthored: Mon Jun 12 13:55:24 2017 -0700 Committer: Ken Howe Committed: Mon Jun 19 09:52:13 2017 -0700 -- .../internal/InternalDistributedSystem.java | 24 .../distributed/internal/InternalLocator.java | 41 ++-- .../internal/logging/LogWriterFactory.java | 20 -- 3 files changed, 53 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/2d3e05ec/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java index d77e8b9..4ed58af 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java @@ -18,6 +18,30 @@ package org.apache.geode.distributed.internal; import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT; +import java.io.File; +import java.io.IOException; +import java.io.Reader; +import java.lang.reflect.Array; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Properties; +import java.util.Set; +import java.util.SortedSet; +import java.util.StringTokenizer; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; + +import org.apache.logging.log4j.Logger; + import org.apache.geode.CancelCriterion; import org.apache.geode.CancelException; import org.apache.geode.ForcedDisconnectException; http://git-wip-us.apache.org/repos/asf/geode/blob/2d3e05ec/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java index ae548c4..3ff27ea 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java @@ -18,7 +18,24 @@ import static org.apache.geode.distributed.ConfigurationProperties.BIND_ADDRESS; import static org.apache.geode.distributed.ConfigurationProperties.CACHE_XML_FILE; import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; +import java.io.File; +import java.io.IOException; +import java.net.ConnectException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Properties; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; + import org.apache.commons.lang.StringUtils; +import org.apache.logging.log4j.Logger; + import org.apache.geode.CancelException; import org.apache.geode.cache.CacheFactory; import org.apache.geode.cache.GemFireCache; @@ -65,22 +82,6 @@ import org.apache.geode.management.internal.configuration.handlers.SharedConfigu import org.apache.geode.management.internal.configuration.messages.ConfigurationRequest; import org.apache.geode.management.internal.configuration.messages.SharedConfigurationStatusRequest; import org.apache.geode.management.internal.configuration.messages.SharedConfigurationStatusResponse; -import org.apache.logging.log4j.Logger; - -import java.io.File; -import java.io.IOException; -import java.net.ConnectException; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.Collection; -import java.util.HashMap;
[35/50] [abbrv] geode git commit: GEODE-2995: Handle stream of ProtoBuf encoded messages
GEODE-2995: Handle stream of ProtoBuf encoded messages This for now exists in isolation, but will be hooked up with the code currently in review for GEODE-3075 Signed-off-by: Alexander MurmannSigned-off-by: Brian Rowe Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/cdcc4d95 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/cdcc4d95 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/cdcc4d95 Branch: refs/heads/feature/GEODE-2804v3 Commit: cdcc4d95634ae6377c0198cadba92f52cd436be0 Parents: 4ace36a Author: Udo Kohlmeyer Authored: Mon Jun 12 15:12:18 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- geode-protobuf/build.gradle | 64 ++ .../org/apache/geode/ProtobufUtilities.java | 34 ++ .../org/apache/geode/protocol/OpsProcessor.java | 53 .../InvalidProtocolMessageException.java| 25 .../handler/ProtobufStreamProcessor.java| 61 ++ .../geode/protocol/handler/ProtocolHandler.java | 27 + .../protobuf/ProtobufProtocolHandler.java | 41 +++ .../protocol/operations/OperationHandler.java | 27 + .../ProtobufRequestOperationParser.java | 33 + .../protobuf/GetRequestOperationHandler.java| 59 + .../registry/OperationsHandlerRegistry.java | 57 + ...rationHandlerAlreadyRegisteredException.java | 21 .../OperationHandlerNotRegisteredException.java | 21 .../ProtobufSerializationService.java | 50 .../serialization/SerializationService.java | 27 + .../geode/serialization/SerializationType.java | 36 ++ .../apache/geode/serialization/TypeCodec.java | 23 .../geode/serialization/codec/BinaryCodec.java | 35 ++ .../geode/serialization/codec/BooleanCodec.java | 37 ++ .../geode/serialization/codec/ByteCodec.java| 37 ++ .../geode/serialization/codec/DoubleCodec.java | 37 ++ .../geode/serialization/codec/FloatCodec.java | 37 ++ .../geode/serialization/codec/IntCodec.java | 38 ++ .../geode/serialization/codec/JSONCodec.java| 37 ++ .../geode/serialization/codec/LongCodec.java| 37 ++ .../geode/serialization/codec/ShortCodec.java | 37 ++ .../geode/serialization/codec/StringCodec.java | 39 ++ .../UnsupportedEncodingTypeException.java | 21 .../translation/EncodingTypeTranslator.java | 83 + .../UnsupportedEncodingTypeException.java | 21 .../registry/SerializationCodecRegistry.java| 61 ++ .../CodecAlreadyRegisteredForTypeException.java | 21 .../CodecNotRegisteredForTypeException.java | 21 geode-protobuf/src/main/proto/basicTypes.proto | 60 + .../src/main/proto/clientProtocol.proto | 87 + geode-protobuf/src/main/proto/region_API.proto | 106 geode-protobuf/src/main/proto/server_API.proto | 37 ++ ...pache.geode.protocol.handler.ProtocolHandler | 1 + ...e.geode.protocol.operations.OperationHandler | 1 + .../org.apache.geode.serialization.TypeCodec| 10 ++ .../geode/client/protocol/IntegrationTest.java | 121 +++ .../geode/client/protocol/MessageUtil.java | 41 +++ .../geode/client/protocol/OpsHandler.java | 21 .../geode/client/protocol/OpsProcessorTest.java | 64 ++ .../ProtobufProtocolHandlerJUnitTest.java | 88 ++ .../GetRequestOperationHandlerTest.java | 95 +++ .../OperationsHandlerRegistryJUnitTest.java | 94 ++ .../ProtobufSerializationServiceImplTest.java | 57 + .../codec/StringCodecJUnitTest.java | 64 ++ ...eToSerializationTypeTranslatorJUnitTest.java | 72 +++ .../registry/CodecRegistryJUnitTest.java| 113 + gradle/rat.gradle | 6 +- settings.gradle | 4 +- 53 files changed, 2394 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/build.gradle -- diff --git a/geode-protobuf/build.gradle b/geode-protobuf/build.gradle new file mode 100644 index 000..2102f6a --- /dev/null +++ b/geode-protobuf/build.gradle @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version
[21/50] [abbrv] geode git commit: GEODE-3101: Release local locks held by the JTA beforeCompletion() in client when the JTA failed on the server.
GEODE-3101: Release local locks held by the JTA beforeCompletion() in client when the JTA failed on the server. Also added a unit test would fail without the fix. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b7f5391d Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b7f5391d Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b7f5391d Branch: refs/heads/feature/GEODE-2804v3 Commit: b7f5391d983cda4d95dc34a21aeb414a3c0a14c2 Parents: 822946b Author: eshuAuthored: Wed Jun 21 15:41:25 2017 -0700 Committer: eshu Committed: Wed Jun 21 15:41:25 2017 -0700 -- .../internal/cache/tx/ClientTXStateStub.java| 10 +- .../internal/jta/ClientServerJTADUnitTest.java | 143 +++ 2 files changed, 151 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/b7f5391d/geode-core/src/main/java/org/apache/geode/internal/cache/tx/ClientTXStateStub.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/ClientTXStateStub.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/ClientTXStateStub.java index ded789e..ab5701c 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/ClientTXStateStub.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/ClientTXStateStub.java @@ -21,7 +21,7 @@ import java.util.List; import javax.transaction.Status; import org.apache.logging.log4j.Logger; - +import org.apache.geode.GemFireException; import org.apache.geode.cache.CommitConflictException; import org.apache.geode.cache.TransactionDataNodeHasDepartedException; import org.apache.geode.cache.TransactionException; @@ -237,7 +237,13 @@ public class ClientTXStateStub extends TXStateStub { @Override public void beforeCompletion() { obtainLocalLocks(); -this.firstProxy.beforeCompletion(proxy.getTxId().getUniqId()); +try { + this.firstProxy.beforeCompletion(proxy.getTxId().getUniqId()); +} catch (GemFireException e) { + this.lockReq.releaseLocal(); + this.firstProxy.getPool().releaseServerAffinity(); + throw e; +} } public InternalDistributedMember getOriginatingMember() { http://git-wip-us.apache.org/repos/asf/geode/blob/b7f5391d/geode-core/src/test/java/org/apache/geode/internal/jta/ClientServerJTADUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/jta/ClientServerJTADUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/jta/ClientServerJTADUnitTest.java new file mode 100644 index 000..51ef44a --- /dev/null +++ b/geode-core/src/test/java/org/apache/geode/internal/jta/ClientServerJTADUnitTest.java @@ -0,0 +1,143 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.apache.geode.internal.jta; + +import static org.junit.Assert.*; + +import java.io.IOException; +import java.util.Properties; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import javax.transaction.Status; + +import org.apache.geode.GemFireException; +import org.apache.geode.cache.Cache; +import org.apache.geode.cache.Region; +import org.apache.geode.cache.RegionShortcut; +import org.apache.geode.cache.client.ClientCache; +import org.apache.geode.cache.client.ClientCacheFactory; +import org.apache.geode.cache.client.ClientRegionShortcut; +import org.apache.geode.cache.server.CacheServer; +import org.apache.geode.internal.AvailablePortHelper; +import org.apache.geode.internal.cache.TXManagerImpl; +import org.apache.geode.internal.cache.TXStateProxyImpl; +import org.apache.geode.internal.cache.tx.ClientTXStateStub; +import org.apache.geode.test.dunit.Assert; +import org.apache.geode.test.dunit.Host; +import org.apache.geode.test.dunit.VM; +import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase; +import
[09/50] [abbrv] geode git commit: GEODE-2601: Updated based on feedback
GEODE-2601: Updated based on feedback This closes #582 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/87c26be4 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/87c26be4 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/87c26be4 Branch: refs/heads/feature/GEODE-2804v3 Commit: 87c26be495de5a23290231e97826cb434277c66b Parents: 2d3e05e Author: YehEmilyAuthored: Fri Jun 16 09:06:56 2017 -0700 Committer: Ken Howe Committed: Mon Jun 19 10:05:12 2017 -0700 -- .../geode/distributed/internal/InternalDistributedSystem.java | 3 +-- .../org/apache/geode/distributed/internal/InternalLocator.java | 6 ++ 2 files changed, 3 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/87c26be4/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java index 4ed58af..1572355 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java @@ -2189,9 +2189,8 @@ public class InternalDistributedSystem extends DistributedSystem * @param resource the actual resource object. */ private void notifyResourceEventListeners(ResourceEvent event, Object resource) { -for (Iterator iter = resourceListeners.iterator(); iter.hasNext();) { +for (ResourceEventsListener listener : resourceListeners) { try { -ResourceEventsListener listener = iter.next(); listener.handleEvent(event, resource); } catch (CancelException e) { // ignore http://git-wip-us.apache.org/repos/asf/geode/blob/87c26be4/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java index 3ff27ea..6eaaec2 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java @@ -469,15 +469,13 @@ public class InternalLocator extends Locator implements ConnectListener { // if security-log-file then create securityLogWriterAppender LogWriterAppenders.getOrCreateAppender(LogWriterAppenders.Identifier.SECURITY, true, false, this.config, false); - } -// do not create a LogWriterAppender for security -- let it go through to logWriterAppender + // do not create a LogWriterAppender for security -- let it go through to logWriterAppender } // LOG: create LogWriters for GemFireTracer (or use whatever was passed in) if (logWriter == null) { - logWriter = LogWriterFactory.createLogWriterLogger(false, false, this.config, - false); + logWriter = LogWriterFactory.createLogWriterLogger(false, false, this.config, false); if (logger.isDebugEnabled()) { logger.debug("LogWriter for locator is created."); }
[01/50] [abbrv] geode git commit: GEODE-2301 Doc note to deprecate Geode JTA trans mgr [Forced Update!]
Repository: geode Updated Branches: refs/heads/feature/GEODE-2804v3 b73119046 -> ea8840fc9 (forced update) GEODE-2301 Doc note to deprecate Geode JTA trans mgr This closes #581 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/42350f1a Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/42350f1a Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/42350f1a Branch: refs/heads/feature/GEODE-2804v3 Commit: 42350f1ac3a5cac92f60284863a9d704097b5288 Parents: 5546a87 Author: Karen MillerAuthored: Thu Jun 15 10:39:44 2017 -0700 Committer: Karen Miller Committed: Fri Jun 16 09:42:35 2017 -0700 -- geode-docs/developing/transactions/JTA_transactions.html.md.erb | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/42350f1a/geode-docs/developing/transactions/JTA_transactions.html.md.erb -- diff --git a/geode-docs/developing/transactions/JTA_transactions.html.md.erb b/geode-docs/developing/transactions/JTA_transactions.html.md.erb index 3164dce..ffb6082 100644 --- a/geode-docs/developing/transactions/JTA_transactions.html.md.erb +++ b/geode-docs/developing/transactions/JTA_transactions.html.md.erb @@ -190,6 +190,7 @@ See [JCA Resource Adapter Example](jca_adapter_example.html#concept_swv_z2p_wk) ## Using Geode as the JTA Transaction Manager You can also use Geode as the JTA transaction manager. +As of Geode 1.2, Geode's JTA transaction manager is deprecated. Geode ships with its own implementation of a JTA transaction manager. However, note that this implementation is not XA-compliant; therefore, it does not persist any state, which could lead to an inconsistent state after recovering a crashed member.
[15/50] [abbrv] geode git commit: GEODE-3095: fix parameter type mismatch between the diskstore command and controller
GEODE-3095: fix parameter type mismatch between the diskstore command and controller Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/ee5f60c7 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/ee5f60c7 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/ee5f60c7 Branch: refs/heads/feature/GEODE-2804v3 Commit: ee5f60c7fdac7227983a7e3bfac7094593e15ed0 Parents: d8a11d1 Author: Jinmei LiaoAuthored: Mon Jun 19 11:02:20 2017 -0700 Committer: Jinmei Liao Committed: Mon Jun 19 21:18:59 2017 -0700 -- .../web/controllers/DiskStoreCommandsController.java | 11 ++- .../management/internal/security/TestCommand.java| 15 +-- 2 files changed, 15 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/ee5f60c7/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/DiskStoreCommandsController.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/DiskStoreCommandsController.java b/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/DiskStoreCommandsController.java index c613a8a..2e06811 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/DiskStoreCommandsController.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/DiskStoreCommandsController.java @@ -14,9 +14,8 @@ */ package org.apache.geode.management.internal.web.controllers; -import org.apache.geode.internal.lang.StringUtils; -import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.management.internal.cli.util.CommandStringBuilder; +import java.util.concurrent.Callable; + import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; @@ -25,7 +24,9 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import java.util.concurrent.Callable; +import org.apache.geode.internal.lang.StringUtils; +import org.apache.geode.management.internal.cli.i18n.CliStrings; +import org.apache.geode.management.internal.cli.util.CommandStringBuilder; /** * The DiskStoreCommandsController class implements GemFire Management REST API web service @@ -107,7 +108,7 @@ public class DiskStoreCommandsController extends AbstractCommandsController { @RequestParam(value = CliStrings.CREATE_DISK_STORE__DISK_USAGE_WARNING_PCT, defaultValue = "90") final Float diskUsageWarningPercentage, @RequestParam(value = CliStrings.CREATE_DISK_STORE__DISK_USAGE_CRITICAL_PCT, - defaultValue = "99") final Integer diskUsageCriticalPercentage, + defaultValue = "99") final Float diskUsageCriticalPercentage, @RequestParam(value = CliStrings.GROUP, required = false) final String[] groups) { CommandStringBuilder command = new CommandStringBuilder(CliStrings.CREATE_DISK_STORE); http://git-wip-us.apache.org/repos/asf/geode/blob/ee5f60c7/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java -- diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java b/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java index ea4b60d..800d0da 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java @@ -14,14 +14,16 @@ */ package org.apache.geode.management.internal.security; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import org.apache.shiro.authz.Permission; + import org.apache.geode.security.ResourcePermission; -import org.apache.geode.security.ResourcePermission.Target; import org.apache.geode.security.ResourcePermission.Operation; import org.apache.geode.security.ResourcePermission.Resource; -import org.apache.shiro.authz.Permission; - -import java.util.ArrayList; -import java.util.List; +import org.apache.geode.security.ResourcePermission.Target; public class TestCommand { @@ -77,7 +79,8 @@ public class TestCommand { } public static List getCommands() { -return testCommands; +// returns a copy of the list every time +return testCommands.stream().collect(Collectors.toList()); } public static List getPermittedCommands(Permission permission) {
[04/50] [abbrv] geode git commit: GEODE-2854: GEODE REST API Docs Missing Authentication This closes #583
GEODE-2854: GEODE REST API Docs Missing Authentication This closes #583 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/78f08e8a Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/78f08e8a Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/78f08e8a Branch: refs/heads/feature/GEODE-2804v3 Commit: 78f08e8a224cf99ff9981acacbf88452911f9069 Parents: dbc3197 Author: Dave BarnesAuthored: Thu Jun 15 13:43:41 2017 -0700 Committer: Dave Barnes Committed: Fri Jun 16 15:47:05 2017 -0700 -- .../source/subnavs/geode-subnav.erb | 8 +- geode-docs/rest_apps/setup_config.html.md.erb | 269 --- 2 files changed, 176 insertions(+), 101 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/78f08e8a/geode-book/master_middleman/source/subnavs/geode-subnav.erb -- diff --git a/geode-book/master_middleman/source/subnavs/geode-subnav.erb b/geode-book/master_middleman/source/subnavs/geode-subnav.erb index aa0faf4..37c0b83 100644 --- a/geode-book/master_middleman/source/subnavs/geode-subnav.erb +++ b/geode-book/master_middleman/source/subnavs/geode-subnav.erb @@ -1576,8 +1576,14 @@ limitations under the License. Prerequisites and Limitations for Writing REST Applications - + Setup and Configuration + +Enabling the REST API +Starting the REST API Service +Implementing Authentication +Programmatic Startup + Using the Swagger UI to Browse REST APIs http://git-wip-us.apache.org/repos/asf/geode/blob/78f08e8a/geode-docs/rest_apps/setup_config.html.md.erb -- diff --git a/geode-docs/rest_apps/setup_config.html.md.erb b/geode-docs/rest_apps/setup_config.html.md.erb index 566b1a2..c557f4f 100644 --- a/geode-docs/rest_apps/setup_config.html.md.erb +++ b/geode-docs/rest_apps/setup_config.html.md.erb @@ -19,7 +19,10 @@ See the License for the specific language governing permissions and limitations under the License. --> -The Apache Geode developer REST interface runs as an embedded HTTP or HTTPS service (Jetty server) within a Geode data node. +The Apache Geode Developer REST interface runs as an embedded HTTP or HTTPS service (Jetty server) within one +or more Geode servers. + +# REST API Libraries All Geode REST interface classes and required JAR files are distributed as a WAR file with the Geode product distribution. You can find the file in the following location: @@ -29,162 +32,228 @@ All Geode REST interface classes and required JAR files are distributed as a WAR where _install-dir_ is the server installation directory and _n.n.n_ is a version number. -To enable the developer REST API service in Apache Geode, set the `start-dev-rest-api` Geode property to `true` when starting a data node using either `gfsh` or the ServerLauncher API. Setting this property to true on a data node will start up an embedded Jetty server and deploy the REST developer API WAR file. +# Enabling the REST API + +The REST API service for application development runs only on servers; you cannot run the service on a locator. -**Note:** -The REST API service for application development runs only on servers; you cannot use locators to host the developer Geode REST API services. +To enable the Developer REST API service on a given server, set the `start-dev-rest-api` property +to `true` for the server, using either the `gfsh start server` command or the ServerLauncher API. +This starts an embedded Jetty server and deploys the Developer REST API WAR file on that server. -You can have multiple REST enabled data nodes in a single distributed system. Each data node should -have a separate host name and unique end point. To ensure that the data node is reachable on a -machine with multiple NIC addresses, you can use `http-service-bind-address` to bind an address to -the REST API service (as well as the other embedded web services such as Pulse). +## Enabling the REST API on Multiple Servers -You can also configure the Developer REST API service to run over -HTTPS by enabling ssl for the `http` component in `gemfire.properties` -or `gfsecurity.properties` or on server startup: -See [SSL](../managing/security/ssl_overview.html) for details on configuring SSL parameters. -These SSL parameters apply to all HTTP services hosted on the configured
[48/50] [abbrv] geode git commit: GEODE-2919: revert: fix lucene security tests
GEODE-2919: revert: fix lucene security tests Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/718583b2 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/718583b2 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/718583b2 Branch: refs/heads/feature/GEODE-2804v3 Commit: 718583b294857a1263d123b8f12ed2ac4931f477 Parents: e5204ce Author: Jinmei LiaoAuthored: Tue Jun 27 09:25:49 2017 -0700 Committer: Jinmei Liao Committed: Tue Jun 27 09:25:49 2017 -0700 -- .../lucene/LuceneClientSecurityDUnitTest.java | 14 +- .../lucene/LuceneCommandsSecurityDUnitTest.java | 293 +++ .../lucene/LuceneCommandsSecurityTest.java | 269 - 3 files changed, 299 insertions(+), 277 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/718583b2/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java -- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java index f71caec..f78e19f 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java @@ -50,7 +50,7 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase { @Test @Parameters(method = "getSearchIndexUserNameAndExpectedResponses") public void verifySearchIndexPermissions( - LuceneCommandsSecurityTest.UserNameAndExpectedResponse user) { + LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse user) { // Start server int serverPort = dataStore1.invoke(() -> startCacheServer()); @@ -97,16 +97,14 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase { } catch (ServerOperationException e) { assertTrue(e.getCause() != null && e.getCause() instanceof NotAuthorizedException); assertTrue(expectAuthorizationError); - if (expectedResponse != null) { -assertTrue(e.getLocalizedMessage().contains(expectedResponse)); - } + assertTrue(e.getLocalizedMessage().contains(expectedResponse)); } } - protected LuceneCommandsSecurityTest.UserNameAndExpectedResponse[] getSearchIndexUserNameAndExpectedResponses() { -return new LuceneCommandsSecurityTest.UserNameAndExpectedResponse[] { -new LuceneCommandsSecurityTest.UserNameAndExpectedResponse("nopermissions", true, + protected LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse[] getSearchIndexUserNameAndExpectedResponses() { +return new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse[] { +new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse("nopermissions", true, "nopermissions not authorized for DATA:WRITE"), -new LuceneCommandsSecurityTest.UserNameAndExpectedResponse("datawrite", false)}; +new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse("datawrite", false, null)}; } } http://git-wip-us.apache.org/repos/asf/geode/blob/718583b2/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java -- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java new file mode 100644 index 000..7116601 --- /dev/null +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java @@ -0,0 +1,293 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.apache.geode.cache.lucene; + +import static org.apache.geode.cache.lucene.test.LuceneTestUtilities.INDEX_NAME; +import static
[38/50] [abbrv] geode git commit: GEODE-2995: Implementing review feedback
GEODE-2995: Implementing review feedback Numerous tweaks and fixes Created protobuf package under org.apache.geode.protocol and moved several classes Added javadoc comments Signed-off-by: Galen O'SullivanProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/31f4de06 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/31f4de06 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/31f4de06 Branch: refs/heads/feature/GEODE-2804v3 Commit: 31f4de065bd32b5801017427a14cec142c5897fc Parents: c71c28d Author: Brian Rowe Authored: Tue Jun 20 15:49:11 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- geode-protobuf/build.gradle | 2 - .../org/apache/geode/ProtobufUtilities.java | 34 .../org/apache/geode/protocol/OpsProcessor.java | 53 .../InvalidProtocolMessageException.java| 3 + .../handler/ProtobufStreamProcessor.java| 61 -- .../geode/protocol/handler/ProtocolHandler.java | 27 -- .../protobuf/ProtobufProtocolHandler.java | 41 - .../protocol/operations/OperationHandler.java | 10 +++ .../ProtobufRequestOperationParser.java | 33 .../protobuf/GetRequestOperationHandler.java| 59 - .../registry/OperationsHandlerRegistry.java | 3 + ...rationHandlerAlreadyRegisteredException.java | 3 + .../OperationHandlerNotRegisteredException.java | 3 + .../protobuf/EncodingTypeTranslator.java| 86 +++ .../protocol/protobuf/ProtobufOpsProcessor.java | 66 +++ .../protobuf/ProtobufSerializationService.java | 51 .../protobuf/ProtobufStreamProcessor.java | 60 + .../protocol/protobuf/ProtobufUtilities.java| 34 .../operations/GetRequestOperationHandler.java | 58 + .../serializer/ProtobufProtocolSerializer.java | 41 + .../protocol/serializer/ProtocolSerializer.java | 31 +++ .../ProtobufSerializationService.java | 50 --- .../UnsupportedEncodingTypeException.java | 3 + .../translation/EncodingTypeTranslator.java | 83 -- .../UnsupportedEncodingTypeException.java | 21 - .../CodecAlreadyRegisteredForTypeException.java | 3 + .../CodecNotRegisteredForTypeException.java | 3 + ...pache.geode.protocol.handler.ProtocolHandler | 1 - ...e.geode.protocol.operations.OperationHandler | 2 +- ...geode.protocol.serializer.ProtocolSerializer | 1 + .../geode/client/protocol/IntegrationTest.java | 32 +++ .../geode/client/protocol/OpsProcessorTest.java | 64 -- .../ProtobufProtocolHandlerJUnitTest.java | 88 .../GetRequestOperationHandlerTest.java | 4 +- .../protobuf/ProtobufOpsProcessorTest.java | 62 ++ .../ProtobufProtocolSerializerJUnitTest.java| 81 ++ .../ProtobufSerializationServiceImplTest.java | 5 +- ...eToSerializationTypeTranslatorJUnitTest.java | 1 + .../registry/CodecRegistryJUnitTest.java| 16 ++-- 39 files changed, 632 insertions(+), 647 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/build.gradle -- diff --git a/geode-protobuf/build.gradle b/geode-protobuf/build.gradle index 2102f6a..f069267 100644 --- a/geode-protobuf/build.gradle +++ b/geode-protobuf/build.gradle @@ -44,13 +44,11 @@ protobuf { // The artifact spec for the Protobuf Compiler artifact = 'com.google.protobuf:protoc:3.0.0' } -// this allows our spotless rule to skip this directory (hopefully rat too) generatedFilesBaseDir = "$buildDir/generated-src/proto" } sourceSets { main { - java { srcDir 'build/generated-src/proto/main/java' } http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java b/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java deleted file mode 100644 index c25fc14..000 --- a/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file
[27/50] [abbrv] geode git commit: GEODE-2919: Provide finer grained security
http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java index c04820e..21d89c1 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java @@ -14,6 +14,20 @@ */ package org.apache.geode.management.internal.cli.commands; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.stream.Stream; + +import org.apache.commons.lang.BooleanUtils; +import org.springframework.shell.core.annotation.CliCommand; +import org.springframework.shell.core.annotation.CliOption; + import org.apache.geode.SystemFailure; import org.apache.geode.cache.Region; import org.apache.geode.cache.execute.Execution; @@ -40,7 +54,6 @@ import org.apache.geode.management.internal.cli.functions.ListFunctionFunction; import org.apache.geode.management.internal.cli.functions.UnregisterFunction; import org.apache.geode.management.internal.cli.functions.UserFunctionExecution; import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.management.internal.cli.result.CommandResultException; import org.apache.geode.management.internal.cli.result.CompositeResultData; import org.apache.geode.management.internal.cli.result.ErrorResultData; import org.apache.geode.management.internal.cli.result.ResultBuilder; @@ -48,18 +61,7 @@ import org.apache.geode.management.internal.cli.result.TabularResultData; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission.Operation; import org.apache.geode.security.ResourcePermission.Resource; -import org.springframework.shell.core.annotation.CliAvailabilityIndicator; -import org.springframework.shell.core.annotation.CliCommand; -import org.springframework.shell.core.annotation.CliOption; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; +import org.apache.geode.security.ResourcePermission.Target; /** * @since GemFire 7.0 @@ -77,25 +79,18 @@ public class FunctionCommands implements GfshCommand { @CliOption(key = CliStrings.EXECUTE_FUNCTION__ID, mandatory = true, help = CliStrings.EXECUTE_FUNCTION__ID__HELP) String functionId, @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS}, - unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, optionContext = ConverterHint.MEMBERGROUP, help = CliStrings.EXECUTE_FUNCTION__ONGROUPS__HELP) String[] onGroups, - @CliOption(key = CliStrings.MEMBER, - unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, - optionContext = ConverterHint.MEMBERIDNAME, + @CliOption(key = CliStrings.MEMBER, optionContext = ConverterHint.MEMBERIDNAME, help = CliStrings.EXECUTE_FUNCTION__ONMEMBER__HELP) String onMember, @CliOption(key = CliStrings.EXECUTE_FUNCTION__ONREGION, - unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, optionContext = ConverterHint.REGION_PATH, help = CliStrings.EXECUTE_FUNCTION__ONREGION__HELP) String onRegion, @CliOption(key = CliStrings.EXECUTE_FUNCTION__ARGUMENTS, - unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, help = CliStrings.EXECUTE_FUNCTION__ARGUMENTS__HELP) String[] arguments, @CliOption(key = CliStrings.EXECUTE_FUNCTION__RESULTCOLLECTOR, - unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, help = CliStrings.EXECUTE_FUNCTION__RESULTCOLLECTOR__HELP) String resultCollector, @CliOption(key = CliStrings.EXECUTE_FUNCTION__FILTER, - unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, help = CliStrings.EXECUTE_FUNCTION__FILTER__HELP) String filterString) { Result result = null; @@ -105,8 +100,8 @@ public class FunctionCommands implements GfshCommand { resultTable.setHeader(headerText); ResultCollector resultCollectorInstance = null; Function function; -Set filters = new HashSet(); -Execution execution = null; +Set filters = new HashSet<>(); +Execution execution; if (functionId != null) { functionId = functionId.trim(); } @@ -130,31 +125,8 @@ public class FunctionCommands
[29/50] [abbrv] geode git commit: GEODE-2919: Provide finer grained security
GEODE-2919: Provide finer grained security - For full details, see https://cwiki.apache.org/confluence/display/GEODE/Finer+grained+security Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/451d12e8 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/451d12e8 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/451d12e8 Branch: refs/heads/feature/GEODE-2804v3 Commit: 451d12e83c2457c22535ae684995e973ba8d3dd2 Parents: 3ee585c Author: Patrick RhombergAuthored: Wed Jun 21 10:51:32 2017 -0700 Committer: Jared Stewart Committed: Fri Jun 23 15:46:01 2017 -0700 -- .../geode/management/CacheServerMXBean.java | 122 ++--- .../geode/management/DiskStoreMXBean.java | 68 +-- .../management/DistributedSystemMXBean.java | 174 +++ .../geode/management/GatewayReceiverMXBean.java | 75 +-- .../geode/management/GatewaySenderMXBean.java | 88 ++-- .../geode/management/LockServiceMXBean.java | 20 +- .../apache/geode/management/MemberMXBean.java | 263 +- .../internal/beans/DistributedSystemMBean.java | 21 +- .../management/internal/beans/MemberMBean.java | 7 +- .../internal/beans/MemberMBeanBridge.java | 4 +- .../internal/cli/commands/ClientCommands.java | 90 ++-- .../CreateAlterDestroyRegionCommands.java | 43 +- .../internal/cli/commands/DataCommands.java | 64 ++- .../internal/cli/commands/DeployCommands.java | 34 +- .../cli/commands/DiskStoreCommands.java | 222 - .../cli/commands/DurableClientCommands.java | 90 ++-- .../internal/cli/commands/FunctionCommands.java | 136 ++ .../internal/cli/commands/GfshCommand.java | 20 +- .../internal/cli/commands/IndexCommands.java| 138 +++--- .../cli/commands/MiscellaneousCommands.java | 258 +- .../internal/cli/commands/PDXCommands.java | 39 +- .../internal/cli/commands/QueueCommands.java| 55 +-- .../internal/cli/commands/RegionCommands.java | 76 ++- .../internal/cli/commands/WanCommands.java | 219 + .../commands/lifecycle/StartPulseCommand.java | 18 +- .../cli/functions/ContinuousQueryFunction.java | 148 ++ .../cli/functions/ContunuousQueryFunction.java | 150 -- .../cli/functions/RegionFunctionArgs.java | 26 +- .../cli/functions/UserFunctionExecution.java| 42 +- .../internal/cli/i18n/CliStrings.java | 44 +- .../internal/cli/remote/CommandProcessor.java | 17 +- .../internal/security/MBeanServerWrapper.java | 38 +- .../MemberMBeanAttributesDUnitTest.java | 35 +- .../bean/stats/MemberLevelStatsJUnitTest.java | 8 +- .../CreateAlterDestroyRegionCommandsTest.java | 17 +- ...CacheServerMBeanAuthenticationJUnitTest.java | 20 +- .../CacheServerMBeanAuthorizationJUnitTest.java | 42 +- ...eServerMBeanWithShiroIniIntegrationTest.java | 15 +- .../security/CliCommandsSecurityTest.java | 34 +- .../security/DataCommandsSecurityTest.java | 13 +- .../security/DeployCommandsSecurityTest.java| 28 +- .../DiskStoreMXBeanSecurityJUnitTest.java | 98 ++-- .../DistributedSystemMXBeanSecurityTest.java| 77 +++ .../GatewayReceiverMBeanSecurityTest.java | 42 +- .../GatewaySenderMBeanSecurityTest.java | 68 +-- .../security/GfshCommandsPostProcessorTest.java | 28 +- .../security/GfshCommandsSecurityTest.java | 76 +-- .../LockServiceMBeanAuthorizationJUnitTest.java | 73 ++- .../security/MBeanSecurityJUnitTest.java| 30 +- .../ManagerMBeanAuthorizationJUnitTest.java | 30 +- .../security/MemberMBeanSecurityJUnitTest.java | 51 +- .../internal/security/MultiUserDUnitTest.java | 102 ++-- .../security/ResourcePermissionTest.java| 13 +- .../internal/security/TestCommand.java | 157 +++--- .../dunit/rules/LocatorServerStartupRule.java | 19 +- .../test/dunit/rules/MemberStarterRule.java | 6 + .../codeAnalysis/sanctionedSerializables.txt| 4 +- .../cli/commands/ClientCommandsDUnitTest.java | 478 ++- .../internal/cli/LuceneIndexCommands.java | 58 ++- .../lucene/internal/cli/LuceneIndexInfo.java| 10 - .../functions/LuceneCreateIndexFunction.java| 14 +- .../lucene/LuceneCommandsSecurityDUnitTest.java | 126 +++-- .../GfshCommandsOverHttpSecurityTest.java | 4 +- 63 files changed, 2342 insertions(+), 2243 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/main/java/org/apache/geode/management/CacheServerMXBean.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/CacheServerMXBean.java
[12/50] [abbrv] geode git commit: Merge branch 'feature/GEODE-3071' into develop
Merge branch 'feature/GEODE-3071' into develop Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/80667f30 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/80667f30 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/80667f30 Branch: refs/heads/feature/GEODE-2804v3 Commit: 80667f30ef66d52987235374f3c95f6a39e0cd78 Parents: 8db7862 dba7dcd Author: Jens DeppeAuthored: Mon Jun 19 14:22:22 2017 -0700 Committer: Jens Deppe Committed: Mon Jun 19 14:22:22 2017 -0700 -- build.gradle | 7 gradle.properties| 7 gradle/docker.gradle | 100 ++ 3 files changed, 114 insertions(+) --
[45/50] [abbrv] geode git commit: Move new exception to sanctioned serializables.
Move new exception to sanctioned serializables. Although we don't serialize it, exceptions sometimes get sent between JVMs so it's best to be careful. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/e1c6c3a9 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/e1c6c3a9 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/e1c6c3a9 Branch: refs/heads/feature/GEODE-2804v3 Commit: e1c6c3a973413045c595fcf31a01c269e7df7e82 Parents: da64fc6 Author: Galen OSullivanAuthored: Fri Jun 23 10:42:45 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:23 2017 -0700 -- .../resources/org/apache/geode/codeAnalysis/excludedClasses.txt | 1 - .../org/apache/geode/codeAnalysis/sanctionedSerializables.txt | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/e1c6c3a9/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt index c2629f1..6a6e0c1 100644 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt @@ -7,7 +7,6 @@ org/apache/geode/distributed/LocatorLauncher$Command org/apache/geode/distributed/ServerLauncher org/apache/geode/distributed/ServerLauncher$Command org/apache/geode/distributed/internal/DistributionManager -org/apache/geode/internal/cache/tier/sockets/ServiceLoadingFailureException org/apache/geode/internal/JarDeployer org/apache/geode/internal/logging/GemFireLevel org/apache/geode/internal/logging/LoggingThreadGroup http://git-wip-us.apache.org/repos/asf/geode/blob/e1c6c3a9/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt index 135f509..e5a111c 100755 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt @@ -340,6 +340,7 @@ org/apache/geode/internal/cache/tier/sockets/CacheClientNotifier$2,false,this$0: org/apache/geode/internal/cache/tier/sockets/CacheClientProxy$MessageDispatcher$1,true,0,this$0:org/apache/geode/internal/cache/tier/sockets/CacheClientProxy$MessageDispatcher org/apache/geode/internal/cache/tier/sockets/ClientTombstoneMessage$TOperation,false org/apache/geode/internal/cache/tier/sockets/MessageTooLargeException,true,-8970585803331525833 +org/apache/geode/internal/cache/tier/sockets/ServiceLoadingFailureException,false org/apache/geode/internal/cache/tier/sockets/UnregisterAllInterest,true,5026160621257178459 org/apache/geode/internal/cache/tx/TransactionalOperation$ServerRegionOperation,false org/apache/geode/internal/cache/versions/ConcurrentCacheModificationException,true,2316928221010347462
[50/50] [abbrv] geode git commit: GEODE-2804 Caching the InetAddress for configured ip string
GEODE-2804 Caching the InetAddress for configured ip string 1. We keep configure host string in HostAddress class 2. We reuse InetsocketAddress if it is ipString. 3. Client has logic to retry thus we keep InetsocketAddress even if it is not ip string. GEODE-3017 IPv6 issue on windows. Above changes fixed this issue. GEODE-2940 Now we don't validate configure host string on start. As there is possibility that host may not available. 1. Earlier wan config were failing because of that. Now we just keep those configure host string. And try this later. Added unit tests for it. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/ea8840fc Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/ea8840fc Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/ea8840fc Branch: refs/heads/feature/GEODE-2804v3 Commit: ea8840fc98c794e58f380fb6a82f1002f195152e Parents: 3a46b79 Author: Hitesh KhamesraAuthored: Tue Jun 27 12:51:12 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jun 27 12:54:17 2017 -0700 -- geode-assembly/build.gradle | 1 + .../src/test/resources/expected_jars.txt| 3 +- geode-core/build.gradle | 3 + .../admin/internal/DistributionLocatorImpl.java | 6 +- .../internal/AutoConnectionSourceImpl.java | 133 +++ .../geode/cache/client/internal/PoolImpl.java | 15 ++- .../internal/AbstractDistributionConfig.java| 8 +- .../internal/InternalDistributedSystem.java | 6 +- .../internal/membership/gms/GMSUtil.java| 11 +- .../membership/gms/locator/GMSLocator.java | 9 +- .../membership/gms/membership/GMSJoinLeave.java | 8 +- .../membership/gms/membership/HostAddress.java | 118 .../internal/tcpserver/TcpClient.java | 3 +- .../admin/remote/DistributionLocatorId.java | 45 +-- .../admin/remote/RemoteTransportConfig.java | 5 +- .../cache/ClusterConfigurationLoader.java | 2 +- .../geode/internal/cache/PoolFactoryImpl.java | 30 +++-- .../internal/AutoConnectionSourceDUnitTest.java | 12 +- .../AutoConnectionSourceImplJUnitTest.java | 84 ++-- .../internal/DistributionConfigJUnitTest.java | 2 +- .../internal/StartupMessageDataJUnitTest.java | 4 +- .../gms/membership/GMSJoinLeaveJUnitTest.java | 1 + .../geode/codeAnalysis/excludedClasses.txt | 3 +- .../internal/locator/wan/LocatorDiscovery.java | 10 +- .../wan/LocatorMembershipListenerImpl.java | 8 +- .../cache/wan/AbstractRemoteGatewaySender.java | 4 +- .../wan/misc/WanAutoDiscoveryDUnitTest.java | 7 +- gradle/dependency-versions.properties | 1 + 28 files changed, 403 insertions(+), 139 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/ea8840fc/geode-assembly/build.gradle -- diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index 39bb542..95ccc70 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -140,6 +140,7 @@ def cp = { it.contains('commons-collections') || it.contains('commons-lang') || it.contains('commons-logging') || +it.contains('commons-validator') || it.contains('fast-classpath-scanner') || it.contains('fastutil') || it.contains('jackson-annotations') || http://git-wip-us.apache.org/repos/asf/geode/blob/ea8840fc/geode-assembly/src/test/resources/expected_jars.txt -- diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt index 6260167..b0e7154 100644 --- a/geode-assembly/src/test/resources/expected_jars.txt +++ b/geode-assembly/src/test/resources/expected_jars.txt @@ -85,4 +85,5 @@ springfox-spring-web springfox-swagger springfox-swagger-common springfox-swagger-ui -swagger-models \ No newline at end of file +swagger-models +commons-validator http://git-wip-us.apache.org/repos/asf/geode/blob/ea8840fc/geode-core/build.gradle -- diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 7f34b4a..9ecb0f9 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -39,6 +39,8 @@ dependencies { compile 'antlr:antlr:' + project.'antlr.version' compile 'com.fasterxml.jackson.core:jackson-databind:' + project.'jackson.version' compile 'commons-io:commons-io:' + project.'commons-io.version' + compile 'commons-validator:commons-validator:' + project.'commons-validator.version' +
[39/50] [abbrv] geode git commit: GEODE-2995: more review feedback and spotlessApply
GEODE-2995: more review feedback and spotlessApply Signed-off-by: Brian RoweProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0de1d97e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0de1d97e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0de1d97e Branch: refs/heads/feature/GEODE-2804v3 Commit: 0de1d97ea229ec43203437f58971c44fe37cef62 Parents: 31f4de0 Author: Galen O'Sullivan Authored: Tue Jun 20 16:58:51 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../protocol/operations/OperationHandler.java | 20 -- ...rationHandlerAlreadyRegisteredException.java | 3 ++- .../protocol/protobuf/ProtobufOpsProcessor.java | 22 ++-- .../protobuf/ProtobufStreamProcessor.java | 7 +-- .../protocol/serializer/ProtocolSerializer.java | 1 + .../serialization/SerializationService.java | 7 ++- .../geode/serialization/SerializationType.java | 3 +++ .../apache/geode/serialization/TypeCodec.java | 10 + .../exception/TypeEncodingException.java| 21 +++ .../UnsupportedEncodingTypeException.java | 2 +- .../CodecAlreadyRegisteredForTypeException.java | 3 ++- .../CodecNotRegisteredForTypeException.java | 4 +++- .../geode/client/protocol/IntegrationTest.java | 3 +-- .../protobuf/ProtobufOpsProcessorTest.java | 10 - .../ProtobufProtocolSerializerJUnitTest.java| 2 +- 15 files changed, 86 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/0de1d97e/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java index 8eab146..7683e3b 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java @@ -15,23 +15,31 @@ package org.apache.geode.protocol.operations; import org.apache.geode.cache.Cache; -import org.apache.geode.protocol.protobuf.ProtobufOpsProcessor; import org.apache.geode.protocol.operations.registry.OperationsHandlerRegistry; +import org.apache.geode.protocol.protobuf.ProtobufOpsProcessor; import org.apache.geode.serialization.SerializationService; -import org.apache.geode.serialization.exception.UnsupportedEncodingTypeException; -import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTypeException; +import org.apache.geode.serialization.exception.TypeEncodingException; /** - * This interface is implemented by a object capable of handling request types 'Req' and returning an a response of type 'Resp' + * This interface is implemented by a object capable of handling request types 'Req' and returning + * an a response of type 'Resp' * * See {@link ProtobufOpsProcessor} */ public interface OperationHandler { + /** + * Decode the message, deserialize contained values using the serialization service, do the work + * indicated on the provided cache, and return a response. + * + * @throws TypeEncodingException if a problem occurs decoding an encoded value contained in the + * request. + */ Resp process(SerializationService serializationService, Req request, Cache cache) - throws UnsupportedEncodingTypeException, CodecNotRegisteredForTypeException; + throws TypeEncodingException; /** - * @return the magic number used for registering the operation type with the {@link OperationsHandlerRegistry}. + * @return the magic number used for registering the operation type with the + * {@link OperationsHandlerRegistry}. */ int getOperationCode(); } http://git-wip-us.apache.org/repos/asf/geode/blob/0de1d97e/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java index 519698d..18475d8 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java +++
[31/50] [abbrv] geode git commit: Revert: GEODE-2924: fix lucene commands security test
Revert: GEODE-2924: fix lucene commands security test Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/658b20fa Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/658b20fa Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/658b20fa Branch: refs/heads/feature/GEODE-2804v3 Commit: 658b20fab920b34ea1c240d26227da48e6644e64 Parents: 8053450 Author: Jinmei LiaoAuthored: Sun Jun 25 07:44:09 2017 -0700 Committer: Jinmei Liao Committed: Sun Jun 25 07:44:09 2017 -0700 -- .../geode/internal/util/PasswordUtil.java | 27 +- .../lucene/LuceneClientSecurityDUnitTest.java | 18 +- .../lucene/LuceneCommandsSecurityDUnitTest.java | 291 +++ .../lucene/LuceneCommandsSecurityTest.java | 263 - 4 files changed, 317 insertions(+), 282 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/658b20fa/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java b/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java index 2495959..5cc3bcd 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java +++ b/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java @@ -49,20 +49,23 @@ public class PasswordUtil { */ @Deprecated public static String decrypt(String password) { +String toDecrypt; if (password.startsWith("encrypted(") && password.endsWith(")")) { - byte[] decrypted = null; - try { -String toDecrypt = password.substring(10, password.length() - 1); -SecretKeySpec key = new SecretKeySpec(init, "Blowfish"); -Cipher cipher = Cipher.getInstance("Blowfish"); -cipher.init(Cipher.DECRYPT_MODE, key); -decrypted = cipher.doFinal(hexStringToByteArray(toDecrypt)); -return new String(decrypted); - } catch (Exception e) { -e.printStackTrace(); - } + toDecrypt = password.substring(10, password.length() - 1); +} else { + toDecrypt = password; } -return password; +byte[] decrypted; +try { + SecretKeySpec key = new SecretKeySpec(init, "Blowfish"); + Cipher cipher = Cipher.getInstance("Blowfish"); + cipher.init(Cipher.DECRYPT_MODE, key); + decrypted = cipher.doFinal(hexStringToByteArray(toDecrypt)); + return new String(decrypted); +} catch (Exception e) { + e.printStackTrace(); +} +return toDecrypt; } private static byte[] hexStringToByteArray(String s) { http://git-wip-us.apache.org/repos/asf/geode/blob/658b20fa/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java -- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java index 7ab3365..f78e19f 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java @@ -50,7 +50,7 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase { @Test @Parameters(method = "getSearchIndexUserNameAndExpectedResponses") public void verifySearchIndexPermissions( - LuceneCommandsSecurityTest.UserNameAndExpectedResponse user) { + LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse user) { // Start server int serverPort = dataStore1.invoke(() -> startCacheServer()); @@ -58,7 +58,8 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase { accessor.invoke(() -> startClient(user.getUserName(), serverPort)); // Attempt query -accessor.invoke(() -> executeTextSearch(user.getExpectAuthorizationError())); +accessor.invoke( +() -> executeTextSearch(user.getExpectAuthorizationError(), user.getExpectedResponse())); } private int startCacheServer() throws IOException { @@ -85,7 +86,8 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase { clientCache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY).create(REGION_NAME); } - private void executeTextSearch(boolean expectAuthorizationError) throws LuceneQueryException { + private void executeTextSearch(boolean expectAuthorizationError, String expectedResponse) + throws LuceneQueryException { LuceneService service = LuceneServiceProvider.get(getCache()); LuceneQuery
[03/50] [abbrv] geode git commit: GEODE-3072: Ignore dunit test
GEODE-3072: Ignore dunit test Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/dbc3197f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/dbc3197f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/dbc3197f Branch: refs/heads/feature/GEODE-2804v3 Commit: dbc3197f3645f6beab058ad1bfe82e12860617c6 Parents: 4bf80a6 Author: Barry OglesbyAuthored: Fri Jun 16 14:17:23 2017 -0700 Committer: Barry Oglesby Committed: Fri Jun 16 14:17:23 2017 -0700 -- .../internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/dbc3197f/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java index fa68781..5fb8fa2 100755 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java @@ -96,7 +96,7 @@ public class ClientServerMiscBCDUnitTest extends ClientServerMiscDUnitTest { }); } - //@Test + // @Test @Ignore public void testDistributedMemberBytesWithCurrentServerAndOldClient() throws Exception { // Start current version server
[14/50] [abbrv] geode git commit: GEODE-3056: fix the message for invalid partition-resolver
GEODE-3056: fix the message for invalid partition-resolver Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/d8a11d1e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/d8a11d1e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/d8a11d1e Branch: refs/heads/feature/GEODE-2804v3 Commit: d8a11d1e4a4ccc78ddc3f86db172edf0dddf7215 Parents: d8160d6 Author: Jinmei LiaoAuthored: Mon Jun 19 09:53:39 2017 -0700 Committer: Jinmei Liao Committed: Mon Jun 19 17:09:30 2017 -0700 -- .../CreateAlterDestroyRegionCommands.java | 13 ++-- .../CreateAlterDestroyRegionCommandsTest.java | 65 2 files changed, 73 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/d8a11d1e/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java index bf22854..b762396 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java @@ -612,14 +612,17 @@ public class CreateAlterDestroyRegionCommands implements GfshCommand { } } - private void validateRegionFunctionArgs(InternalCache cache, - RegionFunctionArgs regionFunctionArgs) { + DistributedSystemMXBean getDSMBean(InternalCache cache) { +ManagementService managementService = ManagementService.getExistingManagementService(cache); +return managementService.getDistributedSystemMXBean(); + } + + void validateRegionFunctionArgs(InternalCache cache, RegionFunctionArgs regionFunctionArgs) { if (regionFunctionArgs.getRegionPath() == null) { throw new IllegalArgumentException(CliStrings.CREATE_REGION__MSG__SPECIFY_VALID_REGION_PATH); } -ManagementService managementService = ManagementService.getExistingManagementService(cache); -DistributedSystemMXBean dsMBean = managementService.getDistributedSystemMXBean(); +DistributedSystemMXBean dsMBean = getDSMBean(cache); String useAttributesFrom = regionFunctionArgs.getUseAttributesFrom(); if (useAttributesFrom != null && !useAttributesFrom.isEmpty() @@ -840,7 +843,7 @@ public class CreateAlterDestroyRegionCommands implements GfshCommand { } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { throw new IllegalArgumentException( CliStrings.format(CliStrings.CREATE_REGION__MSG__INVALID_PARTITION_RESOLVER, - new Object[] {regionFunctionArgs.getCompressor()}), + new Object[] {regionFunctionArgs.getPartitionResolver()}), e); } } http://git-wip-us.apache.org/repos/asf/geode/blob/d8a11d1e/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java new file mode 100644 index 000..155b1ad --- /dev/null +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.geode.management.internal.cli.commands; + + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy;
[30/50] [abbrv] geode git commit: GEODE-2924: fix lucene commands security test
GEODE-2924: fix lucene commands security test Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/80534501 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/80534501 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/80534501 Branch: refs/heads/feature/GEODE-2804v3 Commit: 8053450143007ffaa7d92ae23d9e289129b97f56 Parents: 451d12e Author: Jinmei LiaoAuthored: Fri Jun 23 17:56:27 2017 -0700 Committer: Jinmei Liao Committed: Fri Jun 23 17:57:13 2017 -0700 -- .../geode/internal/util/PasswordUtil.java | 27 +- .../lucene/LuceneClientSecurityDUnitTest.java | 46 ++- .../lucene/LuceneCommandsSecurityDUnitTest.java | 291 --- .../lucene/LuceneCommandsSecurityTest.java | 263 + 4 files changed, 296 insertions(+), 331 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/80534501/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java b/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java index 5cc3bcd..2495959 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java +++ b/geode-core/src/main/java/org/apache/geode/internal/util/PasswordUtil.java @@ -49,23 +49,20 @@ public class PasswordUtil { */ @Deprecated public static String decrypt(String password) { -String toDecrypt; if (password.startsWith("encrypted(") && password.endsWith(")")) { - toDecrypt = password.substring(10, password.length() - 1); -} else { - toDecrypt = password; + byte[] decrypted = null; + try { +String toDecrypt = password.substring(10, password.length() - 1); +SecretKeySpec key = new SecretKeySpec(init, "Blowfish"); +Cipher cipher = Cipher.getInstance("Blowfish"); +cipher.init(Cipher.DECRYPT_MODE, key); +decrypted = cipher.doFinal(hexStringToByteArray(toDecrypt)); +return new String(decrypted); + } catch (Exception e) { +e.printStackTrace(); + } } -byte[] decrypted; -try { - SecretKeySpec key = new SecretKeySpec(init, "Blowfish"); - Cipher cipher = Cipher.getInstance("Blowfish"); - cipher.init(Cipher.DECRYPT_MODE, key); - decrypted = cipher.doFinal(hexStringToByteArray(toDecrypt)); - return new String(decrypted); -} catch (Exception e) { - e.printStackTrace(); -} -return toDecrypt; +return password; } private static byte[] hexStringToByteArray(String s) { http://git-wip-us.apache.org/repos/asf/geode/blob/80534501/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java -- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java index 3e6b541..7ab3365 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java @@ -14,8 +14,22 @@ */ package org.apache.geode.cache.lucene; +import static org.apache.geode.cache.lucene.test.LuceneTestUtilities.INDEX_NAME; +import static org.apache.geode.cache.lucene.test.LuceneTestUtilities.REGION_NAME; +import static org.apache.geode.distributed.ConfigurationProperties.SECURITY_CLIENT_AUTH_INIT; +import static org.apache.geode.distributed.ConfigurationProperties.SECURITY_MANAGER; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.util.Properties; + import junitparams.JUnitParamsRunner; import junitparams.Parameters; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.runner.RunWith; + import org.apache.geode.cache.Cache; import org.apache.geode.cache.RegionShortcut; import org.apache.geode.cache.client.ClientCache; @@ -26,22 +40,8 @@ import org.apache.geode.cache.server.CacheServer; import org.apache.geode.security.NotAuthorizedException; import org.apache.geode.security.SimpleTestSecurityManager; import org.apache.geode.security.templates.UserPasswordAuthInit; -import org.apache.geode.test.dunit.SerializableRunnableIF; import org.apache.geode.test.junit.categories.DistributedTest; import org.apache.geode.test.junit.categories.SecurityTest; -import org.junit.Test; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; - -import
[16/50] [abbrv] geode git commit: (no ticket) docs code cleanup - gfsh start command reference
(no ticket) docs code cleanup - gfsh start command reference Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/7df5af35 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/7df5af35 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/7df5af35 Branch: refs/heads/feature/GEODE-2804v3 Commit: 7df5af35ac885c007e2287316213360a12241c21 Parents: ee5f60c Author: Dave BarnesAuthored: Tue Jun 20 13:08:33 2017 -0700 Committer: Dave Barnes Committed: Tue Jun 20 13:08:33 2017 -0700 -- .../gfsh/command-pages/start.html.md.erb| 21 +--- 1 file changed, 5 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/7df5af35/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb -- diff --git a/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb index 0bec322..0044b9e 100644 --- a/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb +++ b/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb @@ -65,8 +65,6 @@ Note that you can only have one gateway receiver on each member, and unlike a ga start gateway-receiver [--group=value(,value)*] [--member=value] ``` - - | Name | Description | ||--| | \\-\\-member | Name or ID of the member on which to start the Gateway Receiver. | @@ -117,8 +115,6 @@ For information on how to configure a gateway sender, see [Configure Gateway Sen start gateway-sender --id=value [--group=value(,value)*] [--member=value] ``` - - | Name | Description | ||---| | \\-\\-id | *Required.* ID of the GatewaySender. | @@ -175,8 +171,6 @@ start jconsole [--interval=] [--notile] [--version] [--J] ``` - - | Name | Description | Default Value | |||---| | \\-\\-interval | Set the update interval to n seconds (default is 4 seconds). (Equivalent to JConsole's `-interval=n`) | 4 | @@ -238,10 +232,8 @@ Start the JDK's Java VisualVM monitoring application in a separate process. start jvisualvm [--J=value(,value)*] ``` - - -| Name | Description | -|---|| +| Name | Description | +|---|| | \\-\\-J | VM-option passed to the spawned CacheServer VM. For example: `-J-Dfoo.bar=true` for setting foo.bar to 'true'. | Table 4. Start JVisalVM Parameters @@ -280,10 +272,7 @@ start locator --name=value [--bind-address=value] [--force(=value)] [--group=val [--J=value(,value)*] ``` - - -Table 5. Parameters @@ -468,8 +457,6 @@ For more information on Geode Pulse, see [Geode Pulse](../../pulse/pulse-overvie start pulse [--url=value] ``` - - | Name
[40/50] [abbrv] geode git commit: GEODE-2995: incorporating even more review feedback
GEODE-2995: incorporating even more review feedback Addressing feedback from Udo and Hitesh Refactored test locations to match new src layout Signed-off-by: Galen O'SullivanSigned-off-by: Brian Rowe Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/a3c66e1a Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/a3c66e1a Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/a3c66e1a Branch: refs/heads/feature/GEODE-2804v3 Commit: a3c66e1afc88700bd7839f56d54a0f6d44f00432 Parents: 0de1d97 Author: Brian Rowe Authored: Wed Jun 21 11:53:54 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- geode-protobuf/build.gradle | 6 +- .../protobuf/EncodingTypeTranslator.java| 47 +++ .../operations/GetRequestOperationHandler.java | 19 +-- .../geode/client/protocol/IntegrationTest.java | 124 --- .../geode/client/protocol/MessageUtil.java | 41 -- .../geode/client/protocol/OpsHandler.java | 21 .../geode/protocol/IntegrationJUnitTest.java| 124 +++ .../org/apache/geode/protocol/MessageUtil.java | 41 ++ .../org/apache/geode/protocol/OpsHandler.java | 21 .../GetRequestOperationHandlerTest.java | 95 -- ...eToSerializationTypeTranslatorJUnitTest.java | 73 +++ .../protobuf/ProtobufOpsProcessorJUnitTest.java | 62 ++ .../protobuf/ProtobufOpsProcessorTest.java | 62 -- .../GetRequestOperationHandlerJUnitTest.java| 96 ++ .../ProtobufProtocolSerializerJUnitTest.java| 2 +- .../ProtobufSerializationServiceImplTest.java | 58 - .../ProtobufSerializationServiceJUnitTest.java | 111 + .../codec/BinaryFormatJUnitTest.java| 64 ++ .../codec/StringCodecJUnitTest.java | 64 -- ...eToSerializationTypeTranslatorJUnitTest.java | 73 --- gradle/dependency-versions.properties | 3 + 21 files changed, 637 insertions(+), 570 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/a3c66e1a/geode-protobuf/build.gradle -- diff --git a/geode-protobuf/build.gradle b/geode-protobuf/build.gradle index f069267..a63000e 100644 --- a/geode-protobuf/build.gradle +++ b/geode-protobuf/build.gradle @@ -23,7 +23,7 @@ buildscript { mavenCentral() } dependencies { -classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.1' +classpath 'com.google.protobuf:protobuf-gradle-plugin:' + project.'protobuf-gradle-plugin.version' } } @@ -36,13 +36,13 @@ dependencies { testCompile 'org.powermock:powermock-module-junit4:' + project.'powermock.version' testCompile 'org.powermock:powermock-api-mockito:' + project.'powermock.version' -compile 'com.google.protobuf:protobuf-java:3.3.1' +compile 'com.google.protobuf:protobuf-java:' + project.'protobuf-java.version' } protobuf { protoc { // The artifact spec for the Protobuf Compiler -artifact = 'com.google.protobuf:protoc:3.0.0' +artifact = 'com.google.protobuf:protoc:' + project.'protoc.version' } generatedFilesBaseDir = "$buildDir/generated-src/proto" } http://git-wip-us.apache.org/repos/asf/geode/blob/a3c66e1a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java index 650ac81..edb7c7e 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java @@ -20,10 +20,28 @@ import org.apache.geode.protocol.protobuf.BasicTypes; import org.apache.geode.serialization.SerializationType; import org.apache.geode.serialization.exception.UnsupportedEncodingTypeException; +import java.util.HashMap; + /** * This class maps protobuf specific encoding types and the corresponding serialization types. */ public abstract class EncodingTypeTranslator { + static final HashMap typeToEncodingMap = intializeTypeMap(); + + private static HashMap intializeTypeMap() { +HashMap result = new HashMap<>(); +result.put(Integer.class, BasicTypes.EncodingType.INT); +result.put(Byte.class,
[05/50] [abbrv] geode git commit: GEODE-3071: Pull config of docker volumes into top level script so that they can be overridden
GEODE-3071: Pull config of docker volumes into top level script so that they can be overridden Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/07e8986e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/07e8986e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/07e8986e Branch: refs/heads/feature/GEODE-2804v3 Commit: 07e8986e3deb722c0beea380eac00a18c86844aa Parents: b26fa51 Author: Jens DeppeAuthored: Mon Jun 19 07:42:57 2017 -0700 Committer: Jens Deppe Committed: Mon Jun 19 07:48:27 2017 -0700 -- build.gradle | 5 + gradle/docker.gradle | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/07e8986e/build.gradle -- diff --git a/build.gradle b/build.gradle index 57372b3..4feb879 100755 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,11 @@ if (name == 'geode') { ext.scriptDir = 'gradle' } +if (project.hasProperty('parallelDunit')) { + def pwd = System.getenv('PWD') + ext.dunitDockerVolumes = ["${pwd}":pwd] +} + apply from: "${scriptDir}/utilities.gradle" apply from: "${scriptDir}/java.gradle" apply from: "${scriptDir}/dependency-resolution.gradle" http://git-wip-us.apache.org/repos/asf/geode/blob/07e8986e/gradle/docker.gradle -- diff --git a/gradle/docker.gradle b/gradle/docker.gradle index b67c073..7971974 100644 --- a/gradle/docker.gradle +++ b/gradle/docker.gradle @@ -47,11 +47,11 @@ def dockerConfig = { // volumes mounted to the containers // in a form: host_dir : container_dir -def pwd = System.getenv('PWD') def gradleHome = System.getenv('GRADLE_USER_HOME') ?: "${System.getenv('HOME')}/.gradle" volumes = ["${gradleHome}":gradleHome] -volumes << ["${pwd}":pwd] +// Add volumes configured by top-level build script +volumes << project.dunitDockerVolumes // specify the user for starting Gradle test worker within the container. user = dunitDockerUser
[47/50] [abbrv] geode git commit: GEODE-2919: fix lucene security tests
GEODE-2919: fix lucene security tests Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/e5204ce1 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/e5204ce1 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/e5204ce1 Branch: refs/heads/feature/GEODE-2804v3 Commit: e5204ce1224581425a2ebdc98515dae0044421ee Parents: 137ced6 Author: Jinmei LiaoAuthored: Mon Jun 26 17:34:20 2017 -0700 Committer: Jinmei Liao Committed: Mon Jun 26 17:44:11 2017 -0700 -- .../lucene/LuceneClientSecurityDUnitTest.java | 14 +- .../lucene/LuceneCommandsSecurityDUnitTest.java | 291 --- .../lucene/LuceneCommandsSecurityTest.java | 269 + 3 files changed, 277 insertions(+), 297 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/e5204ce1/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java -- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java index f78e19f..f71caec 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java @@ -50,7 +50,7 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase { @Test @Parameters(method = "getSearchIndexUserNameAndExpectedResponses") public void verifySearchIndexPermissions( - LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse user) { + LuceneCommandsSecurityTest.UserNameAndExpectedResponse user) { // Start server int serverPort = dataStore1.invoke(() -> startCacheServer()); @@ -97,14 +97,16 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase { } catch (ServerOperationException e) { assertTrue(e.getCause() != null && e.getCause() instanceof NotAuthorizedException); assertTrue(expectAuthorizationError); - assertTrue(e.getLocalizedMessage().contains(expectedResponse)); + if (expectedResponse != null) { +assertTrue(e.getLocalizedMessage().contains(expectedResponse)); + } } } - protected LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse[] getSearchIndexUserNameAndExpectedResponses() { -return new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse[] { -new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse("nopermissions", true, + protected LuceneCommandsSecurityTest.UserNameAndExpectedResponse[] getSearchIndexUserNameAndExpectedResponses() { +return new LuceneCommandsSecurityTest.UserNameAndExpectedResponse[] { +new LuceneCommandsSecurityTest.UserNameAndExpectedResponse("nopermissions", true, "nopermissions not authorized for DATA:WRITE"), -new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse("datawrite", false, null)}; +new LuceneCommandsSecurityTest.UserNameAndExpectedResponse("datawrite", false)}; } } http://git-wip-us.apache.org/repos/asf/geode/blob/e5204ce1/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java -- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java deleted file mode 100644 index 7cc6709..000 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java +++ /dev/null @@ -1,291 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. You may obtain a - * copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ -package org.apache.geode.cache.lucene; - -import static org.apache.geode.cache.lucene.test.LuceneTestUtilities.INDEX_NAME; -import static
[42/50] [abbrv] geode git commit: GEODE-3075: fix an integration test.
GEODE-3075: fix an integration test. I think the test fails because another test doesn't clean up system properties when it's done. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/e62e8250 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/e62e8250 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/e62e8250 Branch: refs/heads/feature/GEODE-2804v3 Commit: e62e825090db50f77faaa3e222595ee1026d7a6c Parents: a3c66e1 Author: Galen OSullivanAuthored: Wed Jun 21 14:01:01 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:23 2017 -0700 -- .../cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/e62e8250/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java index 82c4e54..9a1509f 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java @@ -46,7 +46,9 @@ public class ServerConnectionFactoryIntegrationTest { @Test public void testNewProtocolHeaderLeadsToNewProtocolServerConnection() throws IOException { System.setProperty("geode.feature-protobuf-protocol", "true"); + CacheFactory cacheFactory = new CacheFactory(); +cacheFactory.set("mcast-port","0"); //sometimes it isn't due to other tests. Cache cache = cacheFactory.create(); CacheServer cacheServer = cache.addCacheServer();
[26/50] [abbrv] geode git commit: GEODE-2919: Provide finer grained security
http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RegionCommands.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RegionCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RegionCommands.java index 68dbbf0..3222666 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RegionCommands.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RegionCommands.java @@ -14,6 +14,17 @@ */ package org.apache.geode.management.internal.cli.commands; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import org.springframework.shell.core.annotation.CliCommand; +import org.springframework.shell.core.annotation.CliOption; + import org.apache.geode.cache.Region; import org.apache.geode.cache.execute.FunctionInvocationTargetException; import org.apache.geode.cache.execute.ResultCollector; @@ -31,7 +42,6 @@ import org.apache.geode.management.internal.cli.domain.RegionInformation; import org.apache.geode.management.internal.cli.functions.GetRegionDescriptionFunction; import org.apache.geode.management.internal.cli.functions.GetRegionsFunction; import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.management.internal.cli.result.CommandResultException; import org.apache.geode.management.internal.cli.result.CompositeResultData; import org.apache.geode.management.internal.cli.result.CompositeResultData.SectionResultData; import org.apache.geode.management.internal.cli.result.ResultBuilder; @@ -40,17 +50,6 @@ import org.apache.geode.management.internal.cli.util.RegionAttributesNames; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission.Operation; import org.apache.geode.security.ResourcePermission.Resource; -import org.springframework.shell.core.annotation.CliAvailabilityIndicator; -import org.springframework.shell.core.annotation.CliCommand; -import org.springframework.shell.core.annotation.CliOption; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; /** * Class containing implementation of commands based on region: @@ -67,8 +66,8 @@ public class RegionCommands implements GfshCommand { new GetRegionDescriptionFunction(); @CliCommand(value = {CliStrings.LIST_REGION}, help = CliStrings.LIST_REGION__HELP) - @CliMetaData(shellOnly = false, relatedTopic = CliStrings.TOPIC_GEODE_REGION) - @ResourceOperation(resource = Resource.DATA, operation = Operation.READ) + @CliMetaData(relatedTopic = CliStrings.TOPIC_GEODE_REGION) + @ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ) public Result listRegion( @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS}, optionContext = ConverterHint.MEMBERGROUP, @@ -78,8 +77,8 @@ public class RegionCommands implements GfshCommand { help = CliStrings.LIST_REGION__MEMBER__HELP) String[] memberNameOrId) { Result result = null; try { - Set regionInfoSet = new LinkedHashSet(); - ResultCollector rc = null; + Set regionInfoSet = new LinkedHashSet<>(); + ResultCollector rc; Set targetMembers = CliUtil.findMembers(group, memberNameOrId); @@ -93,11 +92,8 @@ public class RegionCommands implements GfshCommand { ArrayList resultList = (ArrayList) rc.getResult(); if (resultList != null) { -Iterator iters = resultList.iterator(); - -while (iters.hasNext()) { - Object resultObj = iters.next(); +for (Object resultObj : resultList) { if (resultObj != null) { if (resultObj instanceof Object[]) { Object[] resultObjectArray = (Object[]) resultObj; @@ -110,15 +106,13 @@ public class RegionCommands implements GfshCommand { } } -Set regionNames = new TreeSet(); +Set regionNames = new TreeSet<>(); for (RegionInformation regionInfo : regionInfoSet) { regionNames.add(regionInfo.getName()); Set subRegionNames = regionInfo.getSubRegionNames(); - for (String subRegionName : subRegionNames) { -regionNames.add(subRegionName); - } + regionNames.addAll(subRegionNames); } for (String regionName : regionNames) { @@ -143,14 +137,13 @@ public class RegionCommands implements GfshCommand { } @CliCommand(value = {CliStrings.DESCRIBE_REGION}, help = CliStrings.DESCRIBE_REGION__HELP) -
[23/50] [abbrv] geode git commit: GEODE-3052 Restarting 2 locators together causes potential locator split brain
GEODE-3052 Restarting 2 locators together causes potential locator split brain There were four problems that new unit tests hit: 1. when recovering a view from disk we were treating it as a definitive (live) view. I've moved it to a new variable in GMSLocator and set its viewId to -1. At the same time I set the initial GMSJoinLeave SearchState.viewId to -100 so it will be overridden by the one returned by the locator. These changes allow GmsJoinLeave to know that the potential coordinator is from a recovered view. 2. when trying to join with a recovered view GMSJoinLeave.join() was giving up after the second ID in the view and becoming the coordinator. It needs to keep trying until the list is exhausted, and it shouldn't sleep between attempts. 3. GMSLocator wasn't returning registrants for use in findCoordinatorFromView(). This was causing it to choose itself as the coordinator instead of using registrant sort order and choosing a different registrant as the coordinator. 4. During concurrent startup GMSLocator didn't know when the decision was made to become coordinator. It is now notified of this decision and processRequest() uses this flag to have it override anything in the registrants set or in the recovered view. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/3ee585c5 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/3ee585c5 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/3ee585c5 Branch: refs/heads/feature/GEODE-2804v3 Commit: 3ee585c5844607e5da9756afb089405a30ae3dd3 Parents: 6f60785 Author: Bruce SchuchardtAuthored: Thu Jun 22 13:50:26 2017 -0700 Committer: Bruce Schuchardt Committed: Thu Jun 22 13:54:55 2017 -0700 -- .../internal/membership/NetView.java| 4 + .../internal/membership/gms/GMSUtil.java| 15 +- .../membership/gms/interfaces/Locator.java | 5 + .../gms/locator/FindCoordinatorResponse.java| 2 +- .../membership/gms/locator/GMSLocator.java | 52 +++- .../membership/gms/membership/GMSJoinLeave.java | 92 -- .../membership/gms/messenger/GMSEncrypt.java| 14 +- .../gms/messenger/JGroupsMessenger.java | 2 +- .../geode/distributed/LocatorDUnitTest.java | 298 +-- .../LocatorUDPSecurityDUnitTest.java| 8 + .../gms/membership/GMSJoinLeaveTestHelper.java | 16 +- .../gms/messenger/GMSEncryptJUnitTest.java | 1 - 12 files changed, 360 insertions(+), 149 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/3ee585c5/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/NetView.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/NetView.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/NetView.java index 26b0327..c935074 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/NetView.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/NetView.java @@ -165,6 +165,10 @@ public class NetView implements DataSerializableFixedID { } } + public void setViewId(int viewId) { +this.viewId = viewId; + } + public int[] getFailureDetectionPorts() { http://git-wip-us.apache.org/repos/asf/geode/blob/3ee585c5/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java index c6bef57..da295ab 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java @@ -28,6 +28,13 @@ import org.apache.geode.internal.net.SocketCreator; public class GMSUtil { + /** + * parse locators & check that the resulting address is compatible with the given address + * + * @param locatorsString a DistributionConfig "locators" string + * @param bindAddress optional address to check for loopback compatibility + * @return addresses of locators + */ public static List parseLocators(String locatorsString, String bindAddress) { InetAddress addr = null; @@ -43,7 +50,13 @@ public class GMSUtil { return parseLocators(locatorsString, addr); } - + /** + * parse locators & check that the resulting address is compatible with the given address + * + * @param locatorsString a DistributionConfig "locators" string + *
[19/50] [abbrv] geode git commit: GEODE-1958: Working on removing PasswordUtil and all related commands, classes, etc. Keeping decrypt() method to maintain backwards compatibility.
GEODE-1958: Working on removing PasswordUtil and all related commands, classes, etc. Keeping decrypt() method to maintain backwards compatibility. * this closes #578 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/43b00bd8 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/43b00bd8 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/43b00bd8 Branch: refs/heads/feature/GEODE-2804v3 Commit: 43b00bd84984a7c9c28536cf4a13dc104834bf0b Parents: 5039e62 Author: YehEmilyAuthored: Mon Jun 12 11:42:15 2017 -0700 Committer: Jinmei Liao Committed: Wed Jun 21 11:35:47 2017 -0700 -- .../org/apache/geode/internal/SystemAdmin.java | 167 ++- .../geode/internal/i18n/LocalizedStrings.java | 3 - .../geode/internal/net/SocketCreator.java | 72 .../geode/internal/util/PasswordUtil.java | 76 ++--- .../geode/management/internal/cli/Launcher.java | 19 +-- .../internal/cli/commands/ShellCommands.java| 67 .../internal/cli/i18n/CliStrings.java | 11 +- .../geode/cache/util/PasswordUtilJUnitTest.java | 42 - .../internal/util/PasswordUtilJUnitTest.java| 41 + .../internal/security/TestCommand.java | 3 +- 10 files changed, 224 insertions(+), 277 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/43b00bd8/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java index ceae486..ccc64e3 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java +++ b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java @@ -14,42 +14,80 @@ */ package org.apache.geode.internal; -import static org.apache.geode.distributed.ConfigurationProperties.*; +import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL; +import static org.apache.geode.distributed.ConfigurationProperties.START_LOCATOR; -import org.apache.geode.*; +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.PrintStream; +import java.io.PrintWriter; +import java.io.RandomAccessFile; +import java.io.StringWriter; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.net.URL; +import java.net.URLDecoder; +import java.net.UnknownHostException; +import java.text.DateFormat; +import java.text.ParseException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.zip.GZIPInputStream; + +import org.apache.geode.GemFireException; +import org.apache.geode.GemFireIOException; +import org.apache.geode.InternalGemFireException; +import org.apache.geode.NoSystemException; +import org.apache.geode.SystemFailure; +import org.apache.geode.UncreatedSystemException; +import org.apache.geode.UnstartedSystemException; import org.apache.geode.admin.AdminException; import org.apache.geode.admin.BackupStatus; import org.apache.geode.admin.internal.AdminDistributedSystemImpl; import org.apache.geode.cache.persistence.PersistentID; import org.apache.geode.distributed.DistributedMember; -import org.apache.geode.distributed.internal.*; +import org.apache.geode.distributed.internal.DistributionConfig; +import org.apache.geode.distributed.internal.DistributionConfigImpl; +import org.apache.geode.distributed.internal.HighPriorityAckedMessage; +import org.apache.geode.distributed.internal.InternalDistributedSystem; import org.apache.geode.distributed.internal.membership.InternalDistributedMember; -import org.apache.geode.distributed.internal.tcpserver.*; -import org.apache.geode.internal.statistics.StatArchiveReader; -import org.apache.geode.internal.statistics.StatArchiveReader.ResourceInst; -import org.apache.geode.internal.statistics.StatArchiveReader.StatValue; +import org.apache.geode.distributed.internal.tcpserver.TcpClient; import org.apache.geode.internal.admin.remote.TailLogResponse; import
[22/50] [abbrv] geode git commit: GEODE-3062: create new SecurityService after receiving cluster config
GEODE-3062: create new SecurityService after receiving cluster config Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/6f60785c Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/6f60785c Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/6f60785c Branch: refs/heads/feature/GEODE-2804v3 Commit: 6f60785c06a39b9fcc086b9a3501a82b1c049833 Parents: b7f5391 Author: Kirk LundAuthored: Thu Jun 15 10:04:02 2017 -0700 Committer: Kirk Lund Committed: Thu Jun 22 12:39:50 2017 -0700 -- .../internal/InternalDistributedSystem.java | 4 ++ .../cache/ClusterConfigurationLoader.java | 7 ++- .../geode/internal/cache/GemFireCacheImpl.java | 47 ++- .../security/IntegratedSecurityService.java | 40 +--- .../security/LegacySecurityService.java | 15 +- .../internal/security/SecurityService.java | 48 ++-- .../security/SecurityServiceFactory.java| 10 ++-- .../ClusterConfigDeployJarDUnitTest.java| 11 ++--- .../ClusterConfigDistributionDUnitTest.java | 5 +- .../ClusterConfigImportDUnitTest.java | 9 ++-- .../ClusterConfigStartMemberDUnitTest.java | 4 +- .../ClusterConfigWithSecurityDUnitTest.java | 32 ++--- .../test/dunit/rules/MemberStarterRule.java | 12 - .../test/dunit/rules/ServerStarterRule.java | 31 + 14 files changed, 155 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/6f60785c/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java index 1572355..a4b3a50 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java @@ -540,6 +540,10 @@ public class InternalDistributedSystem extends DistributedSystem return this.securityService; } + public void setSecurityService(SecurityService securityService) { +this.securityService = securityService; + } + /** * Registers a listener to the system * http://git-wip-us.apache.org/repos/asf/geode/blob/6f60785c/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java index 4f4881f..92cfd96 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java @@ -152,13 +152,12 @@ public class ClusterConfigurationLoader { /*** * Apply the gemfire properties cluster configuration on this member - * - * @param cache Cache created for this member + * * @param response {@link ConfigurationResponse} containing the requested {@link Configuration} * @param config this member's config */ - public static void applyClusterPropertiesConfiguration(Cache cache, - ConfigurationResponse response, DistributionConfig config) { + public static void applyClusterPropertiesConfiguration(ConfigurationResponse response, + DistributionConfig config) { if (response == null || response.getRequestedConfiguration().isEmpty()) { return; } http://git-wip-us.apache.org/repos/asf/geode/blob/6f60785c/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java index fe97685..2dda38c 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java @@ -77,6 +77,7 @@ import javax.transaction.TransactionManager; import com.sun.jna.Native; import com.sun.jna.Platform; import org.apache.commons.lang.StringUtils; +import org.apache.geode.internal.security.SecurityServiceFactory; import org.apache.logging.log4j.Logger; import org.apache.geode.CancelCriterion; @@ -323,6 +324,8 @@ public class GemFireCacheImpl implements InternalCache,
[41/50] [abbrv] geode git commit: GEODE-3075: Initial refactor adding NewProtocolServerConnection
GEODE-3075: Initial refactor adding NewProtocolServerConnection subclassing `ServerConnection`. The new code is broken but it won't be called under normal operation, since it's gated on a system property, "geode.feature-protobuf-protocol" Further refactoring and feature work to come. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/dfdde4af Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/dfdde4af Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/dfdde4af Branch: refs/heads/feature/GEODE-2804v3 Commit: dfdde4af352566d60f18b0db156fc5b7f48ebd8b Parents: 49123c4 Author: Galen OSullivanAuthored: Mon Jun 12 09:33:35 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../geode/internal/cache/tier/Acceptor.java | 4 + .../cache/tier/sockets/AcceptorImpl.java| 10 +-- .../cache/tier/sockets/ClientHealthMonitor.java | 7 +- .../sockets/ClientProtocolMessageHandler.java | 29 +++ .../tier/sockets/LegacyServerConnection.java| 88 .../sockets/NewProtocolServerConnection.java| 86 +++ .../cache/tier/sockets/ServerConnection.java| 75 +++-- .../tier/sockets/ServerConnectionFactory.java | 50 +++ .../sockets/ServerConnectionFactoryTest.java| 77 + .../tier/sockets/ServerConnectionTest.java | 7 +- 10 files changed, 375 insertions(+), 58 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/dfdde4af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java index 9a3241b..a95195a 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java @@ -71,6 +71,10 @@ public abstract class Acceptor { */ public static final byte CLIENT_TO_SERVER_FOR_QUEUE = (byte) 107; + /** + * For the new client-server protocol, which ignores the usual handshake mechanism. + */ + public static final byte CLIENT_TO_SERVER_NEW_PROTOCOL = (byte) 110; /** * The GFE version of the server. http://git-wip-us.apache.org/repos/asf/geode/blob/dfdde4af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java index 2a8818c..24efc93 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java @@ -1422,8 +1422,8 @@ public class AcceptorImpl extends Acceptor implements Runnable { s.setTcpNoDelay(this.tcpNoDelay); if (communicationMode == CLIENT_TO_SERVER || communicationMode == GATEWAY_TO_GATEWAY -|| communicationMode == MONITOR_TO_SERVER -|| communicationMode == CLIENT_TO_SERVER_FOR_QUEUE) { +|| communicationMode == MONITOR_TO_SERVER || communicationMode == CLIENT_TO_SERVER_FOR_QUEUE +|| communicationMode == CLIENT_TO_SERVER_NEW_PROTOCOL) { String communicationModeStr = ""; switch (communicationMode) { case CLIENT_TO_SERVER: @@ -1466,9 +1466,9 @@ public class AcceptorImpl extends Acceptor implements Runnable { return; } } - ServerConnection serverConn = new ServerConnection(s, this.cache, this.crHelper, this.stats, - AcceptorImpl.handShakeTimeout, this.socketBufferSize, communicationModeStr, - communicationMode, this, this.securityService); + ServerConnection serverConn = ServerConnectionFactory.makeServerConnection(s, this.cache, + this.crHelper, this.stats, AcceptorImpl.handShakeTimeout, this.socketBufferSize, + communicationModeStr, communicationMode, this, this.securityService); synchronized (this.allSCsLock) { this.allSCs.add(serverConn); ServerConnection snap[] = this.allSCList; // avoid volatile read http://git-wip-us.apache.org/repos/asf/geode/blob/dfdde4af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java
[10/50] [abbrv] geode git commit: GEODE-3092: fix specifiedDefaultValue for cacheLoader and cacheWriter
GEODE-3092: fix specifiedDefaultValue for cacheLoader and cacheWriter Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/c6d88f74 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/c6d88f74 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/c6d88f74 Branch: refs/heads/feature/GEODE-2804v3 Commit: c6d88f748f32293edfb2c92e914a12b21969c061 Parents: 87c26be Author: Jinmei LiaoAuthored: Mon Jun 19 09:08:35 2017 -0700 Committer: Jinmei Liao Committed: Mon Jun 19 14:02:24 2017 -0700 -- .../CreateAlterDestroyRegionCommands.java | 45 ++-- .../internal/cli/GfshParserParsingTest.java | 19 +++-- 2 files changed, 38 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/c6d88f74/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java index 842802b..bf22854 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java @@ -14,7 +14,28 @@ */ package org.apache.geode.management.internal.cli.commands; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicReference; +import java.util.regex.Pattern; + +import javax.management.MBeanServer; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; + import org.apache.commons.lang.StringUtils; +import org.springframework.shell.core.annotation.CliCommand; +import org.springframework.shell.core.annotation.CliOption; + import org.apache.geode.LogWriter; import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.ExpirationAttributes; @@ -58,26 +79,6 @@ import org.apache.geode.management.internal.configuration.domain.XmlEntity; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission.Operation; import org.apache.geode.security.ResourcePermission.Resource; -import org.springframework.shell.core.annotation.CliAvailabilityIndicator; -import org.springframework.shell.core.annotation.CliCommand; -import org.springframework.shell.core.annotation.CliOption; - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeSet; -import java.util.concurrent.atomic.AtomicReference; -import java.util.regex.Pattern; -import javax.management.MBeanServer; -import javax.management.MalformedObjectNameException; -import javax.management.ObjectName; /** * @since GemFire 7.0 @@ -408,9 +409,9 @@ public class CreateAlterDestroyRegionCommands implements GfshCommand { help = CliStrings.ALTER_REGION__REGIONEXPIRATIONTTLACTION__HELP) String regionExpirationTTLAction, @CliOption(key = CliStrings.ALTER_REGION__CACHELISTENER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHELISTENER__HELP) String[] cacheListeners, - @CliOption(key = CliStrings.ALTER_REGION__CACHELOADER, specifiedDefaultValue = "null", + @CliOption(key = CliStrings.ALTER_REGION__CACHELOADER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHELOADER__HELP) String cacheLoader, - @CliOption(key = CliStrings.ALTER_REGION__CACHEWRITER, specifiedDefaultValue = "null", + @CliOption(key = CliStrings.ALTER_REGION__CACHEWRITER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHEWRITER__HELP) String cacheWriter, @CliOption(key = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID__HELP) String[] asyncEventQueueIds, http://git-wip-us.apache.org/repos/asf/geode/blob/c6d88f74/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserParsingTest.java -- diff
[24/50] [abbrv] geode git commit: GEODE-2919: Provide finer grained security
http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java -- diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java b/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java index 7ce0438..abe5d21 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java @@ -15,9 +15,11 @@ package org.apache.geode.management.internal.security; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import org.apache.commons.lang.ArrayUtils; import org.apache.shiro.authz.Permission; import org.apache.geode.security.ResourcePermission; @@ -46,10 +48,22 @@ public class TestCommand { public static ResourcePermission clusterRead = new ResourcePermission(Resource.CLUSTER, Operation.READ); + public static ResourcePermission clusterReadQuery = + new ResourcePermission(Resource.CLUSTER, Operation.READ, Target.QUERY); public static ResourcePermission clusterWrite = new ResourcePermission(Resource.CLUSTER, Operation.WRITE); + public static ResourcePermission clusterWriteDisk = + new ResourcePermission(Resource.CLUSTER, Operation.WRITE, Target.DISK); public static ResourcePermission clusterManage = new ResourcePermission(Resource.CLUSTER, Operation.MANAGE); + public static ResourcePermission clusterManageDisk = + new ResourcePermission(Resource.CLUSTER, Operation.MANAGE, Target.DISK); + public static ResourcePermission clusterManageGateway = + new ResourcePermission(Resource.CLUSTER, Operation.MANAGE, Target.GATEWAY); + public static ResourcePermission clusterManageJar = + new ResourcePermission(Resource.CLUSTER, Operation.MANAGE, Target.JAR); + public static ResourcePermission clusterManageQuery = + new ResourcePermission(Resource.CLUSTER, Operation.MANAGE, Target.QUERY); private static List testCommands = new ArrayList<>(); @@ -58,15 +72,15 @@ public class TestCommand { } private final String command; - private final ResourcePermission permission; + private final ResourcePermission[] permissions; - public TestCommand(String command, ResourcePermission permission) { + public TestCommand(String command, ResourcePermission... permissions) { this.command = command; -this.permission = permission; +this.permissions = permissions; } - private static void createTestCommand(String command, ResourcePermission permission) { -TestCommand instance = new TestCommand(command, permission); + private static void createTestCommand(String command, ResourcePermission... permissions) { +TestCommand instance = new TestCommand(command, permissions); testCommands.add(instance); } @@ -74,8 +88,8 @@ public class TestCommand { return this.command; } - public ResourcePermission getPermission() { -return this.permission; + public ResourcePermission[] getPermissions() { +return this.permissions; } public static List getCommands() { @@ -83,11 +97,21 @@ public class TestCommand { return testCommands.stream().collect(Collectors.toList()); } + public static List getOnlineCommands() { +return testCommands.stream().filter((x) -> ArrayUtils.isNotEmpty(x.getPermissions())) +.collect(Collectors.toList()); + } + public static List getPermittedCommands(Permission permission) { List result = new ArrayList<>(); for (TestCommand testCommand : testCommands) { - ResourcePermission cPerm = testCommand.getPermission(); - if (cPerm != null && permission.implies(cPerm)) { + ResourcePermission[] cPerms = testCommand.getPermissions(); + if (cPerms == null || cPerms.length == 0) { +// Skip offline commands. +continue; + } + boolean allPermissionsAreImplied = Arrays.stream(cPerms).allMatch(permission::implies); + if (allPermissionsAreImplied) { result.add(testCommand); } } @@ -107,6 +131,11 @@ public class TestCommand { // CreateAlterDestroyRegionCommands createTestCommand("alter region --name=RegionA --eviction-max=5000", regionAManage); createTestCommand("create region --name=region12 --type=REPLICATE", dataManage); +createTestCommand("create region --name=region123 --type=PARTITION_PERSISTENT", dataManage, +clusterWriteDisk); +// This command requires an existing persistent region named "persistentRegion" +createTestCommand("create region --name=region1234 --template-region=/persistentRegion", +dataManage, clusterWriteDisk); createTestCommand("destroy region --name=value", dataManage); // Data Commands @@ -124,28 +153,28
[49/50] [abbrv] geode git commit: Added change to change InetAddress when there is IOException
Added change to change InetAddress when there is IOException Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/3a46b791 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/3a46b791 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/3a46b791 Branch: refs/heads/feature/GEODE-2804v3 Commit: 3a46b791f5d6f542893e6a708edbe48814aa5913 Parents: 718583b Author: Hitesh KhamesraAuthored: Tue Jun 13 15:56:33 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jun 27 12:53:07 2017 -0700 -- .../internal/AutoConnectionSourceImpl.java | 72 ++-- .../membership/gms/membership/GMSJoinLeave.java | 3 +- .../internal/tcpserver/TcpClient.java | 27 +++- .../internal/JmxManagerLocatorRequest.java | 5 +- .../cli/commands/LauncherLifecycleCommands.java | 1 + .../AutoConnectionSourceImplJUnitTest.java | 64 + 6 files changed, 162 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/3a46b791/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java index 53d401a..070451c 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java +++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java @@ -204,12 +204,10 @@ public class AutoConnectionSourceImpl implements ConnectionSource { private ServerLocationResponse queryOneLocator(InetSocketAddress locator, ServerLocationRequest request) { -InetAddress addr = locator.getAddress(); -int port = locator.getPort(); Object returnObj = null; try { pool.getStats().incLocatorRequests(); - returnObj = tcpClient.requestToServer(addr, port, request, connectionTimeout); + returnObj = tcpClient.requestToServer(locator, request, connectionTimeout, true); ServerLocationResponse response = (ServerLocationResponse) returnObj; pool.getStats().incLocatorResponses(); if (response != null) { @@ -218,6 +216,7 @@ public class AutoConnectionSourceImpl implements ConnectionSource { return response; } catch (IOException ioe) { reportDeadLocator(locator, ioe); + updateLocatorInLocatorList(locator); return null; } catch (ClassNotFoundException e) { logger.warn( @@ -234,6 +233,45 @@ public class AutoConnectionSourceImpl implements ConnectionSource { } } + /** + * If connecting to the locator fails with an IOException, this may be because the locator's IP + * has changed. Add the locator back to the list of locators using host address rather than IP. + * This will cause another DNS lookup, hopefully finding the locator. + * + * @param locator + */ + protected void updateLocatorInLocatorList(InetSocketAddress locator) { +if (locator.getHostName() != null) { + LocatorList locatorList = locators.get(); + List newLocatorsList = new ArrayList<>(); + + for (InetSocketAddress tloc : locatorList.getLocators()) { +if (tloc.equals(locator)) { + /** + * This call doesn't throw UnknownHostException; + */ + InetSocketAddress changeLoc = + new InetSocketAddress(locator.getHostName(), locator.getPort()); + newLocatorsList.add(changeLoc); + logger.info("updateLocatorInLocatorList changing locator list: loc form: " + locator + + " ,loc to: " + changeLoc); +} else { + newLocatorsList.add(tloc); +} + } + + logger.info("updateLocatorInLocatorList locator list from:" + locatorList.getLocators() + + " to: " + newLocatorsList); + + LocatorList newLocatorList = new LocatorList(newLocatorsList); + locators.set(newLocatorList); +} + } + + protected List getCurrentLocators() { +return locators.get().locators; + } + protected ServerLocationResponse queryLocators(ServerLocationRequest request) { Iterator controllerItr = locators.get().iterator(); ServerLocationResponse response = null; @@ -276,7 +314,7 @@ public class AutoConnectionSourceImpl implements ConnectionSource { badLocators.remove(address); } -newLocators.addAll(badLocators); +addbadLocators(newLocators, badLocators); if (logger.isInfoEnabled()) { LocatorList oldLocators = (LocatorList) locators.get(); @@ -300,11 +338,37 @@ public class AutoConnectionSourceImpl
[44/50] [abbrv] geode git commit: merge GEODE-2995, GEODE-3775 into develop with integration test.
merge GEODE-2995, GEODE-3775 into develop with integration test. Signed-off-by: Brian RoweProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/db11ebc1 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/db11ebc1 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/db11ebc1 Branch: refs/heads/feature/GEODE-2804v3 Commit: db11ebc1efdf2371bdf1566a7828dc08ea621e2c Parents: e62e825 Author: Galen OSullivan Authored: Wed Jun 21 16:53:03 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:23 2017 -0700 -- .../sockets/ClientProtocolMessageHandler.java | 18 +-- .../tier/sockets/ServerConnectionFactory.java | 39 +- .../sockets/ServiceLoadingFailureException.java | 35 ++ .../ServerConnectionFactoryIntegrationTest.java | 67 -- .../sockets/ServerConnectionFactoryTest.java| 43 ++- .../protobuf/ProtobufStreamProcessor.java | 15 ++- ...he.tier.sockets.ClientProtocolMessageHandler | 1 + .../RoundTripCacheConnectionJUnitTest.java | 123 +++ 8 files changed, 256 insertions(+), 85 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/db11ebc1/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java index 702609d..32e9e4b 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java @@ -22,14 +22,14 @@ import java.io.InputStream; import java.io.OutputStream; /** - * Stub, this will be hooked up to the new client protocol when it's implemented. + * This is an interface that other modules can implement to hook into + * {@link GenericProtocolServerConnection} to handle messages sent to Geode. + * + * Currently, only one {@link ClientProtocolMessageHandler} at a time can be used in a Geode + * instance. It gets wired into {@link ServerConnectionFactory} to create all instances of + * {@link GenericProtocolServerConnection}. */ -public class ClientProtocolMessageHandler { - /** - * Bogus, but it lets us write an integration test so that nobody breaks our flow. - */ - public void receiveMessage(InputStream inputStream, OutputStream outputStream, - InternalCache cache) throws IOException { -outputStream.write(inputStream.read()); - } +public interface ClientProtocolMessageHandler { + void receiveMessage(InputStream inputStream, OutputStream outputStream, InternalCache cache) + throws IOException; } http://git-wip-us.apache.org/repos/asf/geode/blob/db11ebc1/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java index e4746a7..ad13b78 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java @@ -22,14 +22,46 @@ import org.apache.geode.internal.security.SecurityService; import java.io.IOException; import java.net.Socket; +import java.util.Iterator; +import java.util.ServiceLoader; +import javax.management.ServiceNotFoundException; /** * Creates instances of ServerConnection based on the connection mode provided. */ public class ServerConnectionFactory { - // TODO: implement ClientProtocolMessageHandler. - private static final ClientProtocolMessageHandler protobufProtocolHandler = - new ClientProtocolMessageHandler(); + private static ClientProtocolMessageHandler protobufProtocolHandler; + private static final Object protocolLoadLock = new Object(); + + private static ClientProtocolMessageHandler findClientProtocolMessageHandler() { +if (protobufProtocolHandler != null) { + return protobufProtocolHandler; +} + +synchronized (protocolLoadLock) { + if (protobufProtocolHandler != null) { +return protobufProtocolHandler; + } + + ServiceLoader loader = + ServiceLoader.load(ClientProtocolMessageHandler.class); + Iterator iterator = loader.iterator(); + + if
[25/50] [abbrv] geode git commit: GEODE-2919: Provide finer grained security
http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java index 155b1ad..c281080 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsTest.java @@ -16,21 +16,16 @@ package org.apache.geode.management.internal.cli.commands; -import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; -import org.mockito.ArgumentCaptor; import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.management.DistributedSystemMXBean; -import org.apache.geode.management.internal.cli.functions.RegionFunctionArgs; import org.apache.geode.test.dunit.rules.GfshParserRule; import org.apache.geode.test.junit.categories.IntegrationTest; @@ -49,17 +44,7 @@ public class CreateAlterDestroyRegionCommandsTest { doReturn(cache).when(spy).getCache(); doReturn(dsMBean).when(spy).getDSMBean(cache); -parser.executeLastCommandWithInstance(spy); - -ArgumentCaptor argsCaptor = -ArgumentCaptor.forClass(RegionFunctionArgs.class); - -verify(spy).validateRegionFunctionArgs(any(), argsCaptor.capture()); - -RegionFunctionArgs args = argsCaptor.getValue(); -assertThat(args.getPartitionResolver()).isEqualTo("Foo"); - -assertThatThrownBy(() -> spy.validateRegionFunctionArgs(cache, args)) +assertThatThrownBy(() -> parser.executeLastCommandWithInstance(spy)) .hasMessageContaining("Foo is an invalid Partition Resolver"); } } http://git-wip-us.apache.org/repos/asf/geode/blob/451d12e8/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthenticationJUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthenticationJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthenticationJUnitTest.java index 9a1605a..1d98087 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthenticationJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthenticationJUnitTest.java @@ -16,28 +16,26 @@ package org.apache.geode.management.internal.security; import static org.apache.geode.distributed.ConfigurationProperties.SECURITY_MANAGER; -import org.apache.geode.management.CacheServerMXBean; -import org.apache.geode.security.TestSecurityManager; -import org.apache.geode.test.dunit.rules.ConnectionConfiguration; -import org.apache.geode.test.dunit.rules.MBeanServerConnectionRule; -import org.apache.geode.test.dunit.rules.ServerStarterRule; -import org.apache.geode.test.junit.categories.IntegrationTest; import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; +import org.apache.geode.management.CacheServerMXBean; +import org.apache.geode.security.SimpleTestSecurityManager; +import org.apache.geode.test.dunit.rules.ConnectionConfiguration; +import org.apache.geode.test.dunit.rules.MBeanServerConnectionRule; +import org.apache.geode.test.dunit.rules.ServerStarterRule; +import org.apache.geode.test.junit.categories.IntegrationTest; + @Category(IntegrationTest.class) public class CacheServerMBeanAuthenticationJUnitTest { private CacheServerMXBean bean; @ClassRule public static ServerStarterRule server = new ServerStarterRule().withJMXManager() - .withProperty(SECURITY_MANAGER, TestSecurityManager.class.getName()) - .withProperty(TestSecurityManager.SECURITY_JSON, - "org/apache/geode/management/internal/security/cacheServer.json") - .withAutoStart(); + .withProperty(SECURITY_MANAGER, SimpleTestSecurityManager.class.getName()).withAutoStart(); @Rule public MBeanServerConnectionRule connectionRule = @@ -49,7 +47,7 @@ public class CacheServerMBeanAuthenticationJUnitTest { } @Test - @ConnectionConfiguration(user = "data-admin", password = "1234567") +
[36/50] [abbrv] geode git commit: GEODE-3075: changes in response to feedback; refactor some.
GEODE-3075: changes in response to feedback; refactor some. `AcceptorImpl.handleNewClientConnection` has had refactoring and should be a bit more understandable. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/c71c28df Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/c71c28df Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/c71c28df Branch: refs/heads/feature/GEODE-2804v3 Commit: c71c28dff7fd6d20798fadcbd6a1a15f055ae52e Parents: cdcc4d9 Author: Galen OSullivanAuthored: Mon Jun 19 17:48:53 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../geode/internal/cache/tier/Acceptor.java | 2 +- .../cache/tier/sockets/AcceptorImpl.java| 316 ++- .../GenericProtocolServerConnection.java| 85 + .../sockets/NewProtocolServerConnection.java| 87 - .../tier/sockets/ServerConnectionFactory.java | 9 +- .../ServerConnectionFactoryIntegrationTest.java | 45 ++- .../sockets/ServerConnectionFactoryTest.java| 15 +- 7 files changed, 291 insertions(+), 268 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/c71c28df/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java index a95195a..e12a409 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java @@ -74,7 +74,7 @@ public abstract class Acceptor { /** * For the new client-server protocol, which ignores the usual handshake mechanism. */ - public static final byte CLIENT_TO_SERVER_NEW_PROTOCOL = (byte) 110; + public static final byte PROTOBUF_CLIENT_SERVER_PROTOCOL = (byte) 110; /** * The GFE version of the server. http://git-wip-us.apache.org/repos/asf/geode/blob/c71c28df/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java index 24efc93..50f7006 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java @@ -94,7 +94,7 @@ import javax.net.ssl.SSLException; /** * Implements the acceptor thread on the bridge server. Accepts connections from the edge and starts * up threads to process requests from these. - * + * * @since GemFire 2.0.2 */ @SuppressWarnings("deprecation") @@ -113,19 +113,29 @@ public class AcceptorImpl extends Acceptor implements Runnable { */ private final ThreadPoolExecutor hsPool; - /** The port on which this acceptor listens for client connections */ + /** + * The port on which this acceptor listens for client connections + */ private final int localPort; - /** The server socket that handles requests for connections */ + /** + * The server socket that handles requests for connections + */ private ServerSocket serverSock = null; - /** The GemFire cache served up by this acceptor */ + /** + * The GemFire cache served up by this acceptor + */ protected final InternalCache cache; - /** Caches region information */ + /** + * Caches region information + */ private final CachedRegionHelper crHelper; - /** A lock to prevent close from occurring while creating a ServerConnection */ + /** + * A lock to prevent close from occurring while creating a ServerConnection + */ private final Object syncLock = new Object(); /** @@ -165,7 +175,9 @@ public class AcceptorImpl extends Acceptor implements Runnable { */ public static final int DEFAULT_HANDSHAKE_TIMEOUT_MS = 59000; - /** Test value for handshake timeout */ + /** + * Test value for handshake timeout + */ protected static final int handShakeTimeout = Integer.getInteger(HANDSHAKE_TIMEOUT_PROPERTY_NAME, DEFAULT_HANDSHAKE_TIMEOUT_MS).intValue(); @@ -180,17 +192,25 @@ public class AcceptorImpl extends Acceptor implements Runnable { */ public static final int DEFAULT_ACCEPT_TIMEOUT_MS = 9900; - /** Test value for accept timeout */ + /** + * Test value for accept timeout + */ private final int acceptTimeout = Integer.getInteger(ACCEPT_TIMEOUT_PROPERTY_NAME,
[06/50] [abbrv] geode git commit: Merge branch 'develop' into feature/GEODE-3071
Merge branch 'develop' into feature/GEODE-3071 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/dba7dcd3 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/dba7dcd3 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/dba7dcd3 Branch: refs/heads/feature/GEODE-2804v3 Commit: dba7dcd3042ae7cf9776822bb4e69f47291fc296 Parents: 07e8986 78f08e8 Author: Jens DeppeAuthored: Mon Jun 19 08:23:24 2017 -0700 Committer: Jens Deppe Committed: Mon Jun 19 08:23:24 2017 -0700 -- .../cli/commands/StatusLocatorRealGfshTest.java | 50 +++ ...erConfigurationServiceEndToEndDUnitTest.java | 8 +- .../geode/test/dunit/rules/gfsh/GfshRule.java | 116 ++ .../geode/test/dunit/rules/gfsh/GfshScript.java | 124 ++ .../source/subnavs/geode-subnav.erb | 8 +- geode-core/build.gradle | 4 - .../internal/InternalDistributedSystem.java | 62 +-- .../apache/geode/internal/cache/EventID.java| 2 +- .../geode/internal/cache/GemFireCacheImpl.java | 2 - .../geode/internal/jta/GlobalTransaction.java | 4 + .../geode/internal/jta/TransactionImpl.java | 3 + .../internal/jta/TransactionManagerImpl.java| 15 + .../geode/internal/jta/UserTransactionImpl.java | 4 + .../org/apache/geode/internal/jta/XidImpl.java | 4 + .../internal/security/CallbackInstantiator.java | 28 ++ .../security/CustomSecurityService.java | 346 .../security/DisabledSecurityService.java | 221 --- .../security/EnabledSecurityService.java| 393 --- .../security/IntegratedSecurityService.java | 374 ++ .../security/LegacySecurityService.java | 186 + .../internal/security/SecurityService.java | 99 +++-- .../security/SecurityServiceFactory.java| 188 +++-- .../internal/security/SecurityServiceType.java | 28 -- .../security/shiro/ConfigInitializer.java | 43 -- .../security/shiro/CustomAuthRealm.java | 19 +- .../security/shiro/RealmInitializer.java| 54 --- .../security/shiro/SecurityManagerProvider.java | 83 .../internal/cli/commands/ConfigCommands.java | 17 +- .../CreateAlterDestroyRegionCommands.java | 24 +- .../internal/cli/commands/DataCommands.java | 4 +- .../internal/cli/commands/DeployCommands.java | 57 +-- .../cli/commands/DiskStoreCommands.java | 12 +- .../cli/commands/DurableClientCommands.java | 22 +- .../cli/commands/ExportLogsCommand.java | 4 +- .../internal/cli/commands/FunctionCommands.java | 20 +- .../internal/cli/commands/IndexCommands.java| 14 +- .../cli/commands/LauncherLifecycleCommands.java | 4 +- .../internal/cli/commands/MemberCommands.java | 4 +- .../cli/commands/MiscellaneousCommands.java | 34 +- .../internal/cli/commands/QueueCommands.java| 2 +- .../internal/cli/commands/RegionCommands.java | 6 +- .../internal/cli/commands/WanCommands.java | 116 +++--- .../internal/cli/functions/DeployFunction.java | 3 - .../cli/functions/UndeployFunction.java | 9 +- .../internal/cli/i18n/CliStrings.java | 99 + .../controllers/ConfigCommandsController.java | 24 +- .../web/controllers/DataCommandsController.java | 4 +- .../controllers/DeployCommandsController.java | 26 +- .../DiskStoreCommandsController.java| 22 +- .../DurableClientCommandsController.java| 50 +-- .../web/controllers/ExportLogController.java| 10 +- .../controllers/FunctionCommandsController.java | 32 +- .../controllers/IndexCommandsController.java| 36 +- .../controllers/MemberCommandsController.java | 6 +- .../MiscellaneousCommandsController.java| 36 +- .../controllers/QueueCommandsController.java| 6 +- .../controllers/RegionCommandsController.java | 20 +- .../web/controllers/WanCommandsController.java | 143 +++ .../internal/index/HashIndexSetJUnitTest.java | 2 +- .../membership/MembershipJUnitTest.java | 3 - .../messenger/JGroupsMessengerJUnitTest.java| 6 +- .../gms/mgr/GMSMembershipManagerJUnitTest.java | 8 +- .../DeposePrimaryBucketMessageTest.java | 1 - .../partitioned/FetchEntryMessageTest.java | 1 - .../FetchPartitionDetailsMessageTest.java | 1 - .../partitioned/MoveBucketMessageTest.java | 1 - .../partitioned/RemoveBucketMessageTest.java| 1 - .../sockets/ClientServerMiscBCDUnitTest.java| 42 ++ .../tier/sockets/ClientServerMiscDUnitTest.java | 4 +- .../tier/sockets/command/ContainsKey66Test.java | 2 +- .../tier/sockets/command/CreateRegionTest.java | 2 +- .../tier/sockets/command/Destroy65Test.java | 2 +- .../tier/sockets/command/DestroyRegionTest.java | 2 +-
[43/50] [abbrv] geode git commit: Add ServiceLoadingFailureException to excludedClasses.txt so tests pass.
Add ServiceLoadingFailureException to excludedClasses.txt so tests pass. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/da64fc6f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/da64fc6f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/da64fc6f Branch: refs/heads/feature/GEODE-2804v3 Commit: da64fc6fbccc6a148ac7bd488593881c90b092d8 Parents: db11ebc Author: Brian RoweAuthored: Thu Jun 22 23:27:22 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:23 2017 -0700 -- .../resources/org/apache/geode/codeAnalysis/excludedClasses.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/da64fc6f/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt index 6a6e0c1..c2629f1 100644 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt @@ -7,6 +7,7 @@ org/apache/geode/distributed/LocatorLauncher$Command org/apache/geode/distributed/ServerLauncher org/apache/geode/distributed/ServerLauncher$Command org/apache/geode/distributed/internal/DistributionManager +org/apache/geode/internal/cache/tier/sockets/ServiceLoadingFailureException org/apache/geode/internal/JarDeployer org/apache/geode/internal/logging/GemFireLevel org/apache/geode/internal/logging/LoggingThreadGroup
[02/50] [abbrv] geode git commit: GEODE-3072: Ignore dunit test
GEODE-3072: Ignore dunit test Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/4bf80a6a Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/4bf80a6a Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/4bf80a6a Branch: refs/heads/feature/GEODE-2804v3 Commit: 4bf80a6a9236f98070ce63a1d77dce3732c35b4f Parents: 42350f1 Author: Barry OglesbyAuthored: Fri Jun 16 14:10:27 2017 -0700 Committer: Barry Oglesby Committed: Fri Jun 16 14:10:27 2017 -0700 -- .../internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/4bf80a6a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java index c732662..fa68781 100755 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java @@ -31,6 +31,7 @@ import org.apache.geode.test.junit.categories.ClientServerTest; import org.apache.geode.test.junit.categories.DistributedTest; import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory; import org.awaitility.Awaitility; +import org.junit.Ignore; import org.junit.Test; import org.junit.experimental.categories.Category; import org.junit.runner.RunWith; @@ -95,7 +96,8 @@ public class ClientServerMiscBCDUnitTest extends ClientServerMiscDUnitTest { }); } - @Test + //@Test + @Ignore public void testDistributedMemberBytesWithCurrentServerAndOldClient() throws Exception { // Start current version server int serverPort = initServerCache(true);
[32/50] [abbrv] geode git commit: GEODE-2819 Document http status code 414 for PUT
GEODE-2819 Document http status code 414 for PUT - Include that 2000-byte size limits should work for most components. This closes #599 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/49123c47 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/49123c47 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/49123c47 Branch: refs/heads/feature/GEODE-2804v3 Commit: 49123c475052d730dfba0b021736d82c5404446c Parents: 658b20f Author: Karen MillerAuthored: Fri Jun 23 16:25:32 2017 -0700 Committer: Karen Miller Committed: Mon Jun 26 09:07:27 2017 -0700 -- geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/49123c47/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb -- diff --git a/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb b/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb index fa17580..e0e0c03 100644 --- a/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb +++ b/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb @@ -100,4 +100,5 @@ Response-payload: null |---|--| | 400 BAD REQUEST | Returned if one or more of the supplied keys is an invalid format. | | 404 NOT FOUND | Returned if the region is not found. | +| 414 REQUEST URI TOO LONG | Returned if the URI is longer than the system component can handle. Limiting the size to 2000 bytes will work for most components. | | 500 INTERNAL SERVER ERROR | Error encountered at Geode server. Check the HTTP response body for a stack trace of the exception. |
[20/50] [abbrv] geode git commit: GEODE-2820: Added awaitlity clause to wait for the index size to be correct
GEODE-2820: Added awaitlity clause to wait for the index size to be correct * Added awaitility clause to wait for all the indexes to have all the entries * This is done to make sure that the queries are executed after the indexes are ready. This closes #588 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/822946b9 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/822946b9 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/822946b9 Branch: refs/heads/feature/GEODE-2804v3 Commit: 822946b9ddc426b45857c6b3919cd0b8b5a98406 Parents: 43b00bd Author: nabarunAuthored: Thu Jun 15 16:32:46 2017 -0700 Committer: nabarun Committed: Wed Jun 21 15:12:49 2017 -0700 -- .../dunit/QueryIndexUsingXMLDUnitTest.java | 30 +--- 1 file changed, 26 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/822946b9/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java index 83f1da3..e08b019 100644 --- a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java @@ -21,6 +21,7 @@ import static org.apache.geode.test.dunit.Invoke.*; import static org.apache.geode.test.dunit.LogWriterUtils.*; import static org.assertj.core.api.Assertions.*; import static org.awaitility.Awaitility.*; +import static org.junit.Assert.assertEquals; import java.io.File; import java.net.URL; @@ -28,8 +29,10 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Properties; +import java.util.concurrent.TimeUnit; import org.apache.commons.io.FileUtils; +import org.awaitility.Awaitility; import org.junit.After; import org.junit.Before; import org.junit.Ignore; @@ -473,11 +476,7 @@ public class QueryIndexUsingXMLDUnitTest extends JUnit4CacheTestCase { /** * Creates async indexes and compares the results between index and non-index results. - * - * DISABLED. This test is disabled due to a high rate of throw new AssertionError. See ticket - * #52167 */ - @Ignore("TODO: test is disabled because of #52167") @Test public void testCreateAsyncIndexWhileDoingGIIAndCompareQueryResults() throws Exception { Host host = Host.getHost(0); @@ -510,11 +509,34 @@ public class QueryIndexUsingXMLDUnitTest extends JUnit4CacheTestCase { vm1.invoke(prIndexCreationCheck(PERSISTENT_REG_NAME, "secIndex", 50)); vm1.invoke(indexCreationCheck(REP_REG_NAME, "secIndex")); +vm0.invoke(() -> validateIndexSize()); +vm1.invoke(() -> validateIndexSize()); + + // Execute query and verify index usage vm0.invoke(executeQueryAndCompareResult(false)); vm1.invoke(executeQueryAndCompareResult(false)); } + public void validateIndexSize() { +Awaitility.await().atMost(60, TimeUnit.SECONDS).until(() -> { + boolean indexSizeCheck_NAME = validateIndexSizeForRegion(NAME); + boolean indexSizeCheck_REP_REG_NAME = validateIndexSizeForRegion(REP_REG_NAME); + boolean indexSizeCheck_PERSISTENT_REG_NAME = validateIndexSizeForRegion(PERSISTENT_REG_NAME); + assertEquals("Index does not contain all the entries after 60 seconds have elapsed ", true, + (indexSizeCheck_NAME && indexSizeCheck_REP_REG_NAME + && indexSizeCheck_PERSISTENT_REG_NAME)); +}); + } + + private boolean validateIndexSizeForRegion(final String regionName) { +Region region = getCache().getRegion(regionName); +QueryService queryService = getCache().getQueryService(); +return queryService.getIndex(region, "statusIndex").getStatistics().getNumberOfValues() == 500 +&& queryService.getIndex(region, "idIndex").getStatistics().getNumberOfValues() == 500 +&& queryService.getIndex(region, "statusIndex").getStatistics().getNumberOfValues() == 500; + } + @Test public void testIndexCreationForReplicatedPersistentOverFlowRegionOnRestart() throws Exception { Host host = Host.getHost(0);
[33/50] [abbrv] geode git commit: GEODE-3075: Add an integration test for the ServerConnectionFactory
GEODE-3075: Add an integration test for the ServerConnectionFactory the current implementation is bogus, but does test that the flow works. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/4ace36af Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/4ace36af Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/4ace36af Branch: refs/heads/feature/GEODE-2804v3 Commit: 4ace36af00a22e0995a2e0d07db75f5508524a25 Parents: dfdde4a Author: Galen OSullivanAuthored: Fri Jun 16 09:59:11 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../sockets/ClientProtocolMessageHandler.java | 8 ++- .../sockets/NewProtocolServerConnection.java| 7 ++- .../ServerConnectionFactoryIntegrationTest.java | 66 .../sockets/ServerConnectionFactoryTest.java| 44 ++--- 4 files changed, 100 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/4ace36af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java index db42330..702609d 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java @@ -17,6 +17,7 @@ package org.apache.geode.internal.cache.tier.sockets; import org.apache.geode.internal.cache.InternalCache; +import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -24,6 +25,11 @@ import java.io.OutputStream; * Stub, this will be hooked up to the new client protocol when it's implemented. */ public class ClientProtocolMessageHandler { + /** + * Bogus, but it lets us write an integration test so that nobody breaks our flow. + */ public void receiveMessage(InputStream inputStream, OutputStream outputStream, - InternalCache cache) {} + InternalCache cache) throws IOException { +outputStream.write(inputStream.read()); + } } http://git-wip-us.apache.org/repos/asf/geode/blob/4ace36af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java index a78cd1c..83b23b1 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java @@ -50,9 +50,9 @@ public class NewProtocolServerConnection extends ServerConnection { * @param acceptor */ public NewProtocolServerConnection(Socket s, InternalCache c, CachedRegionHelper helper, - CacheServerStats stats, int hsTimeout, int socketBufferSize, String communicationModeStr, - byte communicationMode, Acceptor acceptor, ClientProtocolMessageHandler newClientProtocol, - SecurityService securityService) { + CacheServerStats stats, int hsTimeout, int socketBufferSize, String communicationModeStr, + byte communicationMode, Acceptor acceptor, ClientProtocolMessageHandler newClientProtocol, + SecurityService securityService) { super(s, c, helper, stats, hsTimeout, socketBufferSize, communicationModeStr, communicationMode, acceptor, securityService); assert (communicationMode == AcceptorImpl.CLIENT_TO_SERVER_NEW_PROTOCOL); @@ -65,6 +65,7 @@ public class NewProtocolServerConnection extends ServerConnection { Socket socket = this.getSocket(); InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); + // TODO serialization types? newClientProtocol.receiveMessage(inputStream, outputStream, this.getCache()); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/geode/blob/4ace36af/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java -- diff --git
[07/50] [abbrv] geode git commit: GEODE-2601: Fixing banner being logged twice during locator startup (now only logs once if both locator and distributed systems are started)
GEODE-2601: Fixing banner being logged twice during locator startup (now only logs once if both locator and distributed systems are started) Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/31544243 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/31544243 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/31544243 Branch: refs/heads/feature/GEODE-2804v3 Commit: 31544243fd94aa8c1966e29670a4aa12363557c6 Parents: 78f08e8 Author: YehEmilyAuthored: Thu Jun 8 14:40:39 2017 -0700 Committer: Ken Howe Committed: Mon Jun 19 09:04:11 2017 -0700 -- .../internal/InternalDistributedSystem.java | 32 +--- .../distributed/internal/InternalLocator.java | 3 +- .../internal/logging/LogWriterFactory.java | 16 +- 3 files changed, 23 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/31544243/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java index 85f9146..d77e8b9 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java @@ -1797,7 +1797,7 @@ public class InternalDistributedSystem extends DistributedSystem @Override public Statistics[] getStatistics() { List statsList = this.statsList; -return (Statistics[]) statsList.toArray(new Statistics[0]); +return statsList.toArray(new Statistics[0]); } // StatisticsFactory methods @@ -1829,7 +1829,7 @@ public class InternalDistributedSystem extends DistributedSystem } public FunctionStats getFunctionStats(String textId) { -FunctionStats stats = (FunctionStats) functionExecutionStatsMap.get(textId); +FunctionStats stats = functionExecutionStatsMap.get(textId); if (stats == null) { stats = new FunctionStats(this, textId); FunctionStats oldStats = functionExecutionStatsMap.putIfAbsent(textId, stats); @@ -1870,7 +1870,7 @@ public class InternalDistributedSystem extends DistributedSystem */ public interface StatisticsVisitor { -public void visit(Statistics stat); +void visit(Statistics stat); } public Set getAllFunctionExecutionIds() { @@ -2167,7 +2167,7 @@ public class InternalDistributedSystem extends DistributedSystem private void notifyResourceEventListeners(ResourceEvent event, Object resource) { for (Iterator iter = resourceListeners.iterator(); iter.hasNext();) { try { -ResourceEventsListener listener = (ResourceEventsListener) iter.next(); +ResourceEventsListener listener = iter.next(); listener.handleEvent(event, resource); } catch (CancelException e) { // ignore @@ -2302,7 +2302,7 @@ public class InternalDistributedSystem extends DistributedSystem boolean isDurableClient = false; if (dca != null) { -isDurableClient = ((dca.getId() == null || dca.getId().isEmpty()) ? false : true); +isDurableClient = (!(dca.getId() == null || dca.getId().isEmpty())); } ((InternalDistributedSystem) ds).disconnect(false, @@ -2337,7 +2337,7 @@ public class InternalDistributedSystem extends DistributedSystem * * @param sys the the system we are disconnecting from process should take before returning. */ -public void onDisconnect(InternalDistributedSystem sys); +void onDisconnect(InternalDistributedSystem sys); } @@ -2352,7 +2352,7 @@ public class InternalDistributedSystem extends DistributedSystem * @param oldSystem the old DS, which is in a partially disconnected state and cannot be used *for messaging */ -public void reconnecting(InternalDistributedSystem oldSystem); +void reconnecting(InternalDistributedSystem oldSystem); /** * Invoked after a reconnect to the distributed system @@ -2360,8 +2360,7 @@ public class InternalDistributedSystem extends DistributedSystem * @param oldSystem the old DS * @param newSystem the new DS */ -public void onReconnect(InternalDistributedSystem oldSystem, -InternalDistributedSystem newSystem); +void onReconnect(InternalDistributedSystem oldSystem, InternalDistributedSystem newSystem); } /** @@ -2374,7 +2373,7 @@ public class InternalDistributedSystem extends DistributedSystem * *
geode git commit: GEODE-2804 Caching the InetAddress for configured ip string
Repository: geode Updated Branches: refs/heads/feature/GEODE-2804v3 [created] b73119046 GEODE-2804 Caching the InetAddress for configured ip string 1. We keep configure host string in HostAddress class 2. We reuse InetsocketAddress if it is ipString. 3. Client has logic to retry thus we keep InetsocketAddress even if it is not ip string. GEODE-3017 IPv6 issue on windows. Above changes fixed this issue. GEODE-2940 Now we don't validate configure host string on start. As there is possibility that host may not available. 1. Earlier wan config were failing because of that. Now we just keep those configure host string. And try this later. Added unit tests for it. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b7311904 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b7311904 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b7311904 Branch: refs/heads/feature/GEODE-2804v3 Commit: b73119046f845c02f160b85c9b70f54e870d8f03 Parents: cf7274e Author: Hitesh KhamesraAuthored: Tue Jun 27 12:51:12 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jun 27 12:51:12 2017 -0700 -- geode-assembly/build.gradle | 1 + .../src/test/resources/expected_jars.txt| 3 +- geode-core/build.gradle | 3 + .../admin/internal/DistributionLocatorImpl.java | 6 +- .../internal/AutoConnectionSourceImpl.java | 133 +++ .../geode/cache/client/internal/PoolImpl.java | 15 ++- .../internal/AbstractDistributionConfig.java| 8 +- .../internal/InternalDistributedSystem.java | 6 +- .../internal/membership/gms/GMSUtil.java| 11 +- .../membership/gms/locator/GMSLocator.java | 9 +- .../membership/gms/membership/GMSJoinLeave.java | 8 +- .../membership/gms/membership/HostAddress.java | 118 .../internal/tcpserver/TcpClient.java | 3 +- .../admin/remote/DistributionLocatorId.java | 45 +-- .../admin/remote/RemoteTransportConfig.java | 5 +- .../cache/ClusterConfigurationLoader.java | 2 +- .../geode/internal/cache/PoolFactoryImpl.java | 30 +++-- .../internal/AutoConnectionSourceDUnitTest.java | 12 +- .../AutoConnectionSourceImplJUnitTest.java | 84 ++-- .../internal/DistributionConfigJUnitTest.java | 2 +- .../internal/StartupMessageDataJUnitTest.java | 4 +- .../gms/membership/GMSJoinLeaveJUnitTest.java | 1 + .../geode/codeAnalysis/excludedClasses.txt | 3 +- .../internal/locator/wan/LocatorDiscovery.java | 10 +- .../wan/LocatorMembershipListenerImpl.java | 8 +- .../cache/wan/AbstractRemoteGatewaySender.java | 4 +- .../wan/misc/WanAutoDiscoveryDUnitTest.java | 7 +- gradle/dependency-versions.properties | 1 + 28 files changed, 403 insertions(+), 139 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/b7311904/geode-assembly/build.gradle -- diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index 39bb542..95ccc70 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -140,6 +140,7 @@ def cp = { it.contains('commons-collections') || it.contains('commons-lang') || it.contains('commons-logging') || +it.contains('commons-validator') || it.contains('fast-classpath-scanner') || it.contains('fastutil') || it.contains('jackson-annotations') || http://git-wip-us.apache.org/repos/asf/geode/blob/b7311904/geode-assembly/src/test/resources/expected_jars.txt -- diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt index 6260167..b0e7154 100644 --- a/geode-assembly/src/test/resources/expected_jars.txt +++ b/geode-assembly/src/test/resources/expected_jars.txt @@ -85,4 +85,5 @@ springfox-spring-web springfox-swagger springfox-swagger-common springfox-swagger-ui -swagger-models \ No newline at end of file +swagger-models +commons-validator http://git-wip-us.apache.org/repos/asf/geode/blob/b7311904/geode-core/build.gradle -- diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 7f34b4a..9ecb0f9 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -39,6 +39,8 @@ dependencies { compile 'antlr:antlr:' + project.'antlr.version' compile 'com.fasterxml.jackson.core:jackson-databind:' + project.'jackson.version' compile 'commons-io:commons-io:' + project.'commons-io.version' +
[geode] Git Push Summary
Repository: geode Updated Branches: refs/heads/feature/GEODE-2804v2 [created] 718583b29
geode git commit: GEODE-2804 Caching the InetAddress for configured ip string
Repository: geode Updated Branches: refs/heads/feature/GEODE-2804 d303e7c95 -> 5c60b9696 GEODE-2804 Caching the InetAddress for configured ip string 1. We keep configure host string in HostAddress class 2. We reuse InetsocketAddress if it is ipString. 3. Client has logic to retry thus we keep InetsocketAddress even if it is not ip string. GEODE-3017 IPv6 issue on windows. Above changes fixed this issue. GEODE-2940 Now we don't validate configure host string on start. As there is possibility that host may not available. 1. Earlier wan config were failing because of that. Now we just keep those configure host string. And try this later. Added unit tests for it. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/5c60b969 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/5c60b969 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/5c60b969 Branch: refs/heads/feature/GEODE-2804 Commit: 5c60b9696fdb42426c4df8f7ca78599fcb872cc0 Parents: d303e7c Author: Hitesh KhamesraAuthored: Tue Jun 27 11:51:11 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jun 27 11:51:11 2017 -0700 -- geode-assembly/build.gradle | 1 + .../src/test/resources/expected_jars.txt| 3 +- geode-core/build.gradle | 3 + .../admin/internal/DistributionLocatorImpl.java | 6 +- .../internal/AutoConnectionSourceImpl.java | 133 +++ .../geode/cache/client/internal/PoolImpl.java | 15 ++- .../internal/AbstractDistributionConfig.java| 8 +- .../internal/InternalDistributedSystem.java | 6 +- .../internal/membership/gms/GMSUtil.java| 11 +- .../membership/gms/locator/GMSLocator.java | 9 +- .../membership/gms/membership/GMSJoinLeave.java | 8 +- .../membership/gms/membership/HostAddress.java | 118 .../internal/tcpserver/TcpClient.java | 3 +- .../admin/remote/DistributionLocatorId.java | 45 +-- .../admin/remote/RemoteTransportConfig.java | 5 +- .../cache/ClusterConfigurationLoader.java | 2 +- .../geode/internal/cache/PoolFactoryImpl.java | 30 +++-- .../internal/AutoConnectionSourceDUnitTest.java | 12 +- .../AutoConnectionSourceImplJUnitTest.java | 84 ++-- .../internal/DistributionConfigJUnitTest.java | 2 +- .../internal/StartupMessageDataJUnitTest.java | 4 +- .../gms/membership/GMSJoinLeaveJUnitTest.java | 1 + .../geode/codeAnalysis/excludedClasses.txt | 3 +- .../internal/locator/wan/LocatorDiscovery.java | 10 +- .../wan/LocatorMembershipListenerImpl.java | 8 +- .../cache/wan/AbstractRemoteGatewaySender.java | 4 +- .../wan/misc/WanAutoDiscoveryDUnitTest.java | 7 +- gradle/dependency-versions.properties | 1 + 28 files changed, 403 insertions(+), 139 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/5c60b969/geode-assembly/build.gradle -- diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index 39bb542..95ccc70 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -140,6 +140,7 @@ def cp = { it.contains('commons-collections') || it.contains('commons-lang') || it.contains('commons-logging') || +it.contains('commons-validator') || it.contains('fast-classpath-scanner') || it.contains('fastutil') || it.contains('jackson-annotations') || http://git-wip-us.apache.org/repos/asf/geode/blob/5c60b969/geode-assembly/src/test/resources/expected_jars.txt -- diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt index 6260167..b0e7154 100644 --- a/geode-assembly/src/test/resources/expected_jars.txt +++ b/geode-assembly/src/test/resources/expected_jars.txt @@ -85,4 +85,5 @@ springfox-spring-web springfox-swagger springfox-swagger-common springfox-swagger-ui -swagger-models \ No newline at end of file +swagger-models +commons-validator http://git-wip-us.apache.org/repos/asf/geode/blob/5c60b969/geode-core/build.gradle -- diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 7f34b4a..9ecb0f9 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -39,6 +39,8 @@ dependencies { compile 'antlr:antlr:' + project.'antlr.version' compile 'com.fasterxml.jackson.core:jackson-databind:' + project.'jackson.version' compile 'commons-io:commons-io:' + project.'commons-io.version' +
geode git commit: Revert "GEODE-2804 Caching the InetAddress for configured ip string"
Repository: geode Updated Branches: refs/heads/feature/GEODE-2804 58afd6869 -> d303e7c95 Revert "GEODE-2804 Caching the InetAddress for configured ip string" This reverts commit 58afd6869980028e6b8d0e5848a8fc7a00270262. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/d303e7c9 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/d303e7c9 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/d303e7c9 Branch: refs/heads/feature/GEODE-2804 Commit: d303e7c953535c11df0547e2282cc27bad1d6f57 Parents: 58afd68 Author: Hitesh KhamesraAuthored: Tue Jun 27 11:49:49 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jun 27 11:49:49 2017 -0700 -- geode-assembly/build.gradle | 1 - .../src/test/resources/expected_jars.txt| 3 +- geode-core/build.gradle | 3 - .../admin/internal/DistributionLocatorImpl.java | 6 +- .../internal/AutoConnectionSourceImpl.java | 133 --- .../geode/cache/client/internal/PoolImpl.java | 15 +-- .../internal/AbstractDistributionConfig.java| 8 +- .../internal/InternalDistributedSystem.java | 6 +- .../internal/membership/gms/GMSUtil.java| 11 +- .../membership/gms/locator/GMSLocator.java | 9 +- .../membership/gms/membership/GMSJoinLeave.java | 8 +- .../internal/tcpserver/TcpClient.java | 3 +- .../admin/remote/DistributionLocatorId.java | 45 ++- .../admin/remote/RemoteTransportConfig.java | 5 +- .../cache/ClusterConfigurationLoader.java | 2 +- .../geode/internal/cache/PoolFactoryImpl.java | 30 ++--- .../internal/AutoConnectionSourceDUnitTest.java | 12 +- .../AutoConnectionSourceImplJUnitTest.java | 84 ++-- .../internal/DistributionConfigJUnitTest.java | 2 +- .../internal/StartupMessageDataJUnitTest.java | 4 +- .../gms/membership/GMSJoinLeaveJUnitTest.java | 1 - .../geode/codeAnalysis/excludedClasses.txt | 3 +- .../internal/locator/wan/LocatorDiscovery.java | 10 +- .../wan/LocatorMembershipListenerImpl.java | 8 +- .../cache/wan/AbstractRemoteGatewaySender.java | 4 +- .../wan/misc/WanAutoDiscoveryDUnitTest.java | 7 +- gradle/dependency-versions.properties | 1 - 27 files changed, 139 insertions(+), 285 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/d303e7c9/geode-assembly/build.gradle -- diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index 95ccc70..39bb542 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -140,7 +140,6 @@ def cp = { it.contains('commons-collections') || it.contains('commons-lang') || it.contains('commons-logging') || -it.contains('commons-validator') || it.contains('fast-classpath-scanner') || it.contains('fastutil') || it.contains('jackson-annotations') || http://git-wip-us.apache.org/repos/asf/geode/blob/d303e7c9/geode-assembly/src/test/resources/expected_jars.txt -- diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt index b0e7154..6260167 100644 --- a/geode-assembly/src/test/resources/expected_jars.txt +++ b/geode-assembly/src/test/resources/expected_jars.txt @@ -85,5 +85,4 @@ springfox-spring-web springfox-swagger springfox-swagger-common springfox-swagger-ui -swagger-models -commons-validator +swagger-models \ No newline at end of file http://git-wip-us.apache.org/repos/asf/geode/blob/d303e7c9/geode-core/build.gradle -- diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 9ecb0f9..7f34b4a 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -39,8 +39,6 @@ dependencies { compile 'antlr:antlr:' + project.'antlr.version' compile 'com.fasterxml.jackson.core:jackson-databind:' + project.'jackson.version' compile 'commons-io:commons-io:' + project.'commons-io.version' - compile 'commons-validator:commons-validator:' + project.'commons-validator.version' - compile 'commons-lang:commons-lang:' + project.'commons-lang.version' compile ('commons-modeler:commons-modeler:' + project.'commons-modeler.version') { exclude module: 'commons-digester' @@ -135,7 +133,6 @@ dependencies { testRuntime 'commons-collections:commons-collections:' + project.'commons-collections.version' testRuntime 'commons-configuration:commons-configuration:' + project.'commons-configuration.version' testRuntime 'commons-io:commons-io:' +
geode git commit: GEODE-2804 Caching the InetAddress for configured ip string
Repository: geode Updated Branches: refs/heads/feature/GEODE-2804 cf7274e6c -> 58afd6869 GEODE-2804 Caching the InetAddress for configured ip string 1. We keep configure host string in HostAddress class 2. We reuse InetsocketAddress if it is ipString. 3. Client has logic to retry thus we keep InetsocketAddress even if it is not ip string. GEODE-3017 IPv6 issue on windows. Above changes fixed this issue. GEODE-2940 Now we don't validate configure host string on start. As there is possibility that host may not available. 1. Earlier wan config were failing because of that. Now we just keep those configure host string. And try this later. Added unit tests for it. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/58afd686 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/58afd686 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/58afd686 Branch: refs/heads/feature/GEODE-2804 Commit: 58afd6869980028e6b8d0e5848a8fc7a00270262 Parents: cf7274e Author: Hitesh KhamesraAuthored: Tue Jun 27 11:39:33 2017 -0700 Committer: Hitesh Khamesra Committed: Tue Jun 27 11:39:33 2017 -0700 -- geode-assembly/build.gradle | 1 + .../src/test/resources/expected_jars.txt| 3 +- geode-core/build.gradle | 3 + .../admin/internal/DistributionLocatorImpl.java | 6 +- .../internal/AutoConnectionSourceImpl.java | 133 +++ .../geode/cache/client/internal/PoolImpl.java | 15 ++- .../internal/AbstractDistributionConfig.java| 8 +- .../internal/InternalDistributedSystem.java | 6 +- .../internal/membership/gms/GMSUtil.java| 11 +- .../membership/gms/locator/GMSLocator.java | 9 +- .../membership/gms/membership/GMSJoinLeave.java | 8 +- .../internal/tcpserver/TcpClient.java | 3 +- .../admin/remote/DistributionLocatorId.java | 45 +-- .../admin/remote/RemoteTransportConfig.java | 5 +- .../cache/ClusterConfigurationLoader.java | 2 +- .../geode/internal/cache/PoolFactoryImpl.java | 30 +++-- .../internal/AutoConnectionSourceDUnitTest.java | 12 +- .../AutoConnectionSourceImplJUnitTest.java | 84 ++-- .../internal/DistributionConfigJUnitTest.java | 2 +- .../internal/StartupMessageDataJUnitTest.java | 4 +- .../gms/membership/GMSJoinLeaveJUnitTest.java | 1 + .../geode/codeAnalysis/excludedClasses.txt | 3 +- .../internal/locator/wan/LocatorDiscovery.java | 10 +- .../wan/LocatorMembershipListenerImpl.java | 8 +- .../cache/wan/AbstractRemoteGatewaySender.java | 4 +- .../wan/misc/WanAutoDiscoveryDUnitTest.java | 7 +- gradle/dependency-versions.properties | 1 + 27 files changed, 285 insertions(+), 139 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/58afd686/geode-assembly/build.gradle -- diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index 39bb542..95ccc70 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -140,6 +140,7 @@ def cp = { it.contains('commons-collections') || it.contains('commons-lang') || it.contains('commons-logging') || +it.contains('commons-validator') || it.contains('fast-classpath-scanner') || it.contains('fastutil') || it.contains('jackson-annotations') || http://git-wip-us.apache.org/repos/asf/geode/blob/58afd686/geode-assembly/src/test/resources/expected_jars.txt -- diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt index 6260167..b0e7154 100644 --- a/geode-assembly/src/test/resources/expected_jars.txt +++ b/geode-assembly/src/test/resources/expected_jars.txt @@ -85,4 +85,5 @@ springfox-spring-web springfox-swagger springfox-swagger-common springfox-swagger-ui -swagger-models \ No newline at end of file +swagger-models +commons-validator http://git-wip-us.apache.org/repos/asf/geode/blob/58afd686/geode-core/build.gradle -- diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 7f34b4a..9ecb0f9 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -39,6 +39,8 @@ dependencies { compile 'antlr:antlr:' + project.'antlr.version' compile 'com.fasterxml.jackson.core:jackson-databind:' + project.'jackson.version' compile 'commons-io:commons-io:' + project.'commons-io.version' + compile 'commons-validator:commons-validator:' + project.'commons-validator.version' + compile
[13/13] geode git commit: Move new exception to sanctioned serializables.
Move new exception to sanctioned serializables. Although we don't serialize it, exceptions sometimes get sent between JVMs so it's best to be careful. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/e1c6c3a9 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/e1c6c3a9 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/e1c6c3a9 Branch: refs/heads/develop Commit: e1c6c3a973413045c595fcf31a01c269e7df7e82 Parents: da64fc6 Author: Galen OSullivanAuthored: Fri Jun 23 10:42:45 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:23 2017 -0700 -- .../resources/org/apache/geode/codeAnalysis/excludedClasses.txt | 1 - .../org/apache/geode/codeAnalysis/sanctionedSerializables.txt | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/e1c6c3a9/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt index c2629f1..6a6e0c1 100644 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt @@ -7,7 +7,6 @@ org/apache/geode/distributed/LocatorLauncher$Command org/apache/geode/distributed/ServerLauncher org/apache/geode/distributed/ServerLauncher$Command org/apache/geode/distributed/internal/DistributionManager -org/apache/geode/internal/cache/tier/sockets/ServiceLoadingFailureException org/apache/geode/internal/JarDeployer org/apache/geode/internal/logging/GemFireLevel org/apache/geode/internal/logging/LoggingThreadGroup http://git-wip-us.apache.org/repos/asf/geode/blob/e1c6c3a9/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt index 135f509..e5a111c 100755 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedSerializables.txt @@ -340,6 +340,7 @@ org/apache/geode/internal/cache/tier/sockets/CacheClientNotifier$2,false,this$0: org/apache/geode/internal/cache/tier/sockets/CacheClientProxy$MessageDispatcher$1,true,0,this$0:org/apache/geode/internal/cache/tier/sockets/CacheClientProxy$MessageDispatcher org/apache/geode/internal/cache/tier/sockets/ClientTombstoneMessage$TOperation,false org/apache/geode/internal/cache/tier/sockets/MessageTooLargeException,true,-8970585803331525833 +org/apache/geode/internal/cache/tier/sockets/ServiceLoadingFailureException,false org/apache/geode/internal/cache/tier/sockets/UnregisterAllInterest,true,5026160621257178459 org/apache/geode/internal/cache/tx/TransactionalOperation$ServerRegionOperation,false org/apache/geode/internal/cache/versions/ConcurrentCacheModificationException,true,2316928221010347462
[12/13] geode git commit: GEODE-3075: fix an integration test.
GEODE-3075: fix an integration test. I think the test fails because another test doesn't clean up system properties when it's done. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/e62e8250 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/e62e8250 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/e62e8250 Branch: refs/heads/develop Commit: e62e825090db50f77faaa3e222595ee1026d7a6c Parents: a3c66e1 Author: Galen OSullivanAuthored: Wed Jun 21 14:01:01 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:23 2017 -0700 -- .../cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/e62e8250/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java index 82c4e54..9a1509f 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java @@ -46,7 +46,9 @@ public class ServerConnectionFactoryIntegrationTest { @Test public void testNewProtocolHeaderLeadsToNewProtocolServerConnection() throws IOException { System.setProperty("geode.feature-protobuf-protocol", "true"); + CacheFactory cacheFactory = new CacheFactory(); +cacheFactory.set("mcast-port","0"); //sometimes it isn't due to other tests. Cache cache = cacheFactory.create(); CacheServer cacheServer = cache.addCacheServer();
[09/13] geode git commit: GEODE-2995: Handle stream of ProtoBuf encoded messages
GEODE-2995: Handle stream of ProtoBuf encoded messages This for now exists in isolation, but will be hooked up with the code currently in review for GEODE-3075 Signed-off-by: Alexander MurmannSigned-off-by: Brian Rowe Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/cdcc4d95 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/cdcc4d95 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/cdcc4d95 Branch: refs/heads/develop Commit: cdcc4d95634ae6377c0198cadba92f52cd436be0 Parents: 4ace36a Author: Udo Kohlmeyer Authored: Mon Jun 12 15:12:18 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- geode-protobuf/build.gradle | 64 ++ .../org/apache/geode/ProtobufUtilities.java | 34 ++ .../org/apache/geode/protocol/OpsProcessor.java | 53 .../InvalidProtocolMessageException.java| 25 .../handler/ProtobufStreamProcessor.java| 61 ++ .../geode/protocol/handler/ProtocolHandler.java | 27 + .../protobuf/ProtobufProtocolHandler.java | 41 +++ .../protocol/operations/OperationHandler.java | 27 + .../ProtobufRequestOperationParser.java | 33 + .../protobuf/GetRequestOperationHandler.java| 59 + .../registry/OperationsHandlerRegistry.java | 57 + ...rationHandlerAlreadyRegisteredException.java | 21 .../OperationHandlerNotRegisteredException.java | 21 .../ProtobufSerializationService.java | 50 .../serialization/SerializationService.java | 27 + .../geode/serialization/SerializationType.java | 36 ++ .../apache/geode/serialization/TypeCodec.java | 23 .../geode/serialization/codec/BinaryCodec.java | 35 ++ .../geode/serialization/codec/BooleanCodec.java | 37 ++ .../geode/serialization/codec/ByteCodec.java| 37 ++ .../geode/serialization/codec/DoubleCodec.java | 37 ++ .../geode/serialization/codec/FloatCodec.java | 37 ++ .../geode/serialization/codec/IntCodec.java | 38 ++ .../geode/serialization/codec/JSONCodec.java| 37 ++ .../geode/serialization/codec/LongCodec.java| 37 ++ .../geode/serialization/codec/ShortCodec.java | 37 ++ .../geode/serialization/codec/StringCodec.java | 39 ++ .../UnsupportedEncodingTypeException.java | 21 .../translation/EncodingTypeTranslator.java | 83 + .../UnsupportedEncodingTypeException.java | 21 .../registry/SerializationCodecRegistry.java| 61 ++ .../CodecAlreadyRegisteredForTypeException.java | 21 .../CodecNotRegisteredForTypeException.java | 21 geode-protobuf/src/main/proto/basicTypes.proto | 60 + .../src/main/proto/clientProtocol.proto | 87 + geode-protobuf/src/main/proto/region_API.proto | 106 geode-protobuf/src/main/proto/server_API.proto | 37 ++ ...pache.geode.protocol.handler.ProtocolHandler | 1 + ...e.geode.protocol.operations.OperationHandler | 1 + .../org.apache.geode.serialization.TypeCodec| 10 ++ .../geode/client/protocol/IntegrationTest.java | 121 +++ .../geode/client/protocol/MessageUtil.java | 41 +++ .../geode/client/protocol/OpsHandler.java | 21 .../geode/client/protocol/OpsProcessorTest.java | 64 ++ .../ProtobufProtocolHandlerJUnitTest.java | 88 ++ .../GetRequestOperationHandlerTest.java | 95 +++ .../OperationsHandlerRegistryJUnitTest.java | 94 ++ .../ProtobufSerializationServiceImplTest.java | 57 + .../codec/StringCodecJUnitTest.java | 64 ++ ...eToSerializationTypeTranslatorJUnitTest.java | 72 +++ .../registry/CodecRegistryJUnitTest.java| 113 + gradle/rat.gradle | 6 +- settings.gradle | 4 +- 53 files changed, 2394 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/build.gradle -- diff --git a/geode-protobuf/build.gradle b/geode-protobuf/build.gradle new file mode 100644 index 000..2102f6a --- /dev/null +++ b/geode-protobuf/build.gradle @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the
[04/13] geode git commit: GEODE-2995: Implementing review feedback
GEODE-2995: Implementing review feedback Numerous tweaks and fixes Created protobuf package under org.apache.geode.protocol and moved several classes Added javadoc comments Signed-off-by: Galen O'SullivanProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/31f4de06 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/31f4de06 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/31f4de06 Branch: refs/heads/develop Commit: 31f4de065bd32b5801017427a14cec142c5897fc Parents: c71c28d Author: Brian Rowe Authored: Tue Jun 20 15:49:11 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- geode-protobuf/build.gradle | 2 - .../org/apache/geode/ProtobufUtilities.java | 34 .../org/apache/geode/protocol/OpsProcessor.java | 53 .../InvalidProtocolMessageException.java| 3 + .../handler/ProtobufStreamProcessor.java| 61 -- .../geode/protocol/handler/ProtocolHandler.java | 27 -- .../protobuf/ProtobufProtocolHandler.java | 41 - .../protocol/operations/OperationHandler.java | 10 +++ .../ProtobufRequestOperationParser.java | 33 .../protobuf/GetRequestOperationHandler.java| 59 - .../registry/OperationsHandlerRegistry.java | 3 + ...rationHandlerAlreadyRegisteredException.java | 3 + .../OperationHandlerNotRegisteredException.java | 3 + .../protobuf/EncodingTypeTranslator.java| 86 +++ .../protocol/protobuf/ProtobufOpsProcessor.java | 66 +++ .../protobuf/ProtobufSerializationService.java | 51 .../protobuf/ProtobufStreamProcessor.java | 60 + .../protocol/protobuf/ProtobufUtilities.java| 34 .../operations/GetRequestOperationHandler.java | 58 + .../serializer/ProtobufProtocolSerializer.java | 41 + .../protocol/serializer/ProtocolSerializer.java | 31 +++ .../ProtobufSerializationService.java | 50 --- .../UnsupportedEncodingTypeException.java | 3 + .../translation/EncodingTypeTranslator.java | 83 -- .../UnsupportedEncodingTypeException.java | 21 - .../CodecAlreadyRegisteredForTypeException.java | 3 + .../CodecNotRegisteredForTypeException.java | 3 + ...pache.geode.protocol.handler.ProtocolHandler | 1 - ...e.geode.protocol.operations.OperationHandler | 2 +- ...geode.protocol.serializer.ProtocolSerializer | 1 + .../geode/client/protocol/IntegrationTest.java | 32 +++ .../geode/client/protocol/OpsProcessorTest.java | 64 -- .../ProtobufProtocolHandlerJUnitTest.java | 88 .../GetRequestOperationHandlerTest.java | 4 +- .../protobuf/ProtobufOpsProcessorTest.java | 62 ++ .../ProtobufProtocolSerializerJUnitTest.java| 81 ++ .../ProtobufSerializationServiceImplTest.java | 5 +- ...eToSerializationTypeTranslatorJUnitTest.java | 1 + .../registry/CodecRegistryJUnitTest.java| 16 ++-- 39 files changed, 632 insertions(+), 647 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/build.gradle -- diff --git a/geode-protobuf/build.gradle b/geode-protobuf/build.gradle index 2102f6a..f069267 100644 --- a/geode-protobuf/build.gradle +++ b/geode-protobuf/build.gradle @@ -44,13 +44,11 @@ protobuf { // The artifact spec for the Protobuf Compiler artifact = 'com.google.protobuf:protoc:3.0.0' } -// this allows our spotless rule to skip this directory (hopefully rat too) generatedFilesBaseDir = "$buildDir/generated-src/proto" } sourceSets { main { - java { srcDir 'build/generated-src/proto/main/java' } http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java b/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java deleted file mode 100644 index c25fc14..000 --- a/geode-protobuf/src/main/java/org/apache/geode/ProtobufUtilities.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in
[06/13] geode git commit: GEODE-3075: changes in response to feedback; refactor some.
GEODE-3075: changes in response to feedback; refactor some. `AcceptorImpl.handleNewClientConnection` has had refactoring and should be a bit more understandable. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/c71c28df Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/c71c28df Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/c71c28df Branch: refs/heads/develop Commit: c71c28dff7fd6d20798fadcbd6a1a15f055ae52e Parents: cdcc4d9 Author: Galen OSullivanAuthored: Mon Jun 19 17:48:53 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../geode/internal/cache/tier/Acceptor.java | 2 +- .../cache/tier/sockets/AcceptorImpl.java| 316 ++- .../GenericProtocolServerConnection.java| 85 + .../sockets/NewProtocolServerConnection.java| 87 - .../tier/sockets/ServerConnectionFactory.java | 9 +- .../ServerConnectionFactoryIntegrationTest.java | 45 ++- .../sockets/ServerConnectionFactoryTest.java| 15 +- 7 files changed, 291 insertions(+), 268 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/c71c28df/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java index a95195a..e12a409 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java @@ -74,7 +74,7 @@ public abstract class Acceptor { /** * For the new client-server protocol, which ignores the usual handshake mechanism. */ - public static final byte CLIENT_TO_SERVER_NEW_PROTOCOL = (byte) 110; + public static final byte PROTOBUF_CLIENT_SERVER_PROTOCOL = (byte) 110; /** * The GFE version of the server. http://git-wip-us.apache.org/repos/asf/geode/blob/c71c28df/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java index 24efc93..50f7006 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java @@ -94,7 +94,7 @@ import javax.net.ssl.SSLException; /** * Implements the acceptor thread on the bridge server. Accepts connections from the edge and starts * up threads to process requests from these. - * + * * @since GemFire 2.0.2 */ @SuppressWarnings("deprecation") @@ -113,19 +113,29 @@ public class AcceptorImpl extends Acceptor implements Runnable { */ private final ThreadPoolExecutor hsPool; - /** The port on which this acceptor listens for client connections */ + /** + * The port on which this acceptor listens for client connections + */ private final int localPort; - /** The server socket that handles requests for connections */ + /** + * The server socket that handles requests for connections + */ private ServerSocket serverSock = null; - /** The GemFire cache served up by this acceptor */ + /** + * The GemFire cache served up by this acceptor + */ protected final InternalCache cache; - /** Caches region information */ + /** + * Caches region information + */ private final CachedRegionHelper crHelper; - /** A lock to prevent close from occurring while creating a ServerConnection */ + /** + * A lock to prevent close from occurring while creating a ServerConnection + */ private final Object syncLock = new Object(); /** @@ -165,7 +175,9 @@ public class AcceptorImpl extends Acceptor implements Runnable { */ public static final int DEFAULT_HANDSHAKE_TIMEOUT_MS = 59000; - /** Test value for handshake timeout */ + /** + * Test value for handshake timeout + */ protected static final int handShakeTimeout = Integer.getInteger(HANDSHAKE_TIMEOUT_PROPERTY_NAME, DEFAULT_HANDSHAKE_TIMEOUT_MS).intValue(); @@ -180,17 +192,25 @@ public class AcceptorImpl extends Acceptor implements Runnable { */ public static final int DEFAULT_ACCEPT_TIMEOUT_MS = 9900; - /** Test value for accept timeout */ + /** + * Test value for accept timeout + */ private final int acceptTimeout = Integer.getInteger(ACCEPT_TIMEOUT_PROPERTY_NAME, DEFAULT_ACCEPT_TIMEOUT_MS).intValue(); -
[02/13] geode git commit: GEODE-2995: more review feedback and spotlessApply
GEODE-2995: more review feedback and spotlessApply Signed-off-by: Brian RoweProject: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0de1d97e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0de1d97e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0de1d97e Branch: refs/heads/develop Commit: 0de1d97ea229ec43203437f58971c44fe37cef62 Parents: 31f4de0 Author: Galen O'Sullivan Authored: Tue Jun 20 16:58:51 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../protocol/operations/OperationHandler.java | 20 -- ...rationHandlerAlreadyRegisteredException.java | 3 ++- .../protocol/protobuf/ProtobufOpsProcessor.java | 22 ++-- .../protobuf/ProtobufStreamProcessor.java | 7 +-- .../protocol/serializer/ProtocolSerializer.java | 1 + .../serialization/SerializationService.java | 7 ++- .../geode/serialization/SerializationType.java | 3 +++ .../apache/geode/serialization/TypeCodec.java | 10 + .../exception/TypeEncodingException.java| 21 +++ .../UnsupportedEncodingTypeException.java | 2 +- .../CodecAlreadyRegisteredForTypeException.java | 3 ++- .../CodecNotRegisteredForTypeException.java | 4 +++- .../geode/client/protocol/IntegrationTest.java | 3 +-- .../protobuf/ProtobufOpsProcessorTest.java | 10 - .../ProtobufProtocolSerializerJUnitTest.java| 2 +- 15 files changed, 86 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/0de1d97e/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java index 8eab146..7683e3b 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/OperationHandler.java @@ -15,23 +15,31 @@ package org.apache.geode.protocol.operations; import org.apache.geode.cache.Cache; -import org.apache.geode.protocol.protobuf.ProtobufOpsProcessor; import org.apache.geode.protocol.operations.registry.OperationsHandlerRegistry; +import org.apache.geode.protocol.protobuf.ProtobufOpsProcessor; import org.apache.geode.serialization.SerializationService; -import org.apache.geode.serialization.exception.UnsupportedEncodingTypeException; -import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTypeException; +import org.apache.geode.serialization.exception.TypeEncodingException; /** - * This interface is implemented by a object capable of handling request types 'Req' and returning an a response of type 'Resp' + * This interface is implemented by a object capable of handling request types 'Req' and returning + * an a response of type 'Resp' * * See {@link ProtobufOpsProcessor} */ public interface OperationHandler { + /** + * Decode the message, deserialize contained values using the serialization service, do the work + * indicated on the provided cache, and return a response. + * + * @throws TypeEncodingException if a problem occurs decoding an encoded value contained in the + * request. + */ Resp process(SerializationService serializationService, Req request, Cache cache) - throws UnsupportedEncodingTypeException, CodecNotRegisteredForTypeException; + throws TypeEncodingException; /** - * @return the magic number used for registering the operation type with the {@link OperationsHandlerRegistry}. + * @return the magic number used for registering the operation type with the + * {@link OperationsHandlerRegistry}. */ int getOperationCode(); } http://git-wip-us.apache.org/repos/asf/geode/blob/0de1d97e/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java index 519698d..18475d8 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/operations/registry/exception/OperationHandlerAlreadyRegisteredException.java +++
[08/13] geode git commit: GEODE-2995: Handle stream of ProtoBuf encoded messages
http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler -- diff --git a/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler new file mode 100644 index 000..fa7c3c6 --- /dev/null +++ b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.protocol.operations.OperationHandler @@ -0,0 +1 @@ +org.apache.geode.protocol.operations.protobuf.GetRequestOperationHandler \ No newline at end of file http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec -- diff --git a/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec new file mode 100644 index 000..1b7b333 --- /dev/null +++ b/geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.serialization.TypeCodec @@ -0,0 +1,10 @@ +org.apache.geode.serialization.codec.BinaryCodec +org.apache.geode.serialization.codec.BooleanCodec +org.apache.geode.serialization.codec.ByteCodec +org.apache.geode.serialization.codec.DoubleCodec +org.apache.geode.serialization.codec.FloatCodec +org.apache.geode.serialization.codec.IntCodec +org.apache.geode.serialization.codec.JSONCodec +org.apache.geode.serialization.codec.LongCodec +org.apache.geode.serialization.codec.ShortCodec +org.apache.geode.serialization.codec.StringCodec http://git-wip-us.apache.org/repos/asf/geode/blob/cdcc4d95/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java b/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java new file mode 100644 index 000..e86e908 --- /dev/null +++ b/geode-protobuf/src/test/java/org/apache/geode/client/protocol/IntegrationTest.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.apache.geode.client.protocol; + +import com.google.protobuf.ByteString; + +import org.apache.geode.cache.Cache; +import org.apache.geode.cache.Region; +import org.apache.geode.protocol.exception.InvalidProtocolMessageException; +import org.apache.geode.protocol.handler.ProtobufStreamProcessor; +import org.apache.geode.protocol.operations.registry.exception.OperationHandlerAlreadyRegisteredException; +import org.apache.geode.protocol.operations.registry.exception.OperationHandlerNotRegisteredException; +import org.apache.geode.protocol.protobuf.BasicTypes; +import org.apache.geode.protocol.protobuf.ClientProtocol; +import org.apache.geode.protocol.protobuf.RegionAPI; +import org.apache.geode.serialization.codec.StringCodec; +import org.apache.geode.serialization.protobuf.translation.EncodingTypeTranslator; +import org.apache.geode.serialization.exception.UnsupportedEncodingTypeException; +import org.apache.geode.serialization.registry.SerializationCodecRegistry; +import org.apache.geode.serialization.registry.exception.CodecAlreadyRegisteredForTypeException; +import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTypeException; +import org.apache.geode.test.dunit.Assert; +import org.apache.geode.test.junit.categories.UnitTest; +import org.junit.Before; +import org.junit.Test; +import org.junit.experimental.categories.Category; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +@Category(UnitTest.class) +public class IntegrationTest { + + public static final String TEST_KEY = "my key"; + public static final String TEST_VALUE = "my value"; + public static final
[07/13] geode git commit: GEODE-3075: Add an integration test for the ServerConnectionFactory
GEODE-3075: Add an integration test for the ServerConnectionFactory the current implementation is bogus, but does test that the flow works. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/4ace36af Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/4ace36af Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/4ace36af Branch: refs/heads/develop Commit: 4ace36af00a22e0995a2e0d07db75f5508524a25 Parents: dfdde4a Author: Galen OSullivanAuthored: Fri Jun 16 09:59:11 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../sockets/ClientProtocolMessageHandler.java | 8 ++- .../sockets/NewProtocolServerConnection.java| 7 ++- .../ServerConnectionFactoryIntegrationTest.java | 66 .../sockets/ServerConnectionFactoryTest.java| 44 ++--- 4 files changed, 100 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/4ace36af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java index db42330..702609d 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java @@ -17,6 +17,7 @@ package org.apache.geode.internal.cache.tier.sockets; import org.apache.geode.internal.cache.InternalCache; +import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -24,6 +25,11 @@ import java.io.OutputStream; * Stub, this will be hooked up to the new client protocol when it's implemented. */ public class ClientProtocolMessageHandler { + /** + * Bogus, but it lets us write an integration test so that nobody breaks our flow. + */ public void receiveMessage(InputStream inputStream, OutputStream outputStream, - InternalCache cache) {} + InternalCache cache) throws IOException { +outputStream.write(inputStream.read()); + } } http://git-wip-us.apache.org/repos/asf/geode/blob/4ace36af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java index a78cd1c..83b23b1 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/NewProtocolServerConnection.java @@ -50,9 +50,9 @@ public class NewProtocolServerConnection extends ServerConnection { * @param acceptor */ public NewProtocolServerConnection(Socket s, InternalCache c, CachedRegionHelper helper, - CacheServerStats stats, int hsTimeout, int socketBufferSize, String communicationModeStr, - byte communicationMode, Acceptor acceptor, ClientProtocolMessageHandler newClientProtocol, - SecurityService securityService) { + CacheServerStats stats, int hsTimeout, int socketBufferSize, String communicationModeStr, + byte communicationMode, Acceptor acceptor, ClientProtocolMessageHandler newClientProtocol, + SecurityService securityService) { super(s, c, helper, stats, hsTimeout, socketBufferSize, communicationModeStr, communicationMode, acceptor, securityService); assert (communicationMode == AcceptorImpl.CLIENT_TO_SERVER_NEW_PROTOCOL); @@ -65,6 +65,7 @@ public class NewProtocolServerConnection extends ServerConnection { Socket socket = this.getSocket(); InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); + // TODO serialization types? newClientProtocol.receiveMessage(inputStream, outputStream, this.getCache()); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/geode/blob/4ace36af/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactoryIntegrationTest.java -- diff --git
[01/13] geode git commit: GEODE-2995: incorporating even more review feedback
Repository: geode Updated Branches: refs/heads/develop 49123c475 -> e1c6c3a97 GEODE-2995: incorporating even more review feedback Addressing feedback from Udo and Hitesh Refactored test locations to match new src layout Signed-off-by: Galen O'SullivanSigned-off-by: Brian Rowe Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/a3c66e1a Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/a3c66e1a Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/a3c66e1a Branch: refs/heads/develop Commit: a3c66e1afc88700bd7839f56d54a0f6d44f00432 Parents: 0de1d97 Author: Brian Rowe Authored: Wed Jun 21 11:53:54 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- geode-protobuf/build.gradle | 6 +- .../protobuf/EncodingTypeTranslator.java| 47 +++ .../operations/GetRequestOperationHandler.java | 19 +-- .../geode/client/protocol/IntegrationTest.java | 124 --- .../geode/client/protocol/MessageUtil.java | 41 -- .../geode/client/protocol/OpsHandler.java | 21 .../geode/protocol/IntegrationJUnitTest.java| 124 +++ .../org/apache/geode/protocol/MessageUtil.java | 41 ++ .../org/apache/geode/protocol/OpsHandler.java | 21 .../GetRequestOperationHandlerTest.java | 95 -- ...eToSerializationTypeTranslatorJUnitTest.java | 73 +++ .../protobuf/ProtobufOpsProcessorJUnitTest.java | 62 ++ .../protobuf/ProtobufOpsProcessorTest.java | 62 -- .../GetRequestOperationHandlerJUnitTest.java| 96 ++ .../ProtobufProtocolSerializerJUnitTest.java| 2 +- .../ProtobufSerializationServiceImplTest.java | 58 - .../ProtobufSerializationServiceJUnitTest.java | 111 + .../codec/BinaryFormatJUnitTest.java| 64 ++ .../codec/StringCodecJUnitTest.java | 64 -- ...eToSerializationTypeTranslatorJUnitTest.java | 73 --- gradle/dependency-versions.properties | 3 + 21 files changed, 637 insertions(+), 570 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/a3c66e1a/geode-protobuf/build.gradle -- diff --git a/geode-protobuf/build.gradle b/geode-protobuf/build.gradle index f069267..a63000e 100644 --- a/geode-protobuf/build.gradle +++ b/geode-protobuf/build.gradle @@ -23,7 +23,7 @@ buildscript { mavenCentral() } dependencies { -classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.1' +classpath 'com.google.protobuf:protobuf-gradle-plugin:' + project.'protobuf-gradle-plugin.version' } } @@ -36,13 +36,13 @@ dependencies { testCompile 'org.powermock:powermock-module-junit4:' + project.'powermock.version' testCompile 'org.powermock:powermock-api-mockito:' + project.'powermock.version' -compile 'com.google.protobuf:protobuf-java:3.3.1' +compile 'com.google.protobuf:protobuf-java:' + project.'protobuf-java.version' } protobuf { protoc { // The artifact spec for the Protobuf Compiler -artifact = 'com.google.protobuf:protoc:3.0.0' +artifact = 'com.google.protobuf:protoc:' + project.'protoc.version' } generatedFilesBaseDir = "$buildDir/generated-src/proto" } http://git-wip-us.apache.org/repos/asf/geode/blob/a3c66e1a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java -- diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java index 650ac81..edb7c7e 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/EncodingTypeTranslator.java @@ -20,10 +20,28 @@ import org.apache.geode.protocol.protobuf.BasicTypes; import org.apache.geode.serialization.SerializationType; import org.apache.geode.serialization.exception.UnsupportedEncodingTypeException; +import java.util.HashMap; + /** * This class maps protobuf specific encoding types and the corresponding serialization types. */ public abstract class EncodingTypeTranslator { + static final HashMap typeToEncodingMap = intializeTypeMap(); + + private static HashMap intializeTypeMap() { +HashMap result = new HashMap<>(); +result.put(Integer.class,
[10/13] geode git commit: Add ServiceLoadingFailureException to excludedClasses.txt so tests pass.
Add ServiceLoadingFailureException to excludedClasses.txt so tests pass. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/da64fc6f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/da64fc6f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/da64fc6f Branch: refs/heads/develop Commit: da64fc6fbccc6a148ac7bd488593881c90b092d8 Parents: db11ebc Author: Brian RoweAuthored: Thu Jun 22 23:27:22 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:23 2017 -0700 -- .../resources/org/apache/geode/codeAnalysis/excludedClasses.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/da64fc6f/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt index 6a6e0c1..c2629f1 100644 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt @@ -7,6 +7,7 @@ org/apache/geode/distributed/LocatorLauncher$Command org/apache/geode/distributed/ServerLauncher org/apache/geode/distributed/ServerLauncher$Command org/apache/geode/distributed/internal/DistributionManager +org/apache/geode/internal/cache/tier/sockets/ServiceLoadingFailureException org/apache/geode/internal/JarDeployer org/apache/geode/internal/logging/GemFireLevel org/apache/geode/internal/logging/LoggingThreadGroup
[05/13] geode git commit: GEODE-3075: Initial refactor adding NewProtocolServerConnection
GEODE-3075: Initial refactor adding NewProtocolServerConnection subclassing `ServerConnection`. The new code is broken but it won't be called under normal operation, since it's gated on a system property, "geode.feature-protobuf-protocol" Further refactoring and feature work to come. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/dfdde4af Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/dfdde4af Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/dfdde4af Branch: refs/heads/develop Commit: dfdde4af352566d60f18b0db156fc5b7f48ebd8b Parents: 49123c4 Author: Galen OSullivanAuthored: Mon Jun 12 09:33:35 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 26 09:26:22 2017 -0700 -- .../geode/internal/cache/tier/Acceptor.java | 4 + .../cache/tier/sockets/AcceptorImpl.java| 10 +-- .../cache/tier/sockets/ClientHealthMonitor.java | 7 +- .../sockets/ClientProtocolMessageHandler.java | 29 +++ .../tier/sockets/LegacyServerConnection.java| 88 .../sockets/NewProtocolServerConnection.java| 86 +++ .../cache/tier/sockets/ServerConnection.java| 75 +++-- .../tier/sockets/ServerConnectionFactory.java | 50 +++ .../sockets/ServerConnectionFactoryTest.java| 77 + .../tier/sockets/ServerConnectionTest.java | 7 +- 10 files changed, 375 insertions(+), 58 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/dfdde4af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java index 9a3241b..a95195a 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java @@ -71,6 +71,10 @@ public abstract class Acceptor { */ public static final byte CLIENT_TO_SERVER_FOR_QUEUE = (byte) 107; + /** + * For the new client-server protocol, which ignores the usual handshake mechanism. + */ + public static final byte CLIENT_TO_SERVER_NEW_PROTOCOL = (byte) 110; /** * The GFE version of the server. http://git-wip-us.apache.org/repos/asf/geode/blob/dfdde4af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java index 2a8818c..24efc93 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java @@ -1422,8 +1422,8 @@ public class AcceptorImpl extends Acceptor implements Runnable { s.setTcpNoDelay(this.tcpNoDelay); if (communicationMode == CLIENT_TO_SERVER || communicationMode == GATEWAY_TO_GATEWAY -|| communicationMode == MONITOR_TO_SERVER -|| communicationMode == CLIENT_TO_SERVER_FOR_QUEUE) { +|| communicationMode == MONITOR_TO_SERVER || communicationMode == CLIENT_TO_SERVER_FOR_QUEUE +|| communicationMode == CLIENT_TO_SERVER_NEW_PROTOCOL) { String communicationModeStr = ""; switch (communicationMode) { case CLIENT_TO_SERVER: @@ -1466,9 +1466,9 @@ public class AcceptorImpl extends Acceptor implements Runnable { return; } } - ServerConnection serverConn = new ServerConnection(s, this.cache, this.crHelper, this.stats, - AcceptorImpl.handShakeTimeout, this.socketBufferSize, communicationModeStr, - communicationMode, this, this.securityService); + ServerConnection serverConn = ServerConnectionFactory.makeServerConnection(s, this.cache, + this.crHelper, this.stats, AcceptorImpl.handShakeTimeout, this.socketBufferSize, + communicationModeStr, communicationMode, this, this.securityService); synchronized (this.allSCsLock) { this.allSCs.add(serverConn); ServerConnection snap[] = this.allSCList; // avoid volatile read http://git-wip-us.apache.org/repos/asf/geode/blob/dfdde4af/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientHealthMonitor.java
[03/13] geode git commit: GEODE-2995: Implementing review feedback
http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java new file mode 100644 index 000..95244d2 --- /dev/null +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.apache.geode.protocol.serializer; + +import org.apache.geode.client.protocol.MessageUtil; +import org.apache.geode.protocol.exception.InvalidProtocolMessageException; +import org.apache.geode.protocol.protobuf.serializer.ProtobufProtocolSerializer; +import org.apache.geode.protocol.protobuf.ClientProtocol; +import org.apache.geode.test.junit.categories.UnitTest; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.experimental.categories.Category; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ServiceLoader; + +@Category(UnitTest.class) +public class ProtobufProtocolSerializerJUnitTest { + private ProtocolSerializer protocolSerializer; + + @Before + public void startup() { +ServiceLoader serviceLoader = ServiceLoader.load(ProtocolSerializer.class); +for (ProtocolSerializer protocolSerializer : serviceLoader) { + if (protocolSerializer instanceof ProtobufProtocolSerializer) { +this.protocolSerializer = protocolSerializer; + } +} + } + + @Test + public void testDeserializeByteArrayToMessage() + throws IOException, InvalidProtocolMessageException { +ClientProtocol.Message expectedRequestMessage = MessageUtil.createGetRequestMessage(); + +ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + +expectedRequestMessage.writeDelimitedTo(byteArrayOutputStream); +InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); + +ClientProtocol.Message actualMessage = protocolSerializer.deserialize(inputStream); +Assert.assertEquals(expectedRequestMessage, actualMessage); + } + + @Test(expected = InvalidProtocolMessageException.class) + public void testDeserializeInvalidByteThrowsException() +throws IOException, InvalidProtocolMessageException { +ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); +byteArrayOutputStream.write("Some incorrect byte array".getBytes()); +InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); +protocolSerializer.deserialize(inputStream); + } + + @Test + public void testSerializeMessageToByteArray() throws IOException { +ClientProtocol.Message message = MessageUtil.createGetRequestMessage(); +ByteArrayOutputStream expectedByteArrayOutputStream = new ByteArrayOutputStream(); +message.writeDelimitedTo(expectedByteArrayOutputStream); +byte[] expectedByteArray = expectedByteArrayOutputStream.toByteArray(); + +ByteArrayOutputStream actualByteArrayOutputStream = new ByteArrayOutputStream(); +protocolSerializer.serialize(message, actualByteArrayOutputStream); +Assert.assertArrayEquals(expectedByteArray, actualByteArrayOutputStream.toByteArray()); + } +} http://git-wip-us.apache.org/repos/asf/geode/blob/31f4de06/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java -- diff --git a/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java b/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java index a4c0a14..ef841c3 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/serialization/ProtobufSerializationServiceImplTest.java +++
[7/7] geode git commit: Remove debug println
Remove debug println Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/1f78fc45 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/1f78fc45 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/1f78fc45 Branch: refs/heads/feature/GEODE-2804 Commit: 1f78fc45ee9d8545ce94441daafde96bf9938407 Parents: 451bd42 Author: Jens DeppeAuthored: Thu Jun 15 08:01:46 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 16:39:30 2017 -0700 -- gradle/docker.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/1f78fc45/gradle/docker.gradle -- diff --git a/gradle/docker.gradle b/gradle/docker.gradle index 7a74c5d..5c2ef77 100644 --- a/gradle/docker.gradle +++ b/gradle/docker.gradle @@ -65,7 +65,7 @@ def dockerConfig = { args[3] = args[3] + matcher[0][1] def workdir = new File(args[3]) - println "dockerize: making ${workdir}" + // println "dockerize: making ${workdir}" workdir.mkdirs() // println args
[6/7] geode git commit: GEODE-3091: remove empty method
GEODE-3091: remove empty method This closes #585 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/cf7274e6 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/cf7274e6 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/cf7274e6 Branch: refs/heads/feature/GEODE-2804 Commit: cf7274e6c38b156cdc9bbf433475807116150a93 Parents: b18571a Author: Nick ReichAuthored: Thu Jun 15 15:59:50 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 16:39:30 2017 -0700 -- .../geode/internal/cache/DistributedRegion.java | 1 - .../org/apache/geode/internal/cache/LocalRegion.java | 15 --- .../geode/internal/cache/PartitionedRegion.java | 1 - 3 files changed, 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/cf7274e6/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java index 9df64d0..21f911d 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java @@ -935,7 +935,6 @@ public class DistributedRegion extends LocalRegion implements CacheDistributionA public void invalidate(Object key, Object aCallbackArgument) throws TimeoutException, EntryNotFoundException { validateKey(key); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForLimitedOrNoAccess(); Lock dlock = this.getDistributedLockIfGlobal(key); http://git-wip-us.apache.org/repos/asf/geode/blob/cf7274e6/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java index 2b45a54..02625ee 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java @@ -1120,7 +1120,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, @Retained EntryEventImpl newDestroyEntryEvent(Object key, Object aCallbackArgument) { validateKey(key); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForLimitedOrNoAccess(); @@ -1349,7 +1348,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, boolean retainResult) throws TimeoutException, CacheLoaderException { assert !retainResult || preferCD; validateKey(key); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForNoAccess(); discoverJTA(); @@ -1563,7 +1561,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, @Override public void invalidateRegion(Object aCallbackArgument) throws TimeoutException { getDataView().checkSupportsRegionInvalidate(); -validateCallbackArg(aCallbackArgument); checkReadiness(); checkForLimitedOrNoAccess(); RegionEventImpl event = new RegionEventImpl(this, Operation.REGION_INVALIDATE, @@ -3118,8 +3115,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, protected void validateArguments(Object key, Object value, Object aCallbackArgument) { validateKey(key); validateValue(value); -validateCallbackArg(aCallbackArgument); - } void validateKey(Object key) { @@ -3142,15 +3137,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, } /** - * Starting in 3.5, we don't check to see if the callback argument is {@code Serializable}. We - * instead rely on the actual serialization (which happens in-thread with the put) to tell us if - * there are any problems. TODO: delete method validateCallbackArg - */ - void validateCallbackArg(Object aCallbackArgument) { -// do nothing - } - - /** * @since GemFire 5.0.2 */ private final boolean doExpensiveValidations = @@ -11633,7 +11619,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, public boolean remove(Object key, Object value, Object callbackArg) { checkIfConcurrentMapOpsAllowed(); validateKey(key); -validateCallbackArg(callbackArg); checkReadiness(); checkForLimitedOrNoAccess();
[5/7] geode git commit: GEODE-3071: Pull config of docker volumes into top level script so that they can be overridden
GEODE-3071: Pull config of docker volumes into top level script so that they can be overridden Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b18571ae Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b18571ae Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b18571ae Branch: refs/heads/feature/GEODE-2804 Commit: b18571aea9f0c376616f419524f930154432f74e Parents: d4412a6 Author: Jens DeppeAuthored: Mon Jun 19 07:42:57 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 16:39:30 2017 -0700 -- build.gradle | 5 + gradle/docker.gradle | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/b18571ae/build.gradle -- diff --git a/build.gradle b/build.gradle index 57372b3..4feb879 100755 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,11 @@ if (name == 'geode') { ext.scriptDir = 'gradle' } +if (project.hasProperty('parallelDunit')) { + def pwd = System.getenv('PWD') + ext.dunitDockerVolumes = ["${pwd}":pwd] +} + apply from: "${scriptDir}/utilities.gradle" apply from: "${scriptDir}/java.gradle" apply from: "${scriptDir}/dependency-resolution.gradle" http://git-wip-us.apache.org/repos/asf/geode/blob/b18571ae/gradle/docker.gradle -- diff --git a/gradle/docker.gradle b/gradle/docker.gradle index b67c073..7971974 100644 --- a/gradle/docker.gradle +++ b/gradle/docker.gradle @@ -47,11 +47,11 @@ def dockerConfig = { // volumes mounted to the containers // in a form: host_dir : container_dir -def pwd = System.getenv('PWD') def gradleHome = System.getenv('GRADLE_USER_HOME') ?: "${System.getenv('HOME')}/.gradle" volumes = ["${gradleHome}":gradleHome] -volumes << ["${pwd}":pwd] +// Add volumes configured by top-level build script +volumes << project.dunitDockerVolumes // specify the user for starting Gradle test worker within the container. user = dunitDockerUser
[1/7] geode git commit: GEODE-3071: Provide capability to parallelize distributedTests
Repository: geode Updated Branches: refs/heads/feature/GEODE-2804 601b338fd -> cf7274e6c GEODE-3071: Provide capability to parallelize distributedTests Herewith the ability to leverage Gradle's parallel test execution capability to run dunits in parallel. This is combined with launching tests in Docker containers to provide process, network and filesystem isolation. Depending on the size of your system, this can speed up running the distributedTest task 2-5 times. The capability is enabled by launching gradle with '-PparallelDunit' Tunables, enabled as gradle parametrs (-P option) are: - dunitDockerImage: The docker image which will be used to launch tests. The image must have the JAVA_HOME environment variable set. The image must be pulled locally before starting the tests. - dunitParallelForks: The number of parallel docker containers to be launched. - dunitDockerUser: The docker user which will run the tests. Because of the way that the containers map the build directory into them, the test artifacts, will be written with this user id. By default this is 'root'. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/451bd421 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/451bd421 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/451bd421 Branch: refs/heads/feature/GEODE-2804 Commit: 451bd421a4f0e35a61077461b0744539394452e8 Parents: f808d3b Author: Jens DeppeAuthored: Wed Jun 14 08:03:22 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 16:39:29 2017 -0700 -- build.gradle | 2 ++ gradle.properties| 7 gradle/docker.gradle | 83 +++ 3 files changed, 92 insertions(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/451bd421/build.gradle -- diff --git a/build.gradle b/build.gradle index ec6b920..57372b3 100755 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,7 @@ buildscript { classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.0.1' classpath "com.diffplug.gradle.spotless:spotless:2.2.0" classpath "me.champeau.gradle:jmh-gradle-plugin:0.3.1" +classpath "com.pedjak.gradle.plugins:dockerized-test:0.4.2" } } @@ -82,6 +83,7 @@ apply from: "${scriptDir}/code-analysis.gradle" apply from: "${scriptDir}/sonar.gradle" apply from: "${scriptDir}/ide.gradle" apply from: "${scriptDir}/rat.gradle" +apply from: "${scriptDir}/docker.gradle" subprojects { // Make sure clean task for rootProject runs last http://git-wip-us.apache.org/repos/asf/geode/blob/451bd421/gradle.properties -- diff --git a/gradle.properties b/gradle.properties index ca79a38..9462295 100755 --- a/gradle.properties +++ b/gradle.properties @@ -49,3 +49,10 @@ buildRoot= # We want signing to be on by default. Signing requires GPG to be set up. nexusSignArchives = true + +# Control how many concurrent dunit (using docker) tests will be run +dunitParallelForks = 8 +# This is the name of the Docker image for running parallel dunits +dunitDockerImage = openjdk:8 +# Docker user for parallel dunit tests +dunitDockerUser = root http://git-wip-us.apache.org/repos/asf/geode/blob/451bd421/gradle/docker.gradle -- diff --git a/gradle/docker.gradle b/gradle/docker.gradle new file mode 100644 index 000..7a74c5d --- /dev/null +++ b/gradle/docker.gradle @@ -0,0 +1,83 @@ +/* + * Configuration for running (dunit) tests in parallel in Docker containers. + * The container used must hava JAVA_HOME set in it's environment and must + * have 'java' defined on the path. For example, the relevant Dockerfile + * content could be: + * + * ENV JAVA_HOME=/opt/jdk1.8.0_u101 + * ENV PATH=$PATH:$JAVA_HOME/bin + * + * In addition, the container must have docker installed. + * + * The plugin can be activated with the Gradle property 'parallelDunit'. + * Additional properties that can be set are: + * + * dunitDockerImage - The docker image used for running parallel dunits. The + * default image is 'openjdk:8'. The image is required to + * have 'JAVA_HOME' set as an environment variable. + * dunitParallelForks - The number of parallel containers that will be + * launched. The default is 8. + * dunitDockerUser- The user used within the docker container to run tests. + * The default is 'root'. + */ + +def dockerConfig = { + maxParallelForks = dunitParallelForks.toInteger() + + docker { +// base image for creating docker containers that execute the tests +image =
[4/7] geode git commit: GEODE_3071: Add Apache license header
GEODE_3071: Add Apache license header Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/d4412a68 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/d4412a68 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/d4412a68 Branch: refs/heads/feature/GEODE-2804 Commit: d4412a68889de35f058ede6b030ba92ac6970e23 Parents: 1f78fc4 Author: Jens DeppeAuthored: Fri Jun 16 08:05:32 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 16:39:30 2017 -0700 -- gradle/docker.gradle | 17 + 1 file changed, 17 insertions(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/d4412a68/gradle/docker.gradle -- diff --git a/gradle/docker.gradle b/gradle/docker.gradle index 5c2ef77..b67c073 100644 --- a/gradle/docker.gradle +++ b/gradle/docker.gradle @@ -1,4 +1,21 @@ /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* * Configuration for running (dunit) tests in parallel in Docker containers. * The container used must hava JAVA_HOME set in it's environment and must * have 'java' defined on the path. For example, the relevant Dockerfile
[2/7] geode git commit: Update geode-book/README.md
Update geode-book/README.md Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/f808d3b6 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/f808d3b6 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/f808d3b6 Branch: refs/heads/feature/GEODE-2804 Commit: f808d3b6fe4bf217160f8569e5b2b4b4289fdd78 Parents: 15c32d9 Author: Dave BarnesAuthored: Mon Jun 19 14:07:31 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 16:39:29 2017 -0700 -- geode-book/README.md | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/f808d3b6/geode-book/README.md -- diff --git a/geode-book/README.md b/geode-book/README.md index f381b16..a542ce2 100644 --- a/geode-book/README.md +++ b/geode-book/README.md @@ -78,12 +78,22 @@ where `XY` is the product version of your documentation (e.g., `{geode-site}/web 2. Navigate to the User Guide you have built in the Geode repository: `{geode-project-dir}/geode-book/final_app/public/docs/guide/XY`. -3. Use `tar` to copy the directory in order to preserve links and other filesystem niceties. Create the tarfile in your Desktop for easy access on the retrieval side. - - To copy the directory, enter: +3. Use `tar` to copy the directory in order to preserve links and other filesystem niceties. + + a. Create the tarfile in your Desktop for easy access on the retrieval side. ``` $ tar cvf ~/Desktop/new-guide-content.tar . +``` + b. Create the destination directory in the `geode-site` repo: + +``` +$ mkdir -p {geode-site}/website/content/docs/guide/XY +``` + + c. Navigate to the target directory and un-tar the userguide archive: + +``` $ cd {geode-site}/website/content/docs/guide/XY $ tar xvf ~/Desktop/new-guide-content.tar ```
[3/7] geode git commit: GEODE-3092: fix specifiedDefaultValue for cacheLoader and cacheWriter
GEODE-3092: fix specifiedDefaultValue for cacheLoader and cacheWriter Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/15c32d95 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/15c32d95 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/15c32d95 Branch: refs/heads/feature/GEODE-2804 Commit: 15c32d955ecf912c06dbc14f366d2856aede62e2 Parents: 601b338 Author: Jinmei LiaoAuthored: Mon Jun 19 09:08:35 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 16:39:29 2017 -0700 -- .../CreateAlterDestroyRegionCommands.java | 45 ++-- .../internal/cli/GfshParserParsingTest.java | 19 +++-- 2 files changed, 38 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/15c32d95/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java index 842802b..bf22854 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java @@ -14,7 +14,28 @@ */ package org.apache.geode.management.internal.cli.commands; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicReference; +import java.util.regex.Pattern; + +import javax.management.MBeanServer; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; + import org.apache.commons.lang.StringUtils; +import org.springframework.shell.core.annotation.CliCommand; +import org.springframework.shell.core.annotation.CliOption; + import org.apache.geode.LogWriter; import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.ExpirationAttributes; @@ -58,26 +79,6 @@ import org.apache.geode.management.internal.configuration.domain.XmlEntity; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission.Operation; import org.apache.geode.security.ResourcePermission.Resource; -import org.springframework.shell.core.annotation.CliAvailabilityIndicator; -import org.springframework.shell.core.annotation.CliCommand; -import org.springframework.shell.core.annotation.CliOption; - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeSet; -import java.util.concurrent.atomic.AtomicReference; -import java.util.regex.Pattern; -import javax.management.MBeanServer; -import javax.management.MalformedObjectNameException; -import javax.management.ObjectName; /** * @since GemFire 7.0 @@ -408,9 +409,9 @@ public class CreateAlterDestroyRegionCommands implements GfshCommand { help = CliStrings.ALTER_REGION__REGIONEXPIRATIONTTLACTION__HELP) String regionExpirationTTLAction, @CliOption(key = CliStrings.ALTER_REGION__CACHELISTENER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHELISTENER__HELP) String[] cacheListeners, - @CliOption(key = CliStrings.ALTER_REGION__CACHELOADER, specifiedDefaultValue = "null", + @CliOption(key = CliStrings.ALTER_REGION__CACHELOADER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHELOADER__HELP) String cacheLoader, - @CliOption(key = CliStrings.ALTER_REGION__CACHEWRITER, specifiedDefaultValue = "null", + @CliOption(key = CliStrings.ALTER_REGION__CACHEWRITER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHEWRITER__HELP) String cacheWriter, @CliOption(key = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID__HELP) String[] asyncEventQueueIds, http://git-wip-us.apache.org/repos/asf/geode/blob/15c32d95/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserParsingTest.java --
[11/29] geode git commit: GEODE-2818: add aliases to the undeploy command
GEODE-2818: add aliases to the undeploy command * this closes #560 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/63102266 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/63102266 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/63102266 Branch: refs/heads/feature/GEODE-2804 Commit: 63102266b8f3ce805b6df6bc173a4c53b45c47fc Parents: ae5bf34 Author: Jinmei LiaoAuthored: Wed Jun 7 16:10:56 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 13:47:56 2017 -0700 -- .../internal/cli/commands/ConfigCommands.java | 7 +-- .../internal/cli/commands/DeployCommands.java | 50 +++- .../internal/cli/functions/DeployFunction.java | 3 -- .../cli/functions/UndeployFunction.java | 9 ++-- .../cli/GfshParserAutoCompletionTest.java | 6 +-- .../cli/commands/DeployCommandsDUnitTest.java | 36 +- 6 files changed, 74 insertions(+), 37 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/63102266/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java index 19c72c3..a8afa7d 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java @@ -81,9 +81,10 @@ public class ConfigCommands implements GfshCommand { @ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ) public Result describeConfig( @CliOption(key = CliStrings.MEMBER, optionContext = ConverterHint.ALL_MEMBER_IDNAME, - help = CliStrings.DESCRIBE_CONFIG__MEMBER__HELP, mandatory = true) - - String memberNameOrId, @CliOption(key = CliStrings.DESCRIBE_CONFIG__HIDE__DEFAULTS, help = CliStrings.DESCRIBE_CONFIG__HIDE__DEFAULTS__HELP, unspecifiedDefaultValue = "true", specifiedDefaultValue = "true") boolean hideDefaults) { + help = CliStrings.DESCRIBE_CONFIG__MEMBER__HELP, mandatory = true) String memberNameOrId, + @CliOption(key = CliStrings.DESCRIBE_CONFIG__HIDE__DEFAULTS, + help = CliStrings.DESCRIBE_CONFIG__HIDE__DEFAULTS__HELP, unspecifiedDefaultValue = "true", + specifiedDefaultValue = "true") boolean hideDefaults) { Result result = null; try { http://git-wip-us.apache.org/repos/asf/geode/blob/63102266/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java index 43a748e..9b79e1d 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java @@ -15,6 +15,8 @@ package org.apache.geode.management.internal.cli.commands; import static org.apache.commons.io.FileUtils.ONE_MB; +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.StringUtils; import org.apache.geode.SystemFailure; import org.apache.geode.cache.execute.ResultCollector; @@ -66,7 +68,7 @@ public class DeployCommands implements GfshCommand { * Deploy one or more JAR files to members of a group or all members. * * @param groups Group(s) to deploy the JAR to or null for all members - * @param jar JAR file to deploy + * @param jars JAR file to deploy * @param dir Directory of JAR files to deploy * @return The result of the attempt to deploy */ @@ -77,7 +79,8 @@ public class DeployCommands implements GfshCommand { public Result deploy( @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS}, help = CliStrings.DEPLOY__GROUP__HELP, optionContext = ConverterHint.MEMBERGROUP) String[] groups, - @CliOption(key = {CliStrings.JAR}, help = CliStrings.DEPLOY__JAR__HELP) String jar, + @CliOption(key = {CliStrings.JAR, CliStrings.JARS}, + help = CliStrings.DEPLOY__JAR__HELP) String[] jars, @CliOption(key = {CliStrings.DEPLOY__DIR}, help = CliStrings.DEPLOY__DIR__HELP) String dir) { try { @@ -157,8 +160,8 @@ public class DeployCommands implements GfshCommand { @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS}, help =
[28/29] geode git commit: GEODE-2601: Updated based on feedback
GEODE-2601: Updated based on feedback This closes #582 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/601b338f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/601b338f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/601b338f Branch: refs/heads/feature/GEODE-2804 Commit: 601b338fd090775cbe5e4ecabfe61f24055b Parents: 04de174 Author: YehEmilyAuthored: Fri Jun 16 09:06:56 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 13:47:59 2017 -0700 -- .../geode/distributed/internal/InternalDistributedSystem.java | 3 +-- .../org/apache/geode/distributed/internal/InternalLocator.java | 6 ++ 2 files changed, 3 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/601b338f/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java index 4ed58af..1572355 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java @@ -2189,9 +2189,8 @@ public class InternalDistributedSystem extends DistributedSystem * @param resource the actual resource object. */ private void notifyResourceEventListeners(ResourceEvent event, Object resource) { -for (Iterator iter = resourceListeners.iterator(); iter.hasNext();) { +for (ResourceEventsListener listener : resourceListeners) { try { -ResourceEventsListener listener = iter.next(); listener.handleEvent(event, resource); } catch (CancelException e) { // ignore http://git-wip-us.apache.org/repos/asf/geode/blob/601b338f/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java index 3ff27ea..6eaaec2 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java @@ -469,15 +469,13 @@ public class InternalLocator extends Locator implements ConnectListener { // if security-log-file then create securityLogWriterAppender LogWriterAppenders.getOrCreateAppender(LogWriterAppenders.Identifier.SECURITY, true, false, this.config, false); - } -// do not create a LogWriterAppender for security -- let it go through to logWriterAppender + // do not create a LogWriterAppender for security -- let it go through to logWriterAppender } // LOG: create LogWriters for GemFireTracer (or use whatever was passed in) if (logWriter == null) { - logWriter = LogWriterFactory.createLogWriterLogger(false, false, this.config, - false); + logWriter = LogWriterFactory.createLogWriterLogger(false, false, this.config, false); if (logger.isDebugEnabled()) { logger.debug("LogWriter for locator is created."); }
[09/29] geode git commit: GEODE-2626: fix FastLoggerJUnitTest use of Mockito 2.7.11
GEODE-2626: fix FastLoggerJUnitTest use of Mockito 2.7.11 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/4121261e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/4121261e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/4121261e Branch: refs/heads/feature/GEODE-2804 Commit: 4121261ea835be31809e62dc87aa011a315f0ab2 Parents: 7dcd775 Author: Kirk LundAuthored: Tue Jun 13 11:00:07 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 13:47:56 2017 -0700 -- .../apache/geode/internal/logging/log4j/FastLoggerJUnitTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/4121261e/geode-core/src/test/java/org/apache/geode/internal/logging/log4j/FastLoggerJUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/logging/log4j/FastLoggerJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/logging/log4j/FastLoggerJUnitTest.java index e162087..891ac3c 100755 --- a/geode-core/src/test/java/org/apache/geode/internal/logging/log4j/FastLoggerJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/logging/log4j/FastLoggerJUnitTest.java @@ -16,7 +16,6 @@ package org.apache.geode.internal.logging.log4j; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; -import static org.mockito.Mockito.any; import static org.mockito.Mockito.*; import org.apache.logging.log4j.Level; @@ -97,7 +96,7 @@ public class FastLoggerJUnitTest { assertThat(fastLogger.isDebugEnabled(), is(true)); assertThat(fastLogger.isDebugEnabled(this.mockedMarker), is(true)); -verify(this.mockedLogger, times(1)).isEnabled(eq(Level.DEBUG), any(Marker.class), +verify(this.mockedLogger, times(1)).isEnabled(eq(Level.DEBUG), isNull(Marker.class), isNull(String.class)); verify(this.mockedLogger, times(1)).isEnabled(eq(Level.DEBUG), eq(this.mockedMarker), isNull(Object.class), isNull(Throwable.class));
[08/29] geode git commit: GEODE-2629: fix ConnectionJUnitTest use of Mockito 2.7.11
GEODE-2629: fix ConnectionJUnitTest use of Mockito 2.7.11 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/78dd36ee Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/78dd36ee Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/78dd36ee Branch: refs/heads/feature/GEODE-2804 Commit: 78dd36ee00f83d11df1baf0ba56d411b589e9561 Parents: 4121261 Author: Kirk LundAuthored: Tue Jun 13 11:05:54 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 13:47:56 2017 -0700 -- .../internal/cache/tier/sockets/command/PutTest.java | 10 +++--- .../apache/geode/internal/tcp/ConnectionJUnitTest.java| 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/78dd36ee/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/PutTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/PutTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/PutTest.java index 2578e00..2b22f13 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/PutTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/PutTest.java @@ -20,6 +20,7 @@ import static org.mockito.Matchers.eq; import static org.mockito.Matchers.isA; import static org.mockito.Mockito.*; +import org.apache.geode.internal.cache.EventIDHolder; import org.junit.Before; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -104,7 +105,7 @@ public class PutTest { when(this.callbackArgsPart.getObject()).thenReturn(CALLBACK_ARG); -when(this.eventPart.getSerializedForm()).thenReturn(this.EVENT); +when(this.eventPart.getSerializedForm()).thenReturn(EVENT); when(this.valuePart.getSerializedForm()).thenReturn(VALUE); when(this.valuePart.isObject()).thenReturn(true); @@ -127,8 +128,11 @@ public class PutTest { when(this.serverConnection.getErrorResponseMessage()).thenReturn(this.errorResponseMessage); when(this.serverConnection.getClientVersion()).thenReturn(Version.CURRENT); -when(this.localRegion.basicBridgePut(eq(KEY), eq(VALUE), eq(null), eq(true), eq(CALLBACK_ARG), -any(ClientProxyMembershipID.class), eq(true), any(EntryEventImpl.class))).thenReturn(true); +when(this.localRegion.basicBridgePut(eq(KEY), eq(VALUE), isNull(), eq(true), eq(CALLBACK_ARG), +isA(ClientProxyMembershipID.class), eq(true), isA(EntryEventImpl.class))).thenReturn(true); + +// here's the actual call made by tests of basicBridgePut... +// region.basicBridgePut(key, value, null, isObject, callbackArg, serverConnection.getProxyID(), true, new EventIDHolder(eventId)); } @Test http://git-wip-us.apache.org/repos/asf/geode/blob/78dd36ee/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionJUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionJUnitTest.java index 193240d..aeeb60f 100755 --- a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionJUnitTest.java @@ -80,6 +80,6 @@ public class ConnectionJUnitTest { Connection conn = new Connection(table, socket); conn.setSharedUnorderedForTest(); conn.run(); -verify(membership).suspectMember(any(InternalDistributedMember.class), any(String.class)); +verify(membership).suspectMember(isNull(InternalDistributedMember.class), any(String.class)); } }
[27/29] geode git commit: GEODE-2601: Fixing banner being logged twice during locator startup.
GEODE-2601: Fixing banner being logged twice during locator startup. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/04de174e Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/04de174e Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/04de174e Branch: refs/heads/feature/GEODE-2804 Commit: 04de174e8d3b05b6cf6645b8ebf19867010b66ae Parents: 6c330bf Author: YehEmilyAuthored: Mon Jun 12 13:55:24 2017 -0700 Committer: Hitesh Khamesra Committed: Mon Jun 19 13:47:59 2017 -0700 -- .../internal/InternalDistributedSystem.java | 24 .../distributed/internal/InternalLocator.java | 41 ++-- .../internal/logging/LogWriterFactory.java | 20 -- 3 files changed, 53 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/04de174e/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java index d77e8b9..4ed58af 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java @@ -18,6 +18,30 @@ package org.apache.geode.distributed.internal; import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT; +import java.io.File; +import java.io.IOException; +import java.io.Reader; +import java.lang.reflect.Array; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Properties; +import java.util.Set; +import java.util.SortedSet; +import java.util.StringTokenizer; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; + +import org.apache.logging.log4j.Logger; + import org.apache.geode.CancelCriterion; import org.apache.geode.CancelException; import org.apache.geode.ForcedDisconnectException; http://git-wip-us.apache.org/repos/asf/geode/blob/04de174e/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java index ae548c4..3ff27ea 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java @@ -18,7 +18,24 @@ import static org.apache.geode.distributed.ConfigurationProperties.BIND_ADDRESS; import static org.apache.geode.distributed.ConfigurationProperties.CACHE_XML_FILE; import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; +import java.io.File; +import java.io.IOException; +import java.net.ConnectException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Properties; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; + import org.apache.commons.lang.StringUtils; +import org.apache.logging.log4j.Logger; + import org.apache.geode.CancelException; import org.apache.geode.cache.CacheFactory; import org.apache.geode.cache.GemFireCache; @@ -65,22 +82,6 @@ import org.apache.geode.management.internal.configuration.handlers.SharedConfigu import org.apache.geode.management.internal.configuration.messages.ConfigurationRequest; import org.apache.geode.management.internal.configuration.messages.SharedConfigurationStatusRequest; import org.apache.geode.management.internal.configuration.messages.SharedConfigurationStatusResponse; -import org.apache.logging.log4j.Logger; - -import java.io.File; -import java.io.IOException; -import java.net.ConnectException; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.Collection; -import