[1/2] incubator-geode git commit: GEODE-420: Locator ssl config.
Repository: incubator-geode Updated Branches: refs/heads/feature/GEODE-420 7ecc66389 -> b557ccfef http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b557ccfe/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java index fa0a6c5..32cb673 100755 --- a/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java @@ -3781,4 +3781,7 @@ public class LocalizedStrings { public static final StringId DistributedRegion_INITIALIZING_REGION_COMPLETED_0 = new StringId(90005, "Initialization of region {0} completed"); + public static StringId AbstractDistributionConfig_LOCATOR_SSL_ALIAS_0 = new StringId(6640,"SSL locator communications uses this alias when determining the " + + "key to use from the keystore for SSL. Defaults to \"{0}\"."); + } http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b557ccfe/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactory.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactory.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactory.java index e0c595e..04241c9 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactory.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactory.java @@ -73,6 +73,12 @@ public class SSLConfigurationFactory { case CLUSTER: { break; } + case LOCATOR:{ +if (sslEnabledComponents.length > 0) { + sslConfig.setAlias(distributionConfig.getLocatorSSLAlias()); +} +break; + } case SERVER: { if (sslEnabledComponents.length > 0) { sslConfig.setAlias(distributionConfig.getServerSSLAlias()); http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b557ccfe/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLEnabledComponent.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLEnabledComponent.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLEnabledComponent.java index 27ed629..88d8acd 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLEnabledComponent.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SSLEnabledComponent.java @@ -28,6 +28,7 @@ public enum SSLEnabledComponent { JMX(SSLEnabledComponents.JMX), HTTP_SERVICE(SSLEnabledComponents.HTTP_SERVICE), GATEWAY(SSLEnabledComponents.GATEWAY), + LOCATOR(SSLEnabledComponents.LOCATOR), NONE("NO_COMPONENT"); private String constant; http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b557ccfe/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SocketCreator.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SocketCreator.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SocketCreator.java index 3107f2a..0796233 100755 --- a/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SocketCreator.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/net/SocketCreator.java @@ -64,6 +64,7 @@ import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.net.ssl.SSLException; +import javax.net.ssl.SSLHandshakeException; import javax.net.ssl.SSLPeerUnverifiedException; import javax.net.ssl.SSLServerSocket; import javax.net.ssl.SSLSession; @@ -610,6 +611,9 @@ public class SocketCreator { @Override public String chooseClientAlias(final String[] strings, final Principal[] principals, final Socket socket) { + if (!StringUtils.isEmpty(this.keyAlias)) { +return keyAlias; + } return delegate.chooseClientAlias(strings, principals, socket); } @@ -1054,6 +1058,11 @@ public class SocketCreator { if (logger.isDebugEnabled()) { logger.debug(LocalizedMessage.create(LocalizedStrings.SocketCreator_SSL_CONNECTION_FROM_PEER_0, ((X509Certificate) peer[0]).getSubjectDN())); } + } catch (SSLHandshakeException ex) { + logger.fatal(LocalizedMessage.create(LocalizedStrings.SocketCreator_SSL_ERROR_IN_CONNECTING_TO_PEER_0_1, new Object[] { + socket.getInetAddress(), Integer.valueOf(socket.getPort()) +}),
[2/2] incubator-geode git commit: GEODE-420: Locator ssl config.
GEODE-420: Locator ssl config. Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/b557ccfe Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/b557ccfe Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/b557ccfe Branch: refs/heads/feature/GEODE-420 Commit: b557ccfefb5f775df82386f8a4a51d2b02ae570c Parents: 7ecc663 Author: Udo KohlmeyerAuthored: Fri Aug 5 16:06:15 2016 -0700 Committer: Udo Kohlmeyer Committed: Fri Aug 5 16:06:15 2016 -0700 -- .../distributed/ConfigurationProperties.java| 11 + .../distributed/SSLEnabledComponents.java |5 + .../internal/AbstractDistributionConfig.java|5 +- .../internal/DistributionConfig.java| 23 + .../internal/DistributionConfigImpl.java| 15 + .../distributed/internal/InternalLocator.java | 962 - .../internal/tcpserver/TcpClient.java | 59 +- .../internal/tcpserver/TcpServer.java | 12 +- .../gemfire/internal/i18n/LocalizedStrings.java |3 + .../internal/net/SSLConfigurationFactory.java |6 + .../internal/net/SSLEnabledComponent.java |1 + .../gemfire/internal/net/SocketCreator.java | 10 + .../internal/net/SocketCreatorFactory.java | 14 +- .../gemfire/distributed/LocatorDUnitTest.java | 1012 -- .../net/SocketCreatorFactoryJUnitTest.java | 17 + .../gemfire/management/JMXMBeanDUnitTest.java |1 + .../gemstone/gemfire/internal/net/multiKey.jks | Bin 10062 -> 12102 bytes .../gemfire/internal/net/multiKeyTrust.jks | Bin 3614 -> 4366 bytes 18 files changed, 1321 insertions(+), 835 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b557ccfe/geode-core/src/main/java/com/gemstone/gemfire/distributed/ConfigurationProperties.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/ConfigurationProperties.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/ConfigurationProperties.java index d356d20..ddec998 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/ConfigurationProperties.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/ConfigurationProperties.java @@ -934,6 +934,17 @@ public interface ConfigurationProperties { */ String LOAD_CLUSTER_CONFIGURATION_FROM_DIR = "load-cluster-configuration-from-dir"; /** + * The static String definition of the "locator-ssl-alias" property + * + * Description: This property is to be used if a specific key is to be used for the SSL communications for the locator. + * These Communications would be either locator-client or locator-server + * + * Optional + * Default: "" + * Since: Geode 1.0 + */ + String LOCATOR_SSL_ALIAS = "locator-ssl-alias"; + /** * The static String definition of the "locator-wait-time" property * * Description: The number of seconds to wait for a locator to start http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b557ccfe/geode-core/src/main/java/com/gemstone/gemfire/distributed/SSLEnabledComponents.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/SSLEnabledComponents.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/SSLEnabledComponents.java index a403662..51cc99a 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/SSLEnabledComponents.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/SSLEnabledComponents.java @@ -54,4 +54,9 @@ public interface SSLEnabledComponents { * Since: Geode 1.0 */ String GATEWAY = "gateway"; + /** + * This determines that the locator component will use the SSL for its communications between server and locator and client and locator. + * Since: Geode 1.0 + */ + String LOCATOR = "locator"; } http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b557ccfe/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java index 56de76d..458b1ad 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java @@ -485,6 +485,7 @@ public abstract class
[2/2] incubator-geode git commit: GEODE-1726 Clean up compilation warnings in new GMS
GEODE-1726 Clean up compilation warnings in new GMS Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/5f840549 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/5f840549 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/5f840549 Branch: refs/heads/develop Commit: 5f84054955dc873add294cc0115f9d52e420e168 Parents: f3db3e8 Author: Bruce SchuchardtAuthored: Fri Aug 5 11:26:43 2016 -0700 Committer: Bruce Schuchardt Committed: Fri Aug 5 11:32:35 2016 -0700 -- .../internal/membership/NetView.java| 80 ++-- .../internal/membership/gms/GMSUtil.java| 30 +- .../internal/membership/gms/ServiceConfig.java | 56 +-- .../internal/membership/gms/Services.java | 3 +- .../membership/gms/fd/GMSHealthMonitor.java | 218 +- .../membership/gms/locator/GMSLocator.java | 19 +- .../membership/gms/membership/GMSJoinLeave.java | 53 ++- .../gms/messenger/GMSQuorumChecker.java | 43 +- .../gms/messenger/JGroupsMessenger.java | 77 ++-- .../gms/mgr/GMSMembershipManager.java | 413 +++ .../gms/membership/GMSJoinLeaveJUnitTest.java | 2 +- .../sanctionedDataSerializables.txt | 4 +- .../codeAnalysis/sanctionedSerializables.txt| 2 +- 13 files changed, 387 insertions(+), 613 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/5f840549/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/NetView.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/NetView.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/NetView.java index 4c33e08..f3c04f7 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/NetView.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/NetView.java @@ -28,8 +28,8 @@ import java.util.Iterator; import java.util.List; import java.util.Random; import java.util.Set; +import java.util.stream.*; -import com.gemstone.gemfire.internal.logging.LogService; import org.apache.logging.log4j.Logger; import com.gemstone.gemfire.DataSerializer; @@ -46,6 +46,7 @@ import com.gemstone.gemfire.internal.Version; * * @since GemFire 5.5 */ +@SuppressWarnings("SynchronizeOnNonFinalField") public class NetView implements DataSerializableFixedID { private int viewId; @@ -60,7 +61,7 @@ public class NetView implements DataSerializableFixedID { public NetView() { viewId = 0; -members = new ArrayList(4); +members = new ArrayList<>(4); this.hashedMembers = new HashSet<>(members); shutdownMembers = Collections.emptySet(); crashedMembers = new HashSet<>(); @@ -70,7 +71,7 @@ public class NetView implements DataSerializableFixedID { public NetView(InternalDistributedMember creator) { viewId = 0; -members = new ArrayList(4); +members = new ArrayList<>(4); members.add(creator); hashedMembers = new HashSet<>(members); shutdownMembers = new HashSet<>(); @@ -81,7 +82,7 @@ public class NetView implements DataSerializableFixedID { public NetView(InternalDistributedMember creator, int viewId, List members) { this.viewId = viewId; -this.members = new ArrayList(members); +this.members = new ArrayList<>(members); hashedMembers = new HashSet<>(this.members); shutdownMembers = new HashSet<>(); crashedMembers = Collections.emptySet(); @@ -90,11 +91,15 @@ public class NetView implements DataSerializableFixedID { } - // legacy method for JGMM + /** + * Test method + * @param size size of the view, used for presizing collections + * @param viewId the ID of the view + */ public NetView(int size, long viewId) { this.viewId = (int) viewId; -members = new ArrayList(size); -this.hashedMembers = new HashSet(); +members = new ArrayList<>(size); +this.hashedMembers = new HashSet<>(); shutdownMembers = new HashSet<>(); crashedMembers = Collections.emptySet(); creator = null; @@ -104,18 +109,16 @@ public class NetView implements DataSerializableFixedID { /** * Create a new view with the contents of the given view and the * specified view ID - * @param other - * @param viewId */ public NetView(NetView other, int viewId) { this.creator = other.creator; this.viewId = viewId; -this.members = new ArrayList(other.members); -this.hashedMembers = new HashSet(other.members); +this.members = new ArrayList<>(other.members); +this.hashedMembers = new
[1/2] incubator-geode git commit: GEODE-1726 Clean up compilation warnings in new GMS
Repository: incubator-geode Updated Branches: refs/heads/develop f3db3e82c -> 5f8405495 http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/5f840549/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java index 33c57e0..c1836bd 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java @@ -29,6 +29,7 @@ import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Map.*; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; @@ -54,7 +55,6 @@ import com.gemstone.gemfire.distributed.DistributedSystemDisconnectedException; import com.gemstone.gemfire.distributed.Locator; import com.gemstone.gemfire.distributed.internal.AdminMessageType; import com.gemstone.gemfire.distributed.internal.DMStats; -import com.gemstone.gemfire.distributed.internal.DSClock; import com.gemstone.gemfire.distributed.internal.DistributionConfig; import com.gemstone.gemfire.distributed.internal.DistributionException; import com.gemstone.gemfire.distributed.internal.DistributionManager; @@ -103,13 +103,13 @@ public class GMSMembershipManager implements MembershipManager, Manager private static final Logger logger = Services.getLogger(); /** product version to use for multicast serialization */ - volatile boolean disableMulticastForRollingUpgrade; + private volatile boolean disableMulticastForRollingUpgrade; /** * set to true if the distributed system that created this manager was * auto-reconnecting when it was created. */ - boolean wasReconnectingSystem; + private boolean wasReconnectingSystem; /** * A quorum checker is created during reconnect and is held @@ -123,7 +123,7 @@ public class GMSMembershipManager implements MembershipManager, Manager * avoid deadlock when conserve-sockets=true. Use of this should be removed * when connection pools are implemented in the direct-channel */ - private ThreadLocal forceUseUDPMessaging = new ThreadLocal() { + private final ThreadLocal forceUseUDPMessaging = new ThreadLocal() { @Override protected Boolean initialValue() { return Boolean.FALSE; } @@ -154,7 +154,7 @@ public class GMSMembershipManager implements MembershipManager, Manager * @see #VIEW * @see #MESSAGE */ -private int kind; +private final int kind; // Miscellaneous state depending on the kind of event InternalDistributedMember member; @@ -165,21 +165,21 @@ public class GMSMembershipManager implements MembershipManager, Manager @Override public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("kind="); switch (kind) { case SURPRISE_CONNECT: -sb.append("connect; member = <" + member + ">"); +sb.append("connect; member = <").append(member).append(">"); break; case VIEW: String text = gmsView.toString(); -sb.append("view <" + text + ">"); +sb.append("view <").append(text).append(">"); break; case MESSAGE: -sb.append("message <" + dmsg + ">"); +sb.append("message <").append(dmsg).append(">"); break; default: -sb.append("unknown=<" + kind + ">"); +sb.append("unknown=<").append(kind).append(">"); break; } return sb.toString(); @@ -242,7 +242,7 @@ public class GMSMembershipManager implements MembershipManager, Manager * startup to finish. Updates to {@link #startupMessages} * are synchronized through this object. */ - protected final EventProcessingLock startupLock = new EventProcessingLock(); + private final EventProcessingLock startupLock = new EventProcessingLock(); /** * This is the latest view (ordered list of DistributedMembers) @@ -250,40 +250,40 @@ public class GMSMembershipManager implements MembershipManager, Manager * * All accesses to this object are protected via {@link #latestViewLock} */ - protected NetView latestView = new NetView(); + private NetView latestView = new NetView(); /** * This is the lock for protecting access to latestView * * @see #latestView */ - protected ReadWriteLock latestViewLock = new ReentrantReadWriteLock(); + private final ReadWriteLock latestViewLock = new
[2/2] incubator-geode git commit: GEODE-1728: Removing the dispatcher elements from the session filter
GEODE-1728: Removing the dispatcher elements from the session filter The geode session filter is being applied to all requests. Because of that, all request objects should already be wrapped in a RequestWrapper. By adding these dispatcher elements to the filter, the filter was being applied multiple times to the request when a request is forwarded or included using the RequestDipatcher. That is unnecessary, and problematic if we can't determine that the request has already been wrapped. Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/bc6f5da3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/bc6f5da3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/bc6f5da3 Branch: refs/heads/develop Commit: bc6f5da31e8ca5ff3e1a3ecc637a09b2132e2be4 Parents: 45299f3 Author: Dan SmithAuthored: Wed Aug 3 17:21:07 2016 -0700 Committer: Dan Smith Committed: Fri Aug 5 10:59:49 2016 -0700 -- extensions/geode-modules-session/build.gradle | 1 + .../modules/session/installer/Installer.java| 6 +- .../session/installer/InstallerJUnitTest.java | 62 .../installer/InstallerJUnitTest.web.xml| 41 + .../InstallerJUnitTest.web.xml.expected | 52 5 files changed, 157 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/bc6f5da3/extensions/geode-modules-session/build.gradle -- diff --git a/extensions/geode-modules-session/build.gradle b/extensions/geode-modules-session/build.gradle index 4045a69..191b251 100644 --- a/extensions/geode-modules-session/build.gradle +++ b/extensions/geode-modules-session/build.gradle @@ -23,6 +23,7 @@ dependencies { testCompile 'org.slf4j:slf4j-api:' + project.'slf4j-api.version' testCompile('com.mockrunner:mockrunner-servlet:' + project.'mockrunner.version') { exclude group: 'jboss' +exclude group: 'xerces' } testCompile(group: 'org.eclipse.jetty', name: 'jetty-http', version: project.'jetty.version', classifier: 'tests') testCompile(group: 'org.eclipse.jetty', name: 'jetty-servlet', version: project.'jetty.version', classifier: 'tests') http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/bc6f5da3/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/installer/Installer.java -- diff --git a/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/installer/Installer.java b/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/installer/Installer.java index 7ba5b34..1d16494 100644 --- a/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/installer/Installer.java +++ b/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/installer/Installer.java @@ -151,7 +151,7 @@ public class Installer { } - private void processWebXml(final InputStream webXml, + public void processWebXml(final InputStream webXml, final OutputStream out) throws Exception { Document doc = createWebXmlDoc(webXml); @@ -232,10 +232,6 @@ public class Installer { final Element filterMapping = doc.createElement("filter-mapping"); append(doc, filterMapping, "filter-name", "gemfire-session-filter"); append(doc, filterMapping, "url-pattern", "/*"); -append(doc, filterMapping, "dispatcher", "FORWARD"); -append(doc, filterMapping, "dispatcher", "INCLUDE"); -append(doc, filterMapping, "dispatcher", "REQUEST"); -append(doc, filterMapping, "dispatcher", "ERROR"); final Element contextListener = doc.createElement("listener"); append(doc, contextListener, "listener-class", GEMFIRE_LISTENER_CLASS); docElement.insertBefore(filterMapping, after(docElement, "filter")); http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/bc6f5da3/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/installer/InstallerJUnitTest.java -- diff --git a/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/installer/InstallerJUnitTest.java b/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/installer/InstallerJUnitTest.java new file mode 100644 index 000..98e5aac --- /dev/null +++ b/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/installer/InstallerJUnitTest.java @@ -0,0 +1,62 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or
[1/2] incubator-geode git commit: GEODE-1728: Recursively checking for wrapped http sessions
Repository: incubator-geode Updated Branches: refs/heads/develop 45299f3fa -> f3db3e82c GEODE-1728: Recursively checking for wrapped http sessions Our check for wrapped http sessions in the session caching module was not working if a request was wrapped by our module and then by a third party filter that also wrapped the request. Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/f3db3e82 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/f3db3e82 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/f3db3e82 Branch: refs/heads/develop Commit: f3db3e82cad98541232d60c344728e2c2c839021 Parents: bc6f5da Author: Dan SmithAuthored: Thu Aug 4 13:39:31 2016 -0700 Committer: Dan Smith Committed: Fri Aug 5 10:59:49 2016 -0700 -- .../session/filter/SessionCachingFilter.java| 25 +++- .../session/internal/filter/CommonTests.java| 42 2 files changed, 65 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f3db3e82/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/filter/SessionCachingFilter.java -- diff --git a/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/filter/SessionCachingFilter.java b/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/filter/SessionCachingFilter.java index 7abc253..c644235 100644 --- a/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/filter/SessionCachingFilter.java +++ b/extensions/geode-modules-session/src/main/java/com/gemstone/gemfire/modules/session/filter/SessionCachingFilter.java @@ -423,8 +423,7 @@ public class SessionCachingFilter implements Filter { * Early out if this isn't the right kind of request. We might see a * RequestWrapper instance during a forward or include request. */ -if (request instanceof RequestWrapper || -!(request instanceof HttpServletRequest)) { +if (alreadyWrapped(httpReq)) { LOG.debug("Handling already-wrapped request"); chain.doFilter(request, response); return; @@ -480,6 +479,28 @@ public class SessionCachingFilter implements Filter { } /** + * Test if a request has been wrapped with RequestWrapper somewhere + * in the chain of wrapped requests. + */ + private boolean alreadyWrapped(final ServletRequest request) { +if(request instanceof RequestWrapper) { + return true; +} + +if(!(request instanceof ServletRequestWrapper)) { + return false; +} + +final ServletRequest nestedRequest = ((ServletRequestWrapper) request).getRequest(); + +if(nestedRequest == request) { + return false; +} + +return alreadyWrapped(nestedRequest); + } + + /** * Return the filter configuration object for this filter. */ public FilterConfig getFilterConfig() { http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f3db3e82/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/internal/filter/CommonTests.java -- diff --git a/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/internal/filter/CommonTests.java b/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/internal/filter/CommonTests.java index c341c6f..51c3dec 100644 --- a/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/internal/filter/CommonTests.java +++ b/extensions/geode-modules-session/src/test/java/com/gemstone/gemfire/modules/session/internal/filter/CommonTests.java @@ -18,13 +18,22 @@ package com.gemstone.gemfire.modules.session.internal.filter; import static org.junit.Assert.*; +import java.io.IOException; import java.util.concurrent.TimeUnit; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionAttributeListener; +import com.gemstone.gemfire.modules.session.filter.SessionCachingFilter; import com.mockrunner.mock.web.MockHttpServletRequest; import com.mockrunner.mock.web.MockHttpServletResponse; import com.mockrunner.mock.web.MockHttpSession; @@ -577,4 +586,37
incubator-geode git commit: GEODE-1676: Multiple Not Equals in query with Compact Range Index returns incorrect results
Repository: incubator-geode Updated Branches: refs/heads/develop fd4df9aac -> 45299f3fa GEODE-1676: Multiple Not Equals in query with Compact Range Index returns incorrect results * Copy the not equals parameters instead of modifying the original set * PdxString and String comparison is now added to the comparison logic for Compact Range Index Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/45299f3f Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/45299f3f Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/45299f3f Branch: refs/heads/develop Commit: 45299f3fa0e62872d35e416409bac965cf377db6 Parents: fd4df9a Author: Jason HuynhAuthored: Wed Jul 27 15:26:09 2016 -0700 Committer: Jason Huynh Committed: Fri Aug 5 09:29:12 2016 -0700 -- .../query/internal/index/MemoryIndexStore.java | 3 +- .../cache/query/internal/types/TypeUtils.java | 20 +++-- .../dunit/CompactRangeIndexQueryDUnitTest.java | 91 .../query/internal/types/TypeUtilTest.java | 46 ++ 4 files changed, 152 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/45299f3f/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/MemoryIndexStore.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/MemoryIndexStore.java b/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/MemoryIndexStore.java index 83f8c02..59e7d21 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/MemoryIndexStore.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/MemoryIndexStore.java @@ -18,6 +18,7 @@ package com.gemstone.gemfire.cache.query.internal.index; import java.util.AbstractMap.SimpleImmutableEntry; import java.util.Collection; +import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.NoSuchElementException; @@ -614,7 +615,7 @@ private Object convertToIndexKey(Object key, RegionEntry entry) Object indexKey, Collection keysToRemove, long iteratorStartTime) { this.map = submap; this.indexKey = indexKey; - this.keysToRemove = keysToRemove; + this.keysToRemove = keysToRemove == null? null : new HashSet(keysToRemove); this.iteratorStartTime = iteratorStartTime; currentEntry = new MemoryIndexStoreEntry(iteratorStartTime); } http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/45299f3f/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/types/TypeUtils.java -- diff --git a/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/types/TypeUtils.java b/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/types/TypeUtils.java index 14c798f..d244798 100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/types/TypeUtils.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/types/TypeUtils.java @@ -36,6 +36,7 @@ import com.gemstone.gemfire.cache.query.types.ObjectType; import com.gemstone.gemfire.internal.i18n.LocalizedStrings; import com.gemstone.gemfire.pdx.internal.EnumInfo.PdxInstanceEnumInfo; import com.gemstone.gemfire.pdx.internal.PdxInstanceEnum; +import com.gemstone.gemfire.pdx.internal.PdxString; /** @@ -166,13 +167,18 @@ public class TypeUtils implements OQLLexerTokenTypes return QueryService.UNDEFINED; } } - -if (obj1 instanceof PdxInstanceEnumInfo && obj2 instanceof Enum) { - obj2 = new PdxInstanceEnum((Enum) obj2); -} else if (obj1 instanceof Enum && obj2 instanceof PdxInstanceEnumInfo) { - obj1 = new PdxInstanceEnum((Enum) obj1); -} - + + if (obj1 instanceof PdxInstanceEnumInfo && obj2 instanceof Enum) { +obj2 = new PdxInstanceEnum((Enum) obj2); + } else if (obj1 instanceof Enum && obj2 instanceof PdxInstanceEnumInfo) { +obj1 = new PdxInstanceEnum((Enum) obj1); + } + + if (obj1 instanceof PdxString && obj2 instanceof String) { +obj2 = new PdxString((String) obj2); + } else if (obj1 instanceof String && obj2 instanceof PdxString) { +obj1 = new PdxString((String) obj1); + } try { int r; http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/45299f3f/geode-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/CompactRangeIndexQueryDUnitTest.java
incubator-geode git commit: GEODE-1467: Rename servlet URLs from gemfire to geode
Repository: incubator-geode Updated Branches: refs/heads/develop c7a0a458f -> fd4df9aac GEODE-1467: Rename servlet URLs from gemfire to geode * Add a second servlet for each. This allows both the old and new URL contexts for a time. * Updated some unit tests to use Parameterized so that both endoints will be tested. * This closes #227 Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/fd4df9aa Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/fd4df9aa Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/fd4df9aa Branch: refs/heads/develop Commit: fd4df9aac005aabcd585228666a6bc852022924d Parents: c7a0a45 Author: Kevin J. DulingAuthored: Thu Jul 28 15:07:14 2016 -0700 Committer: Jinmei Liao Committed: Fri Aug 5 09:01:39 2016 -0700 -- ...stAPIOnRegionFunctionExecutionDUnitTest.java | 326 ++- .../web/controllers/RestAPITestBase.java| 76 +++-- .../RestAPIsAndInterOpsDUnitTest.java | 74 +++-- ...tAPIsOnGroupsFunctionExecutionDUnitTest.java | 24 +- ...APIsOnMembersFunctionExecutionDUnitTest.java | 108 +++--- .../controllers/RestAPIsWithSSLDUnitTest.java | 89 +++-- .../management/internal/ManagementAgent.java| 4 + .../gemfire/management/internal/RestAgent.java | 20 +- .../main/webapp/WEB-INF/gemfire-api-servlet.xml | 85 - .../src/main/webapp/WEB-INF/geode-servlet.xml | 85 + geode-web-api/src/main/webapp/WEB-INF/web.xml | 4 +- .../src/main/webapp/WEB-INF/gemfire-servlet.xml | 59 .../main/webapp/WEB-INF/geode-mgmt-servlet.xml | 59 geode-web/src/main/webapp/WEB-INF/web.xml | 4 +- .../ConnectCommandWithHttpAndSSLDUnitTest.java | 20 +- 15 files changed, 577 insertions(+), 460 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd4df9aa/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java -- diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java index d384fef..62ddb35 100644 --- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java +++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java @@ -16,17 +16,31 @@ */ package com.gemstone.gemfire.rest.internal.web.controllers; -import org.junit.experimental.categories.Category; -import org.junit.Test; - import static org.junit.Assert.*; -import com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase; -import com.gemstone.gemfire.test.dunit.internal.JUnit4DistributedTestCase; -import com.gemstone.gemfire.test.junit.categories.DistributedTest; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +import org.apache.http.client.methods.CloseableHttpResponse; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import com.gemstone.gemfire.LogWriter; -import com.gemstone.gemfire.cache.*; +import com.gemstone.gemfire.cache.AttributesFactory; +import com.gemstone.gemfire.cache.CacheFactory; +import com.gemstone.gemfire.cache.DataPolicy; +import com.gemstone.gemfire.cache.Region; +import com.gemstone.gemfire.cache.RegionAttributes; +import com.gemstone.gemfire.cache.Scope; import com.gemstone.gemfire.cache.execute.FunctionContext; import com.gemstone.gemfire.cache.execute.FunctionService; import com.gemstone.gemfire.cache.execute.RegionFunctionContext; @@ -38,149 +52,35 @@ import com.gemstone.gemfire.internal.cache.PartitionedRegion; import com.gemstone.gemfire.internal.cache.PartitionedRegionTestHelper; import com.gemstone.gemfire.rest.internal.web.RestFunctionTemplate; import com.gemstone.gemfire.test.dunit.VM; -import org.apache.http.client.methods.CloseableHttpResponse; - -import java.io.Serializable; -import java.util.*; +import com.gemstone.gemfire.test.junit.categories.DistributedTest; +import com.gemstone.gemfire.test.junit.runners.CategoryWithParameterizedRunnerFactory; /** * Dunit Test to validate OnRegion function execution with REST APIs - * * @since GemFire 8.0 */ @Category(DistributedTest.class)