geode git commit: GEM-1353
Repository: geode Updated Branches: refs/heads/feature/GEM-1353 799548ee4 -> b9e8ac598 GEM-1353 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b9e8ac59 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b9e8ac59 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b9e8ac59 Branch: refs/heads/feature/GEM-1353 Commit: b9e8ac59892aed7f2ddea62f54b07ddac688456e Parents: 799548e Author: zhouxhAuthored: Fri Apr 7 18:43:43 2017 -0700 Committer: zhouxh Committed: Fri Apr 7 18:43:43 2017 -0700 -- .../geode/internal/cache/BucketRegion.java | 272 --- .../cache/DistributedCacheOperation.java| 46 ++-- .../geode/internal/cache/DistributedRegion.java | 49 +++- .../internal/cache/LocalRegionDataView.java | 20 +- 4 files changed, 259 insertions(+), 128 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/b9e8ac59/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java index d92ddab..03aa3ef 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java @@ -577,21 +577,33 @@ public class BucketRegion extends DistributedRegion implements Bucket { } protected void distributeUpdateOperation(EntryEventImpl event, long lastModified) { -if (!event.isOriginRemote() && !event.isNetSearch() && getBucketAdvisor().isPrimary()) { - if (event.isBulkOpInProgress()) { -// consolidate the UpdateOperation for each entry into a PutAllMessage -// since we did not call basicPutPart3(), so we have to explicitly addEntry here -event.getPutAllOperation().addEntry(event, this.getId()); - } else { -new UpdateOperation(event, lastModified).distribute(); -if (logger.isDebugEnabled()) { - logger.debug("sent update operation : for region : {}: with event: {}", this.getName(), - event); +long viewVersion = -1; +UpdateOperation op = null; + +try { + if (!event.isOriginRemote() && !event.isNetSearch() && getBucketAdvisor().isPrimary()) { +if (event.isBulkOpInProgress()) { + // consolidate the UpdateOperation for each entry into a PutAllMessage + // since we did not call basicPutPart3(), so we have to explicitly addEntry here + event.getPutAllOperation().addEntry(event, this.getId()); +} else { + // BR's put + op = new UpdateOperation(event, lastModified); + viewVersion = op.startOperation(); + op.distribute(); + if (logger.isDebugEnabled()) { +logger.debug("sent update operation : for region : {}: with event: {}", this.getName(), +event); + } } } -} -if (!event.getOperation().isPutAll()) { // putAll will invoke listeners later - event.invokeCallbacks(this, true, true); + if (!event.getOperation().isPutAll()) { // putAll will invoke listeners later +event.invokeCallbacks(this, true, true); + } +} finally { + if (op != null) { +op.endOperation(viewVersion); + } } } @@ -607,40 +619,55 @@ public class BucketRegion extends DistributedRegion implements Bucket { // timestamp returned from basicPutPart2, but as a bucket we want to do // distribution *before* we do basicPutPart2. final long modifiedTime = event.getEventTime(lastModified); -// Update the get stats if necessary. -if (this.partitionedRegion.getDataStore().hasClientInterest(event)) { - updateStatsForGet(entry, true); -} -if (!event.isOriginRemote()) { - if (event.getVersionTag() == null || event.getVersionTag().isGatewayTag()) { -boolean eventHasDelta = event.getDeltaBytes() != null; -VersionTag v = entry.generateVersionTag(null, eventHasDelta, this, event); -if (v != null) { - if (logger.isDebugEnabled()) { -logger.debug("generated version tag {} in region {}", v, this.getName()); + +long viewVersion = -1; +UpdateOperation op = null; + +try { + // Update the get stats if necessary. + if (this.partitionedRegion.getDataStore().hasClientInterest(event)) { +updateStatsForGet(entry, true); + } + if (!event.isOriginRemote()) { +if (event.getVersionTag() == null || event.getVersionTag().isGatewayTag()) { + boolean eventHasDelta = event.getDeltaBytes() != null; + VersionTag
[06/12] geode git commit: GEODE-2756: Do not put security-* properties in the env.
GEODE-2756: Do not put security-* properties in the env. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/19376d30 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/19376d30 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/19376d30 Branch: refs/heads/feature/GEODE-2632 Commit: 19376d3069a7808481b2ed572ea49e3610dc9df1 Parents: 5430c91 Author: Jinmei LiaoAuthored: Thu Apr 6 09:50:57 2017 -0700 Committer: Jinmei Liao Committed: Thu Apr 6 14:16:27 2017 -0700 -- .../support/LoginHandlerInterceptor.java| 27 +++ .../LoginHandlerInterceptorJUnitTest.java | 51 +--- ...andlerInterceptorRequestHeaderJUnitTest.java | 28 --- 3 files changed, 60 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/19376d30/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java b/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java index 9e05174..56d9b9e 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java @@ -22,7 +22,6 @@ import org.apache.geode.internal.security.SecurityService; import org.apache.geode.management.internal.cli.multistep.CLIMultiStepHelper; import org.apache.geode.management.internal.security.ResourceConstants; import org.apache.geode.management.internal.web.util.UriUtils; -import org.apache.geode.security.Authenticator; import org.apache.logging.log4j.Logger; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; @@ -51,8 +50,6 @@ public class LoginHandlerInterceptor extends HandlerInterceptorAdapter { private Cache cache; - private Authenticator auth = null; - private SecurityService securityService = IntegratedSecurityService.getSecurityService(); private static final ThreadLocal
[07/12] geode git commit: GEODE-2732 after auto-reconnect a server is restarted on the default port
GEODE-2732 after auto-reconnect a server is restarted on the default port Now that gfsh cache server parameters are no longer held in a ThreadLocal we need to clear the static variables holding the parameters in order to avoid having one test affect another. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/799548ee Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/799548ee Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/799548ee Branch: refs/heads/feature/GEODE-2632 Commit: 799548ee4e4d883309f83bf401d6af892b3abfc1 Parents: 19376d3 Author: Bruce SchuchardtAuthored: Thu Apr 6 15:46:31 2017 -0700 Committer: Bruce Schuchardt Committed: Thu Apr 6 15:48:21 2017 -0700 -- .../geode/test/dunit/internal/JUnit4DistributedTestCase.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/799548ee/geode-core/src/test/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java -- diff --git a/geode-core/src/test/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java b/geode-core/src/test/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java index 19949c2..5a679bb 100644 --- a/geode-core/src/test/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java +++ b/geode-core/src/test/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java @@ -34,6 +34,7 @@ import org.apache.geode.distributed.internal.DistributionConfig; import org.apache.geode.distributed.internal.DistributionMessageObserver; import org.apache.geode.distributed.internal.InternalDistributedSystem; import org.apache.geode.internal.admin.ClientStatsManager; +import org.apache.geode.internal.cache.CacheServerLauncher; import org.apache.geode.internal.cache.DiskStoreObserver; import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.internal.cache.HARegion; @@ -581,6 +582,7 @@ public abstract class JUnit4DistributedTestCase implements DistributedTestFixtur disconnectFromDS(); // keep alphabetized to detect duplicate lines CacheCreation.clearThreadLocals(); +CacheServerLauncher.clearStatics(); CacheServerTestUtil.clearCacheReference(); ClientProxyMembershipID.system = null; ClientServerTestCase.AUTO_LOAD_BALANCE = false;
[05/12] geode git commit: GEODE-2716: export logs default behavior changed from filtering at log level INFO to ALL.
GEODE-2716: export logs default behavior changed from filtering at log level INFO to ALL. * Removed reliance on LogService.DEFAULT_LOG_LEVEL, added ExportLogCommand.DEFAULT_EXPORT_LOG_LEVEL. * Added DUnit test that fails under previous behavior. * this closes #439 Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/5430c91f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/5430c91f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/5430c91f Branch: refs/heads/feature/GEODE-2632 Commit: 5430c91f61fdb9ae4b0d11758d2b8e5a18f52163 Parents: 669d3ed Author: Patrick RhombergAuthored: Tue Mar 28 15:12:02 2017 -0700 Committer: Jinmei Liao Committed: Thu Apr 6 10:17:36 2017 -0700 -- .../geode/internal/logging/LogService.java | 1 - .../cli/commands/ExportLogsCommand.java | 4 +- .../cli/functions/ExportLogsFunction.java | 2 +- .../internal/cli/i18n/CliStrings.java | 4 +- .../cli/commands/ExportLogsDUnitTest.java | 7 +++ .../cli/functions/ExportLogsFunctionTest.java | 45 .../cli/commands/golden-help-offline.properties | 11 ++--- 7 files changed, 64 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/5430c91f/geode-core/src/main/java/org/apache/geode/internal/logging/LogService.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/logging/LogService.java b/geode-core/src/main/java/org/apache/geode/internal/logging/LogService.java index 1f8a564..5a229d3 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/logging/LogService.java +++ b/geode-core/src/main/java/org/apache/geode/internal/logging/LogService.java @@ -46,7 +46,6 @@ public class LogService extends LogManager { public static final String BASE_LOGGER_NAME = "org.apache.geode"; public static final String MAIN_LOGGER_NAME = "org.apache.geode"; public static final String SECURITY_LOGGER_NAME = "org.apache.geode.security"; - public static final String DEFAULT_LOG_LEVEL = "INFO"; public static final String GEODE_VERBOSE_FILTER = "{GEODE_VERBOSE}"; public static final String GEMFIRE_VERBOSE_FILTER = "{GEMFIRE_VERBOSE}"; http://git-wip-us.apache.org/repos/asf/geode/blob/5430c91f/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogsCommand.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogsCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogsCommand.java index fe9cecd..1d5c412 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogsCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogsCommand.java @@ -57,6 +57,8 @@ public class ExportLogsCommand implements CommandMarker { public static final String FORMAT = "/MM/dd/HH/mm/ss/SSS/z"; public static final String ONLY_DATE_FORMAT = "/MM/dd"; + public final static String DEFAULT_EXPORT_LOG_LEVEL = "ALL"; + private static final Pattern DISK_SPACE_LIMIT_PATTERN = Pattern.compile("(\\d+)([mgtMGT]?)"); @CliCommand(value = CliStrings.EXPORT_LOGS, help = CliStrings.EXPORT_LOGS__HELP) @@ -77,7 +79,7 @@ public class ExportLogsCommand implements CommandMarker { optionContext = ConverterHint.ALL_MEMBER_IDNAME, help = CliStrings.EXPORT_LOGS__MEMBER__HELP) String[] memberIds, @CliOption(key = CliStrings.EXPORT_LOGS__LOGLEVEL, - unspecifiedDefaultValue = LogService.DEFAULT_LOG_LEVEL, + unspecifiedDefaultValue = DEFAULT_EXPORT_LOG_LEVEL, optionContext = ConverterHint.LOG_LEVEL, help = CliStrings.EXPORT_LOGS__LOGLEVEL__HELP) String logLevel, @CliOption(key = CliStrings.EXPORT_LOGS__UPTO_LOGLEVEL, unspecifiedDefaultValue = "false", http://git-wip-us.apache.org/repos/asf/geode/blob/5430c91f/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java index 13124c5..3ce1721 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java @@ -168,7 +168,7 @@ public class ExportLogsFunction
[04/12] geode git commit: GEODE-2732 after auto-reconnect a server is restarted on the default port
GEODE-2732 after auto-reconnect a server is restarted on the default port Changes to the new test based on feedback from Galen Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/669d3ed1 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/669d3ed1 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/669d3ed1 Branch: refs/heads/feature/GEODE-2632 Commit: 669d3ed1f2ab7e05edfa15bb19b5782ebc05d753 Parents: 742c8f2 Author: Bruce SchuchardtAuthored: Wed Apr 5 16:49:27 2017 -0700 Committer: Bruce Schuchardt Committed: Wed Apr 5 16:49:27 2017 -0700 -- .../cache30/ReconnectWithCacheXMLDUnitTest.java | 19 +++ 1 file changed, 19 insertions(+) -- http://git-wip-us.apache.org/repos/asf/geode/blob/669d3ed1/geode-core/src/test/java/org/apache/geode/cache30/ReconnectWithCacheXMLDUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/cache30/ReconnectWithCacheXMLDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache30/ReconnectWithCacheXMLDUnitTest.java index 4f2fac1..2167a06 100755 --- a/geode-core/src/test/java/org/apache/geode/cache30/ReconnectWithCacheXMLDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/cache30/ReconnectWithCacheXMLDUnitTest.java @@ -26,6 +26,8 @@ import org.apache.geode.distributed.internal.membership.MembershipTestHook; import org.apache.geode.distributed.internal.membership.gms.MembershipManagerHelper; import org.apache.geode.internal.AvailablePortHelper; import org.apache.geode.internal.cache.CacheServerLauncher; +import org.apache.geode.test.dunit.Wait; +import org.apache.geode.test.dunit.WaitCriterion; import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase; import org.apache.geode.test.junit.categories.ClientServerTest; import org.apache.geode.test.junit.categories.DistributedTest; @@ -38,6 +40,11 @@ import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +/** + * This test exercises auto-reconnect functionality when there is a cache-server that was started by + * gfsh but was configured both by gfsh and a cache.xml file. The JIRA ticket for this is + * GEODE-2732. + */ @Category({DistributedTest.class, MembershipTest.class, ClientServerTest.class}) public class ReconnectWithCacheXMLDUnitTest extends JUnit4CacheTestCase { @@ -96,6 +103,18 @@ public class ReconnectWithCacheXMLDUnitTest extends JUnit4CacheTestCase { MembershipManagerHelper.crashDistributedSystem(cache.getDistributedSystem()); assertTrue(membershipFailed.get()); +WaitCriterion wc = new WaitCriterion() { + @Override + public boolean done() { +return cache.getReconnectedCache() != null; + } + + @Override + public String description() { +return "waiting for cache to reconnect"; + } +}; +Wait.waitForCriterion(wc, 6, 5000, true); await().atMost(60, TimeUnit.SECONDS).until(() -> cache.getReconnectedCache() != null); Cache newCache = cache.getReconnectedCache();
[01/12] geode git commit: GEODE-2684 Connection & ConnectionTable cleanup [Forced Update!]
Repository: geode Updated Branches: refs/heads/feature/GEODE-2632 c43cc7aab -> 7a83cccb1 (forced update) GEODE-2684 Connection & ConnectionTable cleanup removed dead code and indirect access of TcpConduit through the connection table. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/6b2b7b2f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/6b2b7b2f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/6b2b7b2f Branch: refs/heads/feature/GEODE-2632 Commit: 6b2b7b2f7f3f63b8ae638e9afffa5edc0f763783 Parents: 391502a Author: Bruce SchuchardtAuthored: Wed Apr 5 15:13:01 2017 -0700 Committer: Bruce Schuchardt Committed: Wed Apr 5 15:31:33 2017 -0700 -- .../apache/geode/internal/tcp/Connection.java | 188 ++- .../geode/internal/tcp/ConnectionTable.java | 68 ++- .../geode/internal/tcp/DirectReplySender.java | 2 +- .../apache/geode/internal/tcp/MsgReader.java| 2 +- .../apache/geode/internal/tcp/NIOMsgReader.java | 2 +- 5 files changed, 82 insertions(+), 180 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/6b2b7b2f/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 a0af245..c57a0ba 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 @@ -72,8 +72,6 @@ public class Connection implements Runnable { public final static int CHUNKED_MSG_TYPE = 0x4d; // a chunk of one logical msg public final static int END_CHUNKED_MSG_TYPE = 0x4e; // last in a series of chunks public final static int DIRECT_ACK_BIT = 0x20; - // We no longer support early ack - // public final static int EARLY_ACK_BIT = 0x10; public static final int MSG_HEADER_SIZE_OFFSET = 0; public static final int MSG_HEADER_TYPE_OFFSET = 4; @@ -95,7 +93,9 @@ public class Connection implements Runnable { "member unexpectedly shut down shared, unordered connection"; /** the table holding this connection */ - final ConnectionTable owner; + private final ConnectionTable owner; + + private final TCPConduit conduit; /** * Set to false once run() is terminating. Using this instead of Thread.isAlive as the reader @@ -113,15 +113,6 @@ public class Connection implements Runnable { /** The idle timeout timer task for this connection */ private SystemTimerTask idleTask; - /** - * Returns the depth of unshared reader threads from this thread to the original - * non-reader-thread. E.g., ServerConnection -> reader(domino=1) -> reader(domino=2) -> - * reader(domino=3) - */ - public static int getDominoCount() { -return dominoCount.get().intValue(); - } - private final static ThreadLocal isReaderThread = new ThreadLocal(); public final static void makeReaderThread() { @@ -129,7 +120,7 @@ public class Connection implements Runnable { makeReaderThread(true); } - private final static void makeReaderThread(boolean v) { + private static void makeReaderThread(boolean v) { isReaderThread.set(v); } @@ -150,7 +141,7 @@ public class Connection implements Runnable { if (connectTimeoutStr != null) { P2P_CONNECT_TIMEOUT = Integer.parseInt(connectTimeoutStr); } else { - P2P_CONNECT_TIMEOUT = 6 * this.owner.owner.getDM().getConfig().getMemberTimeout(); + P2P_CONNECT_TIMEOUT = 6 * this.conduit.getDM().getConfig().getMemberTimeout(); } IS_P2P_CONNECT_TIMEOUT_INITIALIZED = true; return P2P_CONNECT_TIMEOUT; @@ -367,20 +358,18 @@ public class Connection implements Runnable { /** the buffer used for NIO message receipt */ ByteBuffer nioInputBuffer; - /** the position of the next message's content */ - // int nioMessageStart; - /** the length of the next message to be dispatched */ int nioMessageLength; - // byte nioMessageVersion; /** the type of message being received */ byte nioMessageType; /** used to lock access to destreamer data */ private final Object destreamerLock = new Object(); + /** caches a msg destreamer that is currently not being used */ MsgDestreamer idleMsgDestreamer; + /** * used to map a msgId to a MsgDestreamer which are used for destreaming chunked messages using * nio @@ -409,8 +398,6 @@ public class Connection implements Runnable { private int sendBufferSize = -1; private int recvBufferSize = -1; - private ReplySender replySender; - private void setSendBufferSize(Socket sock) {
[11/12] geode git commit: WIP refactoring
http://git-wip-us.apache.org/repos/asf/geode/blob/7a83cccb/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java index d7b923c..ab97b64 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java @@ -43,7 +43,6 @@ import org.apache.geode.CancelException; import org.apache.geode.DataSerializer; import org.apache.geode.StatisticsFactory; import org.apache.geode.cache.Cache; -import org.apache.geode.cache.CacheClosedException; import org.apache.geode.cache.CacheException; import org.apache.geode.cache.ClientSession; import org.apache.geode.cache.DynamicRegionFactory; @@ -111,7 +110,6 @@ import org.apache.shiro.util.ThreadState; * It queues messages to be sent from the server to the client. It then reads those messages from * the queue and sends them to the client. * - * * @since GemFire 4.2 */ @SuppressWarnings("synthetic-access") @@ -119,155 +117,127 @@ public class CacheClientProxy implements ClientSession { private static final Logger logger = LogService.getLogger(); /** - * The socket between the server and the client - */ - protected Socket _socket; - - private final AtomicBoolean _socketClosed = new AtomicBoolean(); - - /** - * A communication buffer used by each message we send to the client + * Notify the region when a client interest registration occurs. This tells the region to update + * access time when an update is to be pushed to a client. It is enabled only for + * PartitionedRegions currently. */ - protected ByteBuffer _commBuffer; + private static final boolean NOTIFY_REGION_ON_INTEREST = + Boolean.getBoolean(DistributionConfig.GEMFIRE_PREFIX + "updateAccessTimeOnClientInterest"); /** - * The remote host's IP address string (cached for convenience) + * The number of times to peek on shutdown before giving up and shutting down */ - protected String _remoteHostAddress; + private static final int MAXIMUM_SHUTDOWN_PEEKS = + Integer.getInteger(DistributionConfig.GEMFIRE_PREFIX + "MAXIMUM_SHUTDOWN_PEEKS", 50); /** - * Concurrency: protected by synchronization of {@link #isMarkedForRemovalLock} + * Default value for slow starting time of dispatcher */ - protected volatile boolean isMarkedForRemoval = false; + private static final long DEFAULT_SLOW_STARTING_TIME = 5000; /** - * @see #isMarkedForRemoval + * Key in the system property from which the slow starting time value will be retrieved */ - protected final Object isMarkedForRemovalLock = new Object(); + private static final String KEY_SLOW_START_TIME_FOR_TESTING = "slowStartTimeForTesting"; /** - * The proxy id of the client represented by this proxy + * TODO: delete this and rewrite the tests that use this NOTE: this is NOT thread safe */ - protected ClientProxyMembershipID proxyID; + private static TestHook testHook; /** - * The GemFire cache + * TODO: delete this and rewrite the test that uses this A debug flag used for testing Backward + * compatibility */ - protected final GemFireCacheImpl _cache; + private static boolean afterMessageCreationForTesting = false; /** - * The list of keys that the client represented by this proxy is interested in (stored by region) + * TODO: delete this and rewrite the test that uses this for testing purposes, delays the start of + * the dispatcher thread */ - protected final ClientInterestList[] cils = new ClientInterestList[2]; + private static boolean isSlowStartForTesting = false; - /** - * A thread that dispatches messages to the client - */ - protected volatile MessageDispatcher _messageDispatcher; + private final AtomicBoolean socketClosed = new AtomicBoolean(); /** - * The statistics for this proxy + * @see #isMarkedForRemoval */ - protected final CacheClientProxyStats _statistics; - - protected final AtomicReference _durableExpirationTask = new AtomicReference(); - - protected SystemTimer durableTimer; + private final Object isMarkedForRemovalLock = new Object(); /** - * Whether this dispatcher is paused + * The GemFire cache */ - protected volatile boolean _isPaused = true; + private final GemFireCacheImpl cache; /** - * True if we are connected to a client. - */ - private volatile boolean connected = false; - // /** - // * A string representing interest in all keys - // */ - // protected static final String ALL_KEYS = "ALL_KEYS"; - // - /** - * True if a marker message is still in the ha queue. + * The list of keys that the client
[03/12] geode git commit: GEODE-2684 Connection & ConnectionTable cleanup
GEODE-2684 Connection & ConnectionTable cleanup removed another old comment Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/742c8f27 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/742c8f27 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/742c8f27 Branch: refs/heads/feature/GEODE-2632 Commit: 742c8f27ea45ec55445f1047fda3c54b86f89f94 Parents: 6b2b7b2 Author: Bruce SchuchardtAuthored: Wed Apr 5 16:49:07 2017 -0700 Committer: Bruce Schuchardt Committed: Wed Apr 5 16:49:07 2017 -0700 -- .../src/main/java/org/apache/geode/internal/tcp/Connection.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/742c8f27/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 c57a0ba..70868e0 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 @@ -3939,9 +3939,9 @@ public class Connection implements Runnable { nioInputBuffer = Buffers.acquireReceiveBuffer(allocSize, stats); if (oldBuffer != null) { -int oldByteCount = oldBuffer.remaining(); // needed to workaround JRockit 1.4.2.04 bug +int oldByteCount = oldBuffer.remaining(); nioInputBuffer.put(oldBuffer); -nioInputBuffer.position(oldByteCount); // workaround JRockit 1.4.2.04 bug +nioInputBuffer.position(oldByteCount); Buffers.releaseReceiveBuffer(oldBuffer, stats); } } else {
[12/12] geode git commit: WIP refactoring
WIP refactoring Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/7a83cccb Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/7a83cccb Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/7a83cccb Branch: refs/heads/feature/GEODE-2632 Commit: 7a83cccb158f4464f7d439830769148dd9e4fc72 Parents: 0f4f294 Author: Kirk LundAuthored: Wed Apr 5 10:24:23 2017 -0700 Committer: Kirk Lund Committed: Fri Apr 7 12:49:42 2017 -0700 -- .../sockets/command/ClientCachePutBench.java| 16 +- .../cache/tier/sockets/command/Put65Bench.java | 94 +-- .../geode/internal/cache/CacheServerImpl.java | 2 +- .../geode/internal/cache/tier/Acceptor.java | 2 +- .../cache/tier/sockets/AcceptorImpl.java| 42 +- .../cache/tier/sockets/CacheClientNotifier.java | 583 +++- .../cache/tier/sockets/CacheClientProxy.java| 698 --- .../cache/tier/sockets/ClientHealthMonitor.java | 15 +- .../tier/sockets/ClientUpdateMessageImpl.java | 4 +- .../internal/cache/tier/sockets/HandShake.java | 12 +- .../geode/internal/logging/LogService.java | 10 + .../tier/sockets/AcceptorImplJUnitTest.java | 22 +- .../cache/tier/sockets/AcceptorImplTest.java| 96 +++ .../tier/sockets/ClientConflationDUnitTest.java | 2 +- .../ClientServerForceInvalidateDUnitTest.java | 4 +- .../tier/sockets/ClientServerMiscDUnitTest.java | 9 +- .../cache/tier/sockets/ConflationDUnitTest.java | 4 +- .../cache/tier/sockets/HAInterestTestCase.java | 26 +- .../sockets/HAStartupAndFailoverDUnitTest.java | 4 +- .../sockets/InterestListRecoveryDUnitTest.java | 4 +- .../tier/sockets/RedundancyLevelTestBase.java | 17 +- .../tier/sockets/command/Put65BenchTest.java| 116 +++ .../sockets/command/Put65RealBenchTest.java | 141 .../sockets/DurableClientSimpleDUnitTest.java | 14 +- .../tier/sockets/DurableClientTestCase.java | 6 +- .../cache/wan/Simple2CacheServerDUnitTest.java | 6 +- 26 files changed, 945 insertions(+), 1004 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/7a83cccb/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java -- diff --git a/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java b/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java index a1cbd81..df51b78 100644 --- a/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java +++ b/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java @@ -14,9 +14,12 @@ */ package org.apache.geode.internal.cache.tier.sockets.command; +import static java.util.concurrent.TimeUnit.MINUTES; import static org.apache.commons.io.FileUtils.*; +import static org.apache.geode.distributed.AbstractLauncher.Status.ONLINE; import static org.apache.geode.test.dunit.NetworkUtils.getIPLiteral; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.*; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; @@ -24,6 +27,7 @@ import org.apache.geode.cache.Region; 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.distributed.AbstractLauncher.Status; import org.apache.geode.distributed.ConfigurationProperties; import org.apache.geode.distributed.ServerLauncher; import org.apache.geode.distributed.internal.DistributionConfig; @@ -121,16 +125,22 @@ public class ClientCachePutBench { command.add(ServerLauncher.Command.START.getName()); command.add("server1"); command.add("--server-port=" + this.serverPort); - // command.add("--redirect-output"); + // put65Command.add("--redirect-output"); this.process = new ProcessBuilder(command).directory(this.temporaryFolder.getRoot()).start(); - boolean forever = true; - while (forever) { + boolean sleep = false; + while (sleep) { assertThat(this.process.isAlive()).isTrue(); Thread.sleep(1); } + ServerLauncher serverLauncher = new ServerLauncher.Builder() + .setWorkingDirectory(this.temporaryFolder.getRoot().getAbsolutePath()).build(); + + await().atMost(2, MINUTES) + .until(() -> assertThat(serverLauncher.status().getStatus()).isEqualTo(ONLINE)); + this.clientCache = new ClientCacheFactory().addPoolServer(getIPLiteral(),
geode git commit: Minor fixes
Repository: geode Updated Branches: refs/heads/feature/GEODE-2632 eb89fe281 -> c43cc7aab Minor fixes Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/c43cc7aa Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/c43cc7aa Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/c43cc7aa Branch: refs/heads/feature/GEODE-2632 Commit: c43cc7aab69938ac75bf1e76e5ca208a498a462e Parents: eb89fe2 Author: Kirk LundAuthored: Fri Apr 7 12:35:48 2017 -0700 Committer: Kirk Lund Committed: Fri Apr 7 12:35:48 2017 -0700 -- .../geode/internal/cache/tier/sockets/CacheClientProxy.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/c43cc7aa/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java index 4a9b8b0..6341fe6 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java @@ -110,7 +110,6 @@ import org.apache.shiro.util.ThreadState; * It queues messages to be sent from the server to the client. It then reads those messages from * the queue and sends them to the client. * - * * @since GemFire 4.2 */ @SuppressWarnings("synthetic-access") @@ -351,7 +350,7 @@ public class CacheClientProxy implements ClientSession { final StatisticsFactory statsFactory, final SecurityService securityService, final Socket socket, final ClientProxyMembershipID proxyID, final boolean isPrimary, final byte clientConflation, final Version clientVersion, final long acceptorId, - final boolean notifyBySubscription) throws CacheException { + final boolean notifyBySubscription) { initializeTransientFields(socket, proxyID, isPrimary, clientConflation, clientVersion); this.cacheClientNotifier = ccn; this.cache = cache; @@ -1939,7 +1938,7 @@ public class CacheClientProxy implements ClientSession { return testHook; } - static void setSlowStartForTesting() { + public static void setSlowStartForTesting() { isSlowStartForTesting = true; }
[11/19] geode git commit: GEM-1351: Move a test to the open side and fix the other tests - spotless
GEM-1351: Move a test to the open side and fix the other tests - spotless * move ImportClusterConfigDistributedTest to open side * remove @Ignore from other two tests. * rework GfshShellConnectionRule to not create gfsh shell at class initialization time. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/edd018b9 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/edd018b9 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/edd018b9 Branch: refs/heads/feature/GEODE-2632 Commit: edd018b971d93565da502a8523df22a8f0b669ca Parents: 02ccc5c Author: Jinmei LiaoAuthored: Wed Apr 5 07:51:31 2017 -0700 Committer: Jinmei Liao Committed: Wed Apr 5 07:51:31 2017 -0700 -- .../org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/edd018b9/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java -- diff --git a/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java b/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java index 1c72bba..381b751 100644 --- a/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java +++ b/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java @@ -121,7 +121,7 @@ public class GfshShellConnectionRule extends DescribedExternalResource { public void connect(int port, PortType type, String... options) throws Exception { CliUtil.isGfshVM = true; -if(gfsh == null){ +if (gfsh == null) { this.gfsh = new HeadlessGfsh(getClass().getName(), 30, temporaryFolder.newFolder("gfsh_files").getAbsolutePath()); }
[18/19] geode git commit: WIP refactoring
WIP refactoring Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/a071d0c0 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/a071d0c0 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/a071d0c0 Branch: refs/heads/feature/GEODE-2632 Commit: a071d0c060e4f7d58fa85d612f0cdcdbb6002e8d Parents: 0c16858 Author: Kirk LundAuthored: Wed Apr 5 10:24:23 2017 -0700 Committer: Kirk Lund Committed: Wed Apr 5 12:49:42 2017 -0700 -- .../sockets/command/ClientCachePutBench.java| 16 +- .../cache/tier/sockets/command/Put65Bench.java | 94 +-- .../geode/internal/cache/CacheServerImpl.java | 2 +- .../geode/internal/cache/tier/Acceptor.java | 2 +- .../cache/tier/sockets/AcceptorImpl.java| 50 +- .../cache/tier/sockets/CacheClientNotifier.java | 589 .../cache/tier/sockets/CacheClientProxy.java| 696 +-- .../cache/tier/sockets/ClientHealthMonitor.java | 15 +- .../tier/sockets/ClientUpdateMessageImpl.java | 4 +- .../internal/cache/tier/sockets/HandShake.java | 10 +- .../geode/internal/logging/LogService.java | 10 + .../tier/sockets/AcceptorImplJUnitTest.java | 18 +- .../cache/tier/sockets/AcceptorImplTest.java| 112 +++ .../tier/sockets/ClientConflationDUnitTest.java | 2 +- .../ClientServerForceInvalidateDUnitTest.java | 4 +- .../tier/sockets/ClientServerMiscDUnitTest.java | 8 +- .../cache/tier/sockets/ConflationDUnitTest.java | 4 +- .../cache/tier/sockets/HAInterestTestCase.java | 12 +- .../sockets/HAStartupAndFailoverDUnitTest.java | 4 +- .../sockets/InterestListRecoveryDUnitTest.java | 2 +- .../tier/sockets/RedundancyLevelTestBase.java | 10 +- .../tier/sockets/command/Put65BenchTest.java| 116 .../sockets/command/Put65RealBenchTest.java | 145 .../sockets/DurableClientSimpleDUnitTest.java | 14 +- .../tier/sockets/DurableClientTestCase.java | 6 +- .../cache/wan/Simple2CacheServerDUnitTest.java | 6 +- 26 files changed, 959 insertions(+), 992 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/a071d0c0/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java -- diff --git a/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java b/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java index a1cbd81..df51b78 100644 --- a/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java +++ b/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java @@ -14,9 +14,12 @@ */ package org.apache.geode.internal.cache.tier.sockets.command; +import static java.util.concurrent.TimeUnit.MINUTES; import static org.apache.commons.io.FileUtils.*; +import static org.apache.geode.distributed.AbstractLauncher.Status.ONLINE; import static org.apache.geode.test.dunit.NetworkUtils.getIPLiteral; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.*; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; @@ -24,6 +27,7 @@ import org.apache.geode.cache.Region; 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.distributed.AbstractLauncher.Status; import org.apache.geode.distributed.ConfigurationProperties; import org.apache.geode.distributed.ServerLauncher; import org.apache.geode.distributed.internal.DistributionConfig; @@ -121,16 +125,22 @@ public class ClientCachePutBench { command.add(ServerLauncher.Command.START.getName()); command.add("server1"); command.add("--server-port=" + this.serverPort); - // command.add("--redirect-output"); + // put65Command.add("--redirect-output"); this.process = new ProcessBuilder(command).directory(this.temporaryFolder.getRoot()).start(); - boolean forever = true; - while (forever) { + boolean sleep = false; + while (sleep) { assertThat(this.process.isAlive()).isTrue(); Thread.sleep(1); } + ServerLauncher serverLauncher = new ServerLauncher.Builder() + .setWorkingDirectory(this.temporaryFolder.getRoot().getAbsolutePath()).build(); + + await().atMost(2, MINUTES) + .until(() -> assertThat(serverLauncher.status().getStatus()).isEqualTo(ONLINE)); + this.clientCache = new ClientCacheFactory().addPoolServer(getIPLiteral(),
[06/19] geode git commit: GEODE-2420: Add classes to estimated the size of exported logs
GEODE-2420: Add classes to estimated the size of exported logs - New Function class added with tests - Code to invoke new function added, but disabled, in ExportLogsCommand - New option added, but disabled, for specifying size limit for exported logs - Refactoring: extracted the interceptor from ExportLogsCommand - Refactoring: renamed ExportLogCommand to ExportLogsCommand - New Serializable class to return the log size estimate to the command - Tests for the log sizing related classes Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0c15c6e0 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0c15c6e0 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0c15c6e0 Branch: refs/heads/feature/GEODE-2632 Commit: 0c15c6e01e7095f61e0e2df9866534f1cf6489cc Parents: 4a09e88 Author: Ken HoweAuthored: Wed Mar 29 11:10:20 2017 -0700 Committer: Ken Howe Committed: Tue Apr 4 13:51:07 2017 -0700 -- .../internal/cli/commands/ExportLogCommand.java | 236 .../cli/commands/ExportLogsCommand.java | 278 + .../cli/commands/ExportLogsInterceptor.java | 109 ++ .../cli/functions/ExportLogsFunction.java |7 +- .../cli/functions/ExportedLogsSizeInfo.java | 107 ++ .../cli/functions/SizeExportLogsFunction.java | 87 ++ .../internal/cli/i18n/CliStrings.java |6 + .../management/internal/cli/util/LogSizer.java | 116 ++ .../cli/commands/ExportLogsCommandTest.java | 129 +++ .../cli/commands/ExportLogsDUnitTest.java |4 +- .../commands/ExportLogsFileSizeLimitTest.java | 88 ++ .../ExportLogsInterceptorJUnitTest.java |4 +- .../cli/commands/ExportLogsStatsDUnitTest.java |2 +- .../cli/commands/ExportLogsTestSuite.java | 27 + .../cli/commands/LogLevelInterceptorTest.java |2 +- .../cli/functions/ExportedLogsSizeInfoTest.java | 145 +++ .../SizeExportLogsFunctionCacheTest.java| 183 +++ .../SizeExportLogsFunctionFileTest.java | 183 +++ .../cli/functions/SizeExportLogsTestSuite.java | 29 + .../internal/cli/util/LogSizerTest.java | 99 ++ .../dunit/rules/GfshShellConnectionRule.java|4 +- .../sanctionedDataSerializables.txt | 1066 +- .../codeAnalysis/sanctionedSerializables.txt|1 + 23 files changed, 2134 insertions(+), 778 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/0c15c6e0/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogCommand.java -- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogCommand.java deleted file mode 100644 index 3f147c1..000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportLogCommand.java +++ /dev/null @@ -1,236 +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.management.internal.cli.commands; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.geode.cache.Region; -import org.apache.geode.distributed.DistributedMember; -import org.apache.geode.internal.cache.GemFireCacheImpl; -import org.apache.geode.internal.logging.LogService; -import org.apache.geode.management.cli.CliMetaData; -import org.apache.geode.management.cli.ConverterHint; -import org.apache.geode.management.cli.Result; -import org.apache.geode.management.internal.cli.AbstractCliAroundInterceptor; -import org.apache.geode.management.internal.cli.CliUtil; -import org.apache.geode.management.internal.cli.GfshParseResult; -import org.apache.geode.management.internal.cli.functions.ExportLogsFunction; -import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.management.internal.cli.result.ResultBuilder; -import
[16/19] geode git commit: WIP refactoring
http://git-wip-us.apache.org/repos/asf/geode/blob/a071d0c0/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Put65RealBenchTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Put65RealBenchTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Put65RealBenchTest.java new file mode 100644 index 000..3cc10e7 --- /dev/null +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Put65RealBenchTest.java @@ -0,0 +1,145 @@ +/* + * 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.command; + +import static org.apache.geode.distributed.ConfigurationProperties.*; +import static org.apache.geode.distributed.ServerLauncherUtils.*; +import static org.apache.geode.internal.AvailablePort.*; +import static org.apache.geode.internal.cache.TXManagerImpl.NOTX; +import static org.apache.geode.internal.cache.tier.sockets.CacheServerUtils.*; +import static org.mockito.Mockito.*; + +import org.apache.geode.cache.Cache; +import org.apache.geode.cache.Operation; +import org.apache.geode.cache.server.CacheServer; +import org.apache.geode.distributed.ServerLauncher; +import org.apache.geode.distributed.ServerLauncher.Builder; +import org.apache.geode.internal.AvailablePort; +import org.apache.geode.internal.Version; +import org.apache.geode.internal.cache.GemFireCacheImpl; +import org.apache.geode.internal.cache.TXManagerImpl; +import org.apache.geode.internal.cache.tier.Command; +import org.apache.geode.internal.cache.tier.sockets.AcceptorImpl; +import org.apache.geode.internal.cache.tier.sockets.CacheServerStats; +import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID; +import org.apache.geode.internal.cache.tier.sockets.Message; +import org.apache.geode.internal.cache.tier.sockets.Part; +import org.apache.geode.internal.cache.tier.sockets.ServerConnection; +import org.apache.geode.test.junit.categories.IntegrationTest; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.rules.TemporaryFolder; + +import java.io.File; + +@Category(IntegrationTest.class) +public class Put65RealBenchTest { + + private ServerConnection realServerConnection; + + public Command put65Command; + public ServerConnection mockServerConnection; + public Message mockMessage; + + private File workingDir; + private int serverPort; + + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + + @Before + public void setup() throws Exception { +this.workingDir = temporaryFolder.getRoot(); + +this.serverPort = getRandomAvailablePort(SOCKET); + +ServerLauncher serverLauncher = new ServerLauncher.Builder() +.setMemberName("server1") +.setRedirectOutput(true) +.setWorkingDirectory(this.workingDir.getAbsolutePath()) +.set(MCAST_PORT, "0") +.set(LOCATORS, "") +.build(); + +serverLauncher.start(); + +Cache cache = getCache(serverLauncher); +CacheServer cacheServer = getCacheServer(cache); +AcceptorImpl acceptor = getAcceptorImpl(cacheServer); + +this.realServerConnection = null; + +this.mockServerConnection = mock(ServerConnection.class, + withSettings().name("mockServerConnection").spiedInstance(this.realServerConnection)); + when(this.mockServerConnection.getClientVersion()).thenReturn(Version.CURRENT); + +ClientProxyMembershipID mockProxyId = +mock(ClientProxyMembershipID.class, withSettings().name("mockProxyId")); +when(this.mockServerConnection.getProxyID()).thenReturn(mockProxyId); + +//Message mockErrorResponseMessage = +//mock(Message.class, withSettings().name("mockErrorResponseMessage")); +// when(this.mockServerConnection.getErrorResponseMessage()).thenReturn(mockErrorResponseMessage); + +Part mockRegionNamePart = mock(Part.class, withSettings().name("mockRegionNamePart")); +when(mockRegionNamePart.getString()).thenReturn("mockRegionNamePart"); + +Part mockOperationPart =
[02/19] geode git commit: GEODE-2749: ignore bin/ and out/ which are commonly created by IDEs
GEODE-2749: ignore bin/ and out/ which are commonly created by IDEs Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/4a09e88b Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/4a09e88b Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/4a09e88b Branch: refs/heads/feature/GEODE-2632 Commit: 4a09e88b691b3d6cffe551f4ff08648e62082475 Parents: abb27b3 Author: Kirk LundAuthored: Mon Apr 3 12:40:24 2017 -0700 Committer: Kirk Lund Committed: Mon Apr 3 12:40:24 2017 -0700 -- .gitignore| 5 +++-- gradle/rat.gradle | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/4a09e88b/.gitignore -- diff --git a/.gitignore b/.gitignore index 38c8131..31d5996 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,8 @@ build/ .idea/ build-eclipse/ /tags - +out/ +bin/ *.iml @@ -27,4 +28,4 @@ build-eclipse/ *.orig geode-spark-connector/**/target/ geode-spark-connector/project/project/ -geode-pulse/screenshots/ \ No newline at end of file +geode-pulse/screenshots/ http://git-wip-us.apache.org/repos/asf/geode/blob/4a09e88b/gradle/rat.gradle -- diff --git a/gradle/rat.gradle b/gradle/rat.gradle index c97a9e9..7bea470 100644 --- a/gradle/rat.gradle +++ b/gradle/rat.gradle @@ -62,6 +62,8 @@ rat { '.idea/**', 'geode-spark-connector/.idea/**', '**/tags', +'**/out/**', +'**/bin/**', // text files '**/*.fig',
[08/19] geode git commit: GEODE-2750: The lucene index is now destroyed on remote members before the initiating member
GEODE-2750: The lucene index is now destroyed on remote members before the initiating member Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/99e61ffa Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/99e61ffa Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/99e61ffa Branch: refs/heads/feature/GEODE-2632 Commit: 99e61ffa09158ad60164368805b4052614b806c8 Parents: c61cab9 Author: Barry OglesbyAuthored: Mon Apr 3 18:44:25 2017 -0700 Committer: Barry Oglesby Committed: Tue Apr 4 16:31:35 2017 -0700 -- .../internal/AsyncEventQueueImpl.java | 6 +- .../cache/wan/AbstractGatewaySender.java| 54 --- .../lucene/LuceneIndexDestroyedException.java | 42 + .../lucene/LuceneIndexNotFoundException.java| 41 + .../AbstractPartitionedRepositoryManager.java | 14 +- .../LuceneIndexForPartitionedRegion.java| 16 +- .../cache/lucene/internal/LuceneIndexImpl.java | 6 +- .../distributed/LuceneQueryFunction.java| 9 +- .../lucene/LuceneIndexDestroyDUnitTest.java | 158 --- .../LuceneQueryFunctionJUnitTest.java | 3 +- 10 files changed, 285 insertions(+), 64 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/99e61ffa/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueImpl.java b/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueImpl.java index a44b9e4..0def5d2 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueImpl.java +++ b/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueImpl.java @@ -199,8 +199,12 @@ public class AsyncEventQueueImpl implements AsyncEventQueue { } public void destroy() { +destroy(true); + } + + public void destroy(boolean initiator) { GemFireCacheImpl gfci = (GemFireCacheImpl) ((AbstractGatewaySender) this.sender).getCache(); -this.sender.destroy(); +((AbstractGatewaySender) this.sender).destroy(initiator); gfci.removeAsyncEventQueue(this); } http://git-wip-us.apache.org/repos/asf/geode/blob/99e61ffa/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java index a604dbf..1c94f94 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java @@ -514,6 +514,10 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi */ @Override public void destroy() { +destroy(true); + } + + public void destroy(boolean initiator) { try { this.getLifeCycleLock().writeLock().lock(); // first, check if this sender is attached to any region. If so, throw @@ -542,33 +546,35 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi ((GemFireCacheImpl) this.cache).removeGatewaySender(this); // destroy the region underneath the sender's queue - Set regionQueues = getQueues(); - if (regionQueues != null) { -for (RegionQueue regionQueue : regionQueues) { - try { -if (regionQueue instanceof ConcurrentParallelGatewaySenderQueue) { - Set queueRegions = - ((ConcurrentParallelGatewaySenderQueue) regionQueue).getRegions(); - for (PartitionedRegion queueRegion : queueRegions) { -queueRegion.destroyRegion(); + if (initiator) { +Set regionQueues = getQueues(); +if (regionQueues != null) { + for (RegionQueue regionQueue : regionQueues) { +try { + if (regionQueue instanceof ConcurrentParallelGatewaySenderQueue) { +Set queueRegions = +((ConcurrentParallelGatewaySenderQueue) regionQueue).getRegions(); +for (PartitionedRegion queueRegion : queueRegions) { + queueRegion.destroyRegion(); +} + } else {// For SerialGatewaySenderQueue, do local destroy +regionQueue.getRegion().localDestroyRegion(); } -} else {// For SerialGatewaySenderQueue, do local destroy -
[04/19] geode git commit: GEODE-2420: Add classes to estimated the size of exported logs
http://git-wip-us.apache.org/repos/asf/geode/blob/0c15c6e0/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt -- diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt index 2f5a5cd..112956c 100644 --- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt +++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt @@ -1,289 +1,289 @@ org/apache/geode/admin/RegionSubRegionSnapshot,2 fromData,62,2a2bb80023b500082a2bb900240100b5000b2a2bb80025b500052ab40005b9002601004d2cb9002701009900132cb900280100c000292ab6001ba7ffeab1 toData,30,2ab400082bb800202b2ab4000bb9002102002ab40005c32bb80022b1 - + org/apache/geode/admin/internal/FinishBackupRequest,2 fromData,33,2a2bb700292a2bb8002ab500022a2bb8002ab500032a2bb8002bb6002cb50004b1 toData,33,2a2bb7002d2ab400022bb8002e2ab400032bb8002e2ab40004b8002f2bb80030b1 - + org/apache/geode/admin/internal/FinishBackupResponse,2 fromData,14,2a2bb700042a2bb80005b50003b1 toData,14,2a2bb700062ab400032bb80007b1 - + org/apache/geode/admin/internal/PrepareBackupResponse,2 fromData,14,2a2bb700042a2bb80005b50003b1 toData,14,2a2bb700062ab400032bb80007b1 - + org/apache/geode/admin/internal/SystemMemberCacheEventProcessor$SystemMemberCacheMessage,2 fromData,27,2a2bb7001a2a2bb8001bb5000c2a2bb9001c0100b8001db5000fb1 toData,27,2a2bb7001e2ab4000c2bb8001f2b2ab4000fb40020b900210200b1 - + org/apache/geode/admin/jmx/internal/StatAlertNotification,2 fromData,39,2a2bb8002ab600032a2bb8002bb600072a2bb8002cc0002dc0002db600052a2bb8002eb50008b1 toData,33,2ab600162bb800262ab600202bb800272ab6000e2bb800282ab400082bb80029b1 - + org/apache/geode/cache/ExpirationAttributes,2 fromData,22,2a2bb900120100b500022a2bb80013c00014b50004b1 toData,19,2b2ab40002b9001502002ab400042bb80016b1 - + org/apache/geode/cache/MembershipAttributes,2 fromData,39,2a2a2bb80032b7000bb500032a2bb900330100b80034b500052a2bb900330100b80035b50007b1 toData,89,2ab40003b9002c0100bd002d4d2ab40003b9002101004e03360415042cbea2001b2c15042db900240100c00025b90026010053840401a7ffe42c2bb8002e2b2ab40005b4002fb9003002002b2ab40007b40031b900300200b1 - + org/apache/geode/cache/SubscriptionAttributes,2 fromData,14,2a2bb9000f0100b80010b50003b1 toData,14,2b2ab40003b4000db9000e0200b1 - + org/apache/geode/cache/client/internal/CacheServerLoadMessage,2 fromData,52,2a2bb7000d2abb000e59b7000fb500022ab400022bb800102abb001159b70012b500032ab400032bb800102a2bb80013b50004b1 toData,30,2a2bb700142ab400022bb800152ab400032bb800152ab400042bb80016b1 - + org/apache/geode/cache/client/internal/locator/ClientConnectionRequest,2 fromData,14,2a2bb700042a2bb80005b50003b1 toData,14,2a2bb700062ab400032bb80007b1 - + org/apache/geode/cache/client/internal/locator/ClientConnectionResponse,2 fromData,35,2a2bb80004b500022ab400029900162abb000559b70006b500032ab400032bb60007b1 toData,31,2ab40003c6000704a70004033d1c2bb800081c99000b2ab400032bb60009b1 - + org/apache/geode/cache/client/internal/locator/ClientReplacementRequest,2 fromData,25,2a2bb700042abb000559b70006b500032ab400032bb80007b1 toData,14,2a2bb700082ab400032bb80009b1 - + org/apache/geode/cache/client/internal/locator/GetAllServersRequest,2 fromData,6,2a2bb70003b1 toData,6,2a2bb70004b1 - + org/apache/geode/cache/client/internal/locator/GetAllServersResponse,2 fromData,31,2a2bb80005b500032ab40003c600122ab40003b600049a00082a04b50002b1 toData,9,2ab400032bb80006b1 - + org/apache/geode/cache/client/internal/locator/LocatorListResponse,2 fromData,43,2a2bb80006b500032a2bb900070100b500052ab40003c600142ab40003b9000401009a00082a04b50002b1 toData,19,2ab400032bb800082b2ab40005b900090200b1 - + org/apache/geode/cache/client/internal/locator/LocatorStatusResponse,2 fromData,56,2a2bb6001f2a2bb600202a2bb600212a2bb600222a2bb600232a2bb600242a2bb600252a2bb600262a2bb600272a2bb600282a2bb60029b1 toData,56,2a2bb600322a2bb600332a2bb600342a2bb600352a2bb600362a2bb600372a2bb600382a2bb600392a2bb6003a2a2bb6003b2a2bb6003cb1 - + org/apache/geode/cache/client/internal/locator/QueueConnectionRequest,2 fromData,40,2a2bb700072a2bb80008b500042a2bb80009b500062a2bb8000ab500052a2bb9000b0100b50002b1 toData,40,2a2bb7000c2ab400042bb8000d2ab400062bb8000e2ab400052bb8000f2b2ab40002b900100200b1 - + org/apache/geode/cache/client/internal/locator/QueueConnectionResponse,2 fromData,41,2a2bb80006b500032a2bb80007b500042ab40004c600142ab40004b9000501009a00082a04b50002b1 toData,17,2ab400032bb800082ab400042bb80009b1 - + org/apache/geode/cache/client/internal/locator/ServerLocationRequest,2 fromData,9,2a2bb80003b50002b1 toData,9,2ab400022bb80004b1 - + org/apache/geode/cache/query/internal/CqEntry,2 fromData,17,2a2bb80009b500022a2bb80009b50003b1 toData,17,2ab400022bb8000b2ab400032bb8000bb1
[05/19] geode git commit: GEODE-2420: Add classes to estimated the size of exported logs
http://git-wip-us.apache.org/repos/asf/geode/blob/0c15c6e0/geode-core/src/test/java/org/apache/geode/management/internal/cli/util/LogSizerTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/util/LogSizerTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/util/LogSizerTest.java new file mode 100644 index 000..c7b3ab9 --- /dev/null +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/util/LogSizerTest.java @@ -0,0 +1,99 @@ +/* + * 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.util; + +import static java.io.File.separator; +import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.apache.geode.management.internal.cli.functions.ExportLogsFunction; +import org.apache.geode.management.internal.cli.functions.SizeExportLogsFunction; +import org.apache.geode.test.junit.categories.UnitTest; +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.rules.TemporaryFolder; +import org.junit.rules.TestName; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Path; +import java.text.ParseException; + +@Category(UnitTest.class) +public class LogSizerTest { + private LogFilter logFilter; + private SizeExportLogsFunction.Args nonFilteringArgs; + + private File dir; + + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @Rule + public TestName testName = new TestName(); + + @Before + public void setUp() throws Exception { +logFilter = mock(LogFilter.class); +dir = temporaryFolder.getRoot(); +nonFilteringArgs = new ExportLogsFunction.Args(null, null, null, false, false, false); + + } + + @After + public void tearDown() throws Exception { + + } + + @Test + public void nullFileArgs_returnsZeroSize() throws ParseException, IOException { +LogSizer sizer = new LogSizer(logFilter, null, null); +assertThat(sizer.getFilteredSize()).isEqualTo(0L); + } + + @Test + public void noFiles_returnsZeroSize() throws ParseException, IOException { + +File mockStatFile = mock(File.class); +File mockLogFile = mock(File.class); +when(mockLogFile.toPath()).thenReturn( +new File("root" + separator + "parent" + separator + testName + ".log").toPath()); +when(mockStatFile.toPath()).thenReturn( +new File("root" + separator + "parent" + separator + testName + ".gfs").toPath()); +LogSizer sizer = new LogSizer(logFilter, mockLogFile, mockStatFile); +assertThat(sizer.getFilteredSize()).isEqualTo(0L); + } + + @Test + public void emptyFiles_returnsZeroSize() throws ParseException, IOException { + +File mockStatFile = mock(File.class); +File mockLogFile = mock(File.class); +when(mockLogFile.toPath()).thenReturn( +new File("root" + separator + "parent" + separator + testName + ".log").toPath()); +when(mockStatFile.toPath()).thenReturn( +new File("root" + separator + "parent" + separator + testName + ".gfs").toPath()); +LogFilter logFilter = +new LogFilter(nonFilteringArgs.getLogLevel(), nonFilteringArgs.isThisLogLevelOnly(), +nonFilteringArgs.getStartTime(), nonFilteringArgs.getEndTime()); + +LogSizer sizer = new LogSizer(logFilter, mockLogFile, mockStatFile); +assertThat(sizer.getFilteredSize()).isEqualTo(0L); + } + +} http://git-wip-us.apache.org/repos/asf/geode/blob/0c15c6e0/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java -- diff --git a/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java b/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java index 6ae82da..d061859 100644 --- a/geode-core/src/test/java/org/apache/geode/test/dunit/rules/GfshShellConnectionRule.java +++
[14/19] geode git commit: GEODE-2749: don't ignore bin/ because we have bin/ in src
GEODE-2749: don't ignore bin/ because we have bin/ in src Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/39c72b20 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/39c72b20 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/39c72b20 Branch: refs/heads/feature/GEODE-2632 Commit: 39c72b2046fcb3ed5c0cec280d52f9fdf6aaa794 Parents: 534bb8f Author: Kirk LundAuthored: Wed Apr 5 10:08:14 2017 -0700 Committer: Kirk Lund Committed: Wed Apr 5 12:35:45 2017 -0700 -- .gitignore| 1 - gradle/rat.gradle | 1 - 2 files changed, 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/39c72b20/.gitignore -- diff --git a/.gitignore b/.gitignore index 31d5996..f83be48 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,6 @@ build/ build-eclipse/ /tags out/ -bin/ *.iml http://git-wip-us.apache.org/repos/asf/geode/blob/39c72b20/gradle/rat.gradle -- diff --git a/gradle/rat.gradle b/gradle/rat.gradle index 7bea470..440a7b7 100644 --- a/gradle/rat.gradle +++ b/gradle/rat.gradle @@ -63,7 +63,6 @@ rat { 'geode-spark-connector/.idea/**', '**/tags', '**/out/**', -'**/bin/**', // text files '**/*.fig',
[15/19] geode git commit: Create ClientCachePutBench
Create ClientCachePutBench Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0c168582 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0c168582 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0c168582 Branch: refs/heads/feature/GEODE-2632 Commit: 0c1685828e9717c52bf96b881fd006d8a92f4cbc Parents: 39c72b2 Author: Kirk LundAuthored: Mon Apr 3 14:52:28 2017 -0700 Committer: Kirk Lund Committed: Wed Apr 5 12:49:37 2017 -0700 -- geode-core/build.gradle | 5 + .../sockets/command/ClientCachePutBench.java| 174 +++ .../cache/tier/sockets/command/Put65Bench.java | 120 + .../command/ClientCachePutBench-server.xml | 29 .../internal/ClusterConfigurationService.java | 20 ++- .../cache/tier/sockets/BaseCommand.java | 35 ++-- .../tier/sockets/ClientProxyMembershipID.java | 5 +- .../geode/distributed/ServerLauncherUtils.java | 30 .../cache/tier/sockets/CacheServerUtils.java| 55 ++ .../command/ExperimentIntegrationTest.java | 80 + .../tier/sockets/command/ExperimentTest.java| 121 + 11 files changed, 646 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/0c168582/geode-core/build.gradle -- diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 757599a..fd56fe1 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -17,6 +17,7 @@ apply plugin: 'antlr' +apply plugin: 'me.champeau.gradle.jmh' sourceSets { jca { @@ -220,5 +221,9 @@ dependencies { classesOutput sourceSets.main.output } +jmh { + duplicateClassesStrategy = 'warn' +} + tasks.eclipse.dependsOn(generateGrammarSource) http://git-wip-us.apache.org/repos/asf/geode/blob/0c168582/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java -- diff --git a/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java b/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java new file mode 100644 index 000..a1cbd81 --- /dev/null +++ b/geode-core/src/jmh/java/org/apache/geode/internal/cache/tier/sockets/command/ClientCachePutBench.java @@ -0,0 +1,174 @@ +/* + * 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.command; + +import static org.apache.commons.io.FileUtils.*; +import static org.apache.geode.test.dunit.NetworkUtils.getIPLiteral; +import static org.assertj.core.api.Assertions.assertThat; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.geode.cache.Region; +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.distributed.ConfigurationProperties; +import org.apache.geode.distributed.ServerLauncher; +import org.apache.geode.distributed.internal.DistributionConfig; +import org.apache.geode.internal.AvailablePort; +import org.apache.geode.internal.net.SocketCreator; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Level; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.TearDown; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.infra.Blackhole; + +import java.io.File; +import
[01/19] geode git commit: GEODE-2748: fix xmlns to specify javaee instead of j2ee [Forced Update!]
Repository: geode Updated Branches: refs/heads/feature/GEODE-2632 135d674ac -> eb89fe281 (forced update) GEODE-2748: fix xmlns to specify javaee instead of j2ee Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/abb27b34 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/abb27b34 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/abb27b34 Branch: refs/heads/feature/GEODE-2632 Commit: abb27b34a0c5aa382a25a5506e4bb4f32c6605c4 Parents: 6ce55a0 Author: Kirk LundAuthored: Mon Apr 3 11:54:53 2017 -0700 Committer: Kirk Lund Committed: Mon Apr 3 11:54:53 2017 -0700 -- geode-web/src/main/webapp/WEB-INF/web.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/abb27b34/geode-web/src/main/webapp/WEB-INF/web.xml -- diff --git a/geode-web/src/main/webapp/WEB-INF/web.xml b/geode-web/src/main/webapp/WEB-INF/web.xml index 873d675..ff24e80 100644 --- a/geode-web/src/main/webapp/WEB-INF/web.xml +++ b/geode-web/src/main/webapp/WEB-INF/web.xml @@ -15,7 +15,7 @@ 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. --> -http://java.sun.com/xml/ns/j2ee; +http://java.sun.com/xml/ns/javaee; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd; version="3.0">
[12/19] geode git commit: GEODE-2751 UniversalMembershipListenerAdapterDUnitTest.testSystemClientEventsInServer
GEODE-2751 UniversalMembershipListenerAdapterDUnitTest.testSystemClientEventsInServer This forces the test to always use numeric host addresses Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/02a31e22 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/02a31e22 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/02a31e22 Branch: refs/heads/feature/GEODE-2632 Commit: 02a31e22ad350a84ea2797562d13c6b16262481b Parents: edd018b Author: Bruce SchuchardtAuthored: Wed Apr 5 09:22:19 2017 -0700 Committer: Bruce Schuchardt Committed: Wed Apr 5 09:29:43 2017 -0700 -- ...UniversalMembershipListenerAdapterDUnitTest.java | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/02a31e22/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java -- diff --git a/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java index 66c6f7c..6b952e0 100644 --- a/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java @@ -18,6 +18,8 @@ import static org.apache.geode.distributed.ConfigurationProperties.*; import static org.apache.geode.test.dunit.Assert.*; import static org.apache.geode.test.dunit.LogWriterUtils.*; +import org.apache.geode.internal.net.SocketCreator; +import org.apache.geode.test.dunit.Invoke; import org.awaitility.Awaitility; import java.io.IOException; @@ -29,6 +31,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import org.apache.geode.distributed.internal.ServerLocation; +import org.junit.Before; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -93,6 +96,16 @@ public class UniversalMembershipListenerAdapterDUnitTest extends ClientServerTes /** Millis to wait for all three event listeners to be notified */ private static final int ASYNC_EVENT_WAIT_MILLIS = 3; // use Integer.MAX_VALUE for debugging + @Before + public void setTestToUseIpAddresses() { +SocketCreator.resolve_dns = false; +SocketCreator.use_client_host_name = false; +Invoke.invokeInEveryVM(() -> { + SocketCreator.resolve_dns = false; + SocketCreator.use_client_host_name = false; +}); + } + @Override public final void postTearDownCacheTestCase() throws Exception { InternalClientMembership.unregisterAllListeners(); @@ -503,6 +516,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends ClientServerTes assertTrue(firedAdapter[JOINED]); assertEquals(clientMember, memberAdapter[JOINED]); +assertFalse(SocketCreator.resolve_dns); assertEquals(clientMemberId, memberIdAdapter[JOINED]); assertTrue(isClientAdapter[JOINED]); assertFalse(firedAdapter[LEFT]); @@ -1852,7 +1866,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends ClientServerTes config.put(MCAST_PORT, "0"); config.put(LOCATORS, ""); // config.put(LOG_LEVEL, "fine"); -// config.setProperty(ENABLE_NETWORK_PARTITION_DETECTION, "false"); +config.setProperty(ENABLE_NETWORK_PARTITION_DETECTION, "false"); getSystem(config); System.out.println("[testServerEventsInLonerClient] create system bridge client");
geode git commit: GEODE-2757: Do not process netsearch reply from a departed node that membership listener already detected.
Repository: geode Updated Branches: refs/heads/develop 799548ee4 -> d497d63af GEODE-2757: Do not process netsearch reply from a departed node that membership listener already detected. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/d497d63a Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/d497d63a Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/d497d63a Branch: refs/heads/develop Commit: d497d63af422b3b98c480698a9470812539f8a83 Parents: 799548e Author: eshuAuthored: Fri Apr 7 11:37:35 2017 -0700 Committer: eshu Committed: Fri Apr 7 11:37:35 2017 -0700 -- .../geode/internal/cache/DistributedRegion.java | 2 +- .../cache/SearchLoadAndWriteProcessor.java | 61 +++ .../cache/SearchLoadAndWriteProcessorTest.java | 102 ++- 3 files changed, 143 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/d497d63a/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 fa02574..c12a652 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 @@ -2126,7 +2126,7 @@ public class DistributedRegion extends LocalRegion implements CacheDistributionA return this.distAdvisor; } - public final CacheDistributionAdvisor getCacheDistributionAdvisor() { + public CacheDistributionAdvisor getCacheDistributionAdvisor() { return this.distAdvisor; } http://git-wip-us.apache.org/repos/asf/geode/blob/d497d63a/geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java index 3d969f9..2a10792 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java @@ -67,7 +67,7 @@ public class SearchLoadAndWriteProcessor implements MembershipListener { Long.getLong(DistributionConfig.GEMFIRE_PREFIX + "search-retry-interval", 2000).longValue(); - private InternalDistributedMember selectedNode; + private volatile InternalDistributedMember selectedNode; private boolean selectedNodeDead = false; private int timeout; private boolean netSearchDone = false; @@ -108,6 +108,8 @@ public class SearchLoadAndWriteProcessor implements MembershipListener { private final Object membersLock = new Object(); + private ArrayList departedMembers; + private Lock lock = null; // if non-null, then needs to be unlocked in release static final int NETSEARCH = 0; @@ -221,6 +223,10 @@ public class SearchLoadAndWriteProcessor implements MembershipListener { } synchronized (this) { if (id.equals(selectedNode) && (this.requestInProgress) && (this.remoteGetInProgress)) { +if (departedMembers == null) { + departedMembers = new ArrayList(); +} +departedMembers.add(id); selectedNode = null; selectedNodeDead = true; computeRemainingTimeout(); @@ -231,8 +237,9 @@ public class SearchLoadAndWriteProcessor implements MembershipListener { notifyAll(); // signal the waiter; we are not done; but we need the waiter to call // sendNetSearchRequest } - if (responseQueue != null) + if (responseQueue != null) { responseQueue.remove(id); + } checkIfDone(); } } @@ -378,6 +385,10 @@ public class SearchLoadAndWriteProcessor implements MembershipListener { /** Package Methods **/ + InternalDistributedMember getSelectedNode() { +return this.selectedNode; + } + /** Private Methods **/ /** * Even though SearchLoadAndWriteProcessor may be in invoked in the context of a local region, @@ -495,25 +506,28 @@ public class SearchLoadAndWriteProcessor implements MembershipListener { synchronized (this.pendingResponders) { this.pendingResponders.clear(); } -this.requestInProgress = true; -this.remoteGetInProgress = true; + synchronized (this) { + this.requestInProgress = true; +
geode git commit: deprecated the old resume(TXStateProxy) so that closed side test code compiles
Repository: geode Updated Branches: refs/heads/feature/GEODE-2485 be467cb01 -> ad9ab797b deprecated the old resume(TXStateProxy) so that closed side test code compiles Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/ad9ab797 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/ad9ab797 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/ad9ab797 Branch: refs/heads/feature/GEODE-2485 Commit: ad9ab797b21ef86ba30cebe80414476cf4585858 Parents: be467cb Author: Darrel SchneiderAuthored: Fri Apr 7 11:10:55 2017 -0700 Committer: Darrel Schneider Committed: Fri Apr 7 11:10:55 2017 -0700 -- .../java/org/apache/geode/internal/cache/TXManagerImpl.java | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/ad9ab797/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java index 7b821c1..2948a48 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java @@ -675,7 +675,7 @@ public class TXManagerImpl implements CacheTransactionManager, MembershipListene * @param tx the transaction to activate. * @throws IllegalStateException if this thread already has an active transaction */ - public final void internalResume(TXStateProxy tx) { + public void internalResume(TXStateProxy tx) { if (tx != null) { TransactionId tid = getTransactionId(); if (tid != null) { @@ -688,6 +688,13 @@ public class TXManagerImpl implements CacheTransactionManager, MembershipListene } } + /** + * @deprecated use internalResume instead + */ + public final void resume(TXStateProxy tx) { +internalResume(tx); + } + public final boolean isClosed() { return this.closed; }
geode git commit: formatting
Repository: geode Updated Branches: refs/heads/feature/GEODE-2485 b665db44c -> be467cb01 formatting Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/be467cb0 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/be467cb0 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/be467cb0 Branch: refs/heads/feature/GEODE-2485 Commit: be467cb016c51dae702adfba7f416366a46bcecd Parents: b665db4 Author: Darrel SchneiderAuthored: Fri Apr 7 10:51:01 2017 -0700 Committer: Darrel Schneider Committed: Fri Apr 7 10:51:01 2017 -0700 -- .../main/java/org/apache/geode/internal/cache/TXManagerImpl.java | 2 +- .../main/java/org/apache/geode/internal/cache/TXStateProxy.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/geode/blob/be467cb0/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java index 7ac616a..7b821c1 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java @@ -1276,7 +1276,7 @@ public class TXManagerImpl implements CacheTransactionManager, MembershipListene } return false; } - + private void resumeProxy(TXStateProxy txProxy) { assert txProxy != null; internalResume(txProxy); http://git-wip-us.apache.org/repos/asf/geode/blob/be467cb0/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxy.java -- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxy.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxy.java index 5aa0aff..d392c41 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxy.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxy.java @@ -70,8 +70,8 @@ public interface TXStateProxy extends TXStateInterface { public void suspend(); /** - * Called by {@link TXManagerImpl#internalResume(TXStateProxy)} to perform additional tasks required to - * resume a transaction + * Called by {@link TXManagerImpl#internalResume(TXStateProxy)} to perform additional tasks + * required to resume a transaction */ public void resume();
[geode] Git Push Summary
Repository: geode Updated Branches: refs/heads/feature/GEM-1353 [created] 799548ee4