[geode] branch support/1.12 updated: GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

2020-11-11 Thread mhanson
This is an automated email from the ASF dual-hosted git repository.

mhanson pushed a commit to branch support/1.12
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.12 by this push:
 new b027331  GEODE-8607: Adding some test API to get oldest tombstone 
(#5623) (#5733)
b027331 is described below

commit b027331aa47e51c492c9a2aab414b6abfb69bd51
Author: mhansonp 
AuthorDate: Wed Nov 11 17:09:45 2020 -0800

GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

- Adding some test API to get oldest tombstone timestamp
- Adding some test API for getting the oldest tombstone

(cherry picked from commit eb91e9517f579c005c7b69937b8cfced7d3cc37e)
(cherry picked from commit 3890db1cd755dfbbd28816055fab2a3f34385542)
---
 .../cache/versions/TombstoneDUnitTest.java | 348 -
 .../geode/internal/cache/TombstoneService.java |  47 ++-
 2 files changed, 245 insertions(+), 150 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
index 8c7fc3a..8cb94e5 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
@@ -14,220 +14,296 @@
  */
 package org.apache.geode.internal.cache.versions;
 
-import static org.apache.geode.cache.RegionShortcut.REPLICATE_PERSISTENT;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.AfterReceivedRequestImage;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.DuringApplyDelta;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.assertEquals;
 
 import java.io.Serializable;
+import java.util.Arrays;
 import java.util.Properties;
 import java.util.concurrent.CountDownLatch;
 
+import org.junit.After;
+import org.junit.Rule;
 import org.junit.Test;
 
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.client.ClientCache;
+import org.apache.geode.cache.client.ClientCacheFactory;
+import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
 import org.apache.geode.distributed.internal.DistributionMessage;
 import org.apache.geode.distributed.internal.DistributionMessageObserver;
 import org.apache.geode.internal.cache.DestroyOperation;
 import org.apache.geode.internal.cache.DistributedTombstoneOperation;
-import org.apache.geode.internal.cache.InitialImageOperation;
+import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.LocalRegion;
+import org.apache.geode.internal.cache.TombstoneService;
 import org.apache.geode.test.dunit.AsyncInvocation;
-import org.apache.geode.test.dunit.Host;
+import org.apache.geode.test.dunit.DistributedTestUtils;
+import org.apache.geode.test.dunit.NetworkUtils;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
-public class TombstoneDUnitTest extends JUnit4CacheTestCase {
+public class TombstoneDUnitTest implements Serializable {
+  private static final long serialVersionUID = 2992716917694662945L;
+  private static Cache cache;
+  private static Region region;
+  final String REGION_NAME = "TestRegion";
+
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
+
+  @After
+  public void close() {
+for (VM vm : Arrays.asList(VM.getVM(0), VM.getVM(1))) {
+  vm.invoke(() -> {
+region = null;
+if (cache != null) {
+  cache.close();
+}
+  });
+}
+  }
 
   @Test
-  public void 
testTombstoneGcMessagesBetweenPersistnentAndNonPersistentRegion() {
-Host host = Host.getHost(0);
-VM vm0 = host.getVM(0);
-VM vm1 = host.getVM(1);
+  public void testTombstoneGcMessagesBetweenPersistentAndNonPersistentRegion() 
{
+VM vm0 = VM.getVM(0);
+VM vm1 = VM.getVM(1);
 
 vm0.invoke(() -> {
-  createRegion("TestRegion", true);
-  Region region = getCache().getRegion("TestRegion");
+  createCacheAndRegion(RegionShortcut.REPLICATE_PERSISTENT);
   region.put("K1", "V1");
   region.put("K2", "V2");
 });
 
-vm1.invoke(() -> {
-  createRegion("TestRegion", false);
-});
+vm1.invoke(() -> createCacheAndRegion(RegionShortcut.REPLICATE));
 
 vm0.invoke(() -> {
   // Send tombstone gc message to vm1.
-  Region region = 

[geode] branch support/1.12 updated: GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

2020-11-11 Thread mhanson
This is an automated email from the ASF dual-hosted git repository.

mhanson pushed a commit to branch support/1.12
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.12 by this push:
 new b027331  GEODE-8607: Adding some test API to get oldest tombstone 
(#5623) (#5733)
b027331 is described below

commit b027331aa47e51c492c9a2aab414b6abfb69bd51
Author: mhansonp 
AuthorDate: Wed Nov 11 17:09:45 2020 -0800

GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

- Adding some test API to get oldest tombstone timestamp
- Adding some test API for getting the oldest tombstone

(cherry picked from commit eb91e9517f579c005c7b69937b8cfced7d3cc37e)
(cherry picked from commit 3890db1cd755dfbbd28816055fab2a3f34385542)
---
 .../cache/versions/TombstoneDUnitTest.java | 348 -
 .../geode/internal/cache/TombstoneService.java |  47 ++-
 2 files changed, 245 insertions(+), 150 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
index 8c7fc3a..8cb94e5 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
@@ -14,220 +14,296 @@
  */
 package org.apache.geode.internal.cache.versions;
 
-import static org.apache.geode.cache.RegionShortcut.REPLICATE_PERSISTENT;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.AfterReceivedRequestImage;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.DuringApplyDelta;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.assertEquals;
 
 import java.io.Serializable;
+import java.util.Arrays;
 import java.util.Properties;
 import java.util.concurrent.CountDownLatch;
 
+import org.junit.After;
+import org.junit.Rule;
 import org.junit.Test;
 
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.client.ClientCache;
+import org.apache.geode.cache.client.ClientCacheFactory;
+import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
 import org.apache.geode.distributed.internal.DistributionMessage;
 import org.apache.geode.distributed.internal.DistributionMessageObserver;
 import org.apache.geode.internal.cache.DestroyOperation;
 import org.apache.geode.internal.cache.DistributedTombstoneOperation;
-import org.apache.geode.internal.cache.InitialImageOperation;
+import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.LocalRegion;
+import org.apache.geode.internal.cache.TombstoneService;
 import org.apache.geode.test.dunit.AsyncInvocation;
-import org.apache.geode.test.dunit.Host;
+import org.apache.geode.test.dunit.DistributedTestUtils;
+import org.apache.geode.test.dunit.NetworkUtils;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
-public class TombstoneDUnitTest extends JUnit4CacheTestCase {
+public class TombstoneDUnitTest implements Serializable {
+  private static final long serialVersionUID = 2992716917694662945L;
+  private static Cache cache;
+  private static Region region;
+  final String REGION_NAME = "TestRegion";
+
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
+
+  @After
+  public void close() {
+for (VM vm : Arrays.asList(VM.getVM(0), VM.getVM(1))) {
+  vm.invoke(() -> {
+region = null;
+if (cache != null) {
+  cache.close();
+}
+  });
+}
+  }
 
   @Test
-  public void 
testTombstoneGcMessagesBetweenPersistnentAndNonPersistentRegion() {
-Host host = Host.getHost(0);
-VM vm0 = host.getVM(0);
-VM vm1 = host.getVM(1);
+  public void testTombstoneGcMessagesBetweenPersistentAndNonPersistentRegion() 
{
+VM vm0 = VM.getVM(0);
+VM vm1 = VM.getVM(1);
 
 vm0.invoke(() -> {
-  createRegion("TestRegion", true);
-  Region region = getCache().getRegion("TestRegion");
+  createCacheAndRegion(RegionShortcut.REPLICATE_PERSISTENT);
   region.put("K1", "V1");
   region.put("K2", "V2");
 });
 
-vm1.invoke(() -> {
-  createRegion("TestRegion", false);
-});
+vm1.invoke(() -> createCacheAndRegion(RegionShortcut.REPLICATE));
 
 vm0.invoke(() -> {
   // Send tombstone gc message to vm1.
-  Region region = 

[geode] branch support/1.13 updated: GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

2020-11-11 Thread mhanson
This is an automated email from the ASF dual-hosted git repository.

mhanson pushed a commit to branch support/1.13
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.13 by this push:
 new 3890db1  GEODE-8607: Adding some test API to get oldest tombstone 
(#5623) (#5733)
3890db1 is described below

commit 3890db1cd755dfbbd28816055fab2a3f34385542
Author: mhansonp 
AuthorDate: Wed Nov 11 17:09:45 2020 -0800

GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

- Adding some test API to get oldest tombstone timestamp
- Adding some test API for getting the oldest tombstone

(cherry picked from commit eb91e9517f579c005c7b69937b8cfced7d3cc37e)
---
 .../cache/versions/TombstoneDUnitTest.java | 348 -
 .../geode/internal/cache/TombstoneService.java |  47 ++-
 2 files changed, 245 insertions(+), 150 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
index 8c7fc3a..8cb94e5 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
@@ -14,220 +14,296 @@
  */
 package org.apache.geode.internal.cache.versions;
 
-import static org.apache.geode.cache.RegionShortcut.REPLICATE_PERSISTENT;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.AfterReceivedRequestImage;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.DuringApplyDelta;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.assertEquals;
 
 import java.io.Serializable;
+import java.util.Arrays;
 import java.util.Properties;
 import java.util.concurrent.CountDownLatch;
 
+import org.junit.After;
+import org.junit.Rule;
 import org.junit.Test;
 
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.client.ClientCache;
+import org.apache.geode.cache.client.ClientCacheFactory;
+import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
 import org.apache.geode.distributed.internal.DistributionMessage;
 import org.apache.geode.distributed.internal.DistributionMessageObserver;
 import org.apache.geode.internal.cache.DestroyOperation;
 import org.apache.geode.internal.cache.DistributedTombstoneOperation;
-import org.apache.geode.internal.cache.InitialImageOperation;
+import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.LocalRegion;
+import org.apache.geode.internal.cache.TombstoneService;
 import org.apache.geode.test.dunit.AsyncInvocation;
-import org.apache.geode.test.dunit.Host;
+import org.apache.geode.test.dunit.DistributedTestUtils;
+import org.apache.geode.test.dunit.NetworkUtils;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
-public class TombstoneDUnitTest extends JUnit4CacheTestCase {
+public class TombstoneDUnitTest implements Serializable {
+  private static final long serialVersionUID = 2992716917694662945L;
+  private static Cache cache;
+  private static Region region;
+  final String REGION_NAME = "TestRegion";
+
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
+
+  @After
+  public void close() {
+for (VM vm : Arrays.asList(VM.getVM(0), VM.getVM(1))) {
+  vm.invoke(() -> {
+region = null;
+if (cache != null) {
+  cache.close();
+}
+  });
+}
+  }
 
   @Test
-  public void 
testTombstoneGcMessagesBetweenPersistnentAndNonPersistentRegion() {
-Host host = Host.getHost(0);
-VM vm0 = host.getVM(0);
-VM vm1 = host.getVM(1);
+  public void testTombstoneGcMessagesBetweenPersistentAndNonPersistentRegion() 
{
+VM vm0 = VM.getVM(0);
+VM vm1 = VM.getVM(1);
 
 vm0.invoke(() -> {
-  createRegion("TestRegion", true);
-  Region region = getCache().getRegion("TestRegion");
+  createCacheAndRegion(RegionShortcut.REPLICATE_PERSISTENT);
   region.put("K1", "V1");
   region.put("K2", "V2");
 });
 
-vm1.invoke(() -> {
-  createRegion("TestRegion", false);
-});
+vm1.invoke(() -> createCacheAndRegion(RegionShortcut.REPLICATE));
 
 vm0.invoke(() -> {
   // Send tombstone gc message to vm1.
-  Region region = getCache().getRegion("TestRegion");
   region.destroy("K1");
-  

[geode] branch support/1.13 updated: GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

2020-11-11 Thread mhanson
This is an automated email from the ASF dual-hosted git repository.

mhanson pushed a commit to branch support/1.13
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.13 by this push:
 new 3890db1  GEODE-8607: Adding some test API to get oldest tombstone 
(#5623) (#5733)
3890db1 is described below

commit 3890db1cd755dfbbd28816055fab2a3f34385542
Author: mhansonp 
AuthorDate: Wed Nov 11 17:09:45 2020 -0800

GEODE-8607: Adding some test API to get oldest tombstone (#5623) (#5733)

- Adding some test API to get oldest tombstone timestamp
- Adding some test API for getting the oldest tombstone

(cherry picked from commit eb91e9517f579c005c7b69937b8cfced7d3cc37e)
---
 .../cache/versions/TombstoneDUnitTest.java | 348 -
 .../geode/internal/cache/TombstoneService.java |  47 ++-
 2 files changed, 245 insertions(+), 150 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
index 8c7fc3a..8cb94e5 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/versions/TombstoneDUnitTest.java
@@ -14,220 +14,296 @@
  */
 package org.apache.geode.internal.cache.versions;
 
-import static org.apache.geode.cache.RegionShortcut.REPLICATE_PERSISTENT;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.AfterReceivedRequestImage;
-import static 
org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType.DuringApplyDelta;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.assertEquals;
 
 import java.io.Serializable;
+import java.util.Arrays;
 import java.util.Properties;
 import java.util.concurrent.CountDownLatch;
 
+import org.junit.After;
+import org.junit.Rule;
 import org.junit.Test;
 
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.client.ClientCache;
+import org.apache.geode.cache.client.ClientCacheFactory;
+import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
 import org.apache.geode.distributed.internal.DistributionMessage;
 import org.apache.geode.distributed.internal.DistributionMessageObserver;
 import org.apache.geode.internal.cache.DestroyOperation;
 import org.apache.geode.internal.cache.DistributedTombstoneOperation;
-import org.apache.geode.internal.cache.InitialImageOperation;
+import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.LocalRegion;
+import org.apache.geode.internal.cache.TombstoneService;
 import org.apache.geode.test.dunit.AsyncInvocation;
-import org.apache.geode.test.dunit.Host;
+import org.apache.geode.test.dunit.DistributedTestUtils;
+import org.apache.geode.test.dunit.NetworkUtils;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
-public class TombstoneDUnitTest extends JUnit4CacheTestCase {
+public class TombstoneDUnitTest implements Serializable {
+  private static final long serialVersionUID = 2992716917694662945L;
+  private static Cache cache;
+  private static Region region;
+  final String REGION_NAME = "TestRegion";
+
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
+
+  @After
+  public void close() {
+for (VM vm : Arrays.asList(VM.getVM(0), VM.getVM(1))) {
+  vm.invoke(() -> {
+region = null;
+if (cache != null) {
+  cache.close();
+}
+  });
+}
+  }
 
   @Test
-  public void 
testTombstoneGcMessagesBetweenPersistnentAndNonPersistentRegion() {
-Host host = Host.getHost(0);
-VM vm0 = host.getVM(0);
-VM vm1 = host.getVM(1);
+  public void testTombstoneGcMessagesBetweenPersistentAndNonPersistentRegion() 
{
+VM vm0 = VM.getVM(0);
+VM vm1 = VM.getVM(1);
 
 vm0.invoke(() -> {
-  createRegion("TestRegion", true);
-  Region region = getCache().getRegion("TestRegion");
+  createCacheAndRegion(RegionShortcut.REPLICATE_PERSISTENT);
   region.put("K1", "V1");
   region.put("K2", "V2");
 });
 
-vm1.invoke(() -> {
-  createRegion("TestRegion", false);
-});
+vm1.invoke(() -> createCacheAndRegion(RegionShortcut.REPLICATE));
 
 vm0.invoke(() -> {
   // Send tombstone gc message to vm1.
-  Region region = getCache().getRegion("TestRegion");
   region.destroy("K1");
-  

[geode] branch support/1.12 updated: GEODE-7884: server hangs due to IllegalStateException (#4822)

2020-11-11 Thread burcham
This is an automated email from the ASF dual-hosted git repository.

burcham pushed a commit to branch support/1.12
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.12 by this push:
 new 6fec62f  GEODE-7884: server hangs due to IllegalStateException (#4822)
6fec62f is described below

commit 6fec62ff7b4b6ebc4f0f8079fcd67a2b0c3919b0
Author: Bruce Schuchardt 
AuthorDate: Fri Mar 20 09:05:24 2020 -0700

GEODE-7884: server hangs due to IllegalStateException (#4822)

* GEODE-7884: server hangs due to IllegalStateException

Added cancellation check before scheduling an idle-timeout or
ack-wait-threshold timer task.  I had to add a new method to
SystemTimerTask and then noticed there were no tests for SystemTimer, so
I cleaned up that class and added tests.

* adding missing copyright header to new test

* fixing LGTM issues

* reinstating 'continue' when encountering a null timer during a sweep

* addressing Bill's comments

renamed swarm everwhere
made the collection of timers associated with a DistributedSystem into a Set
made timer task variables in Connection volatile
added checks in tasks to cancel themselves if their Connection is closed

(cherry picked from commit 2d2a3f80bd5053749963889c1898df48e9aa0be7)
---
 .../internal/InternalDistributedSystem.java|   2 +-
 .../org/apache/geode/internal/SystemTimer.java | 370 +++--
 .../geode/internal/admin/StatAlertsManager.java|   2 +-
 .../geode/internal/cache/ExpirationScheduler.java  |   2 +-
 .../geode/internal/cache/GemFireCacheImpl.java |   2 +-
 .../cache/partitioned/PRSanityCheckMessage.java|   2 +-
 .../internal/cache/tier/sockets/AcceptorImpl.java  |   2 +-
 .../org/apache/geode/internal/tcp/Connection.java  |  30 +-
 .../apache/geode/internal/tcp/ConnectionTable.java |  22 +-
 .../org/apache/geode/internal/SystemTimerTest.java | 162 +
 10 files changed, 329 insertions(+), 267 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
index 823844f..e97bd02 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
@@ -1625,7 +1625,7 @@ public class InternalDistributedSystem extends 
DistributedSystem
   // bug 38501: this has to happen *after*
   // the DM is closed :-(
   if (!preparingForReconnect) {
-SystemTimer.cancelSwarm(this);
+SystemTimer.cancelTimers(this);
   }
 } // finally timer cancelled
   } // finally dm closed
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java 
b/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java
index 9ce3525..7eddf43 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java
@@ -15,32 +15,30 @@
 package org.apache.geode.internal;
 
 import java.lang.ref.WeakReference;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
 import java.util.Timer;
 import java.util.TimerTask;
 
 import org.apache.logging.log4j.Logger;
 
 import org.apache.geode.CancelException;
-import org.apache.geode.SystemFailure;
 import org.apache.geode.annotations.internal.MakeNotStatic;
-import org.apache.geode.distributed.internal.InternalDistributedSystem;
+import org.apache.geode.distributed.DistributedSystem;
 import org.apache.geode.logging.internal.log4j.api.LogService;
 
 /**
- * Instances of this class are like {@link Timer}, but are associated with a 
"swarm", which can be
- * cancelled as a group with {@link #cancelSwarm(Object)}.
+ * Instances of this class are like {@link Timer}, but are associated with a 
DistributedSystem,
+ * which can be
+ * cancelled as a group with {@link #cancelTimers(DistributedSystem)}.
  *
  * @see Timer
  * @see TimerTask
  *
- *  TODO -- with Java 1.5, this will be a template type so that the 
swarm's class can be
- *  specified.
  */
 public class SystemTimer {
   private static final Logger logger = LogService.getLogger();
@@ -49,12 +47,6 @@ public class SystemTimer {
   "IBM Corporation".equals(System.getProperty("java.vm.vendor"));
 
   /**
-   * Extra debugging for this class
-   */
-  // private static final boolean DEBUG = true;
-  static final boolean DEBUG = false;
-
-  /**
* the underlying {@link Timer}
*/
   private final Timer timer;
@@ -62,119 +54,106 @@ public class SystemTimer {
   /**
   

[geode] branch support/1.12 updated: GEODE-7884: server hangs due to IllegalStateException (#4822)

2020-11-11 Thread burcham
This is an automated email from the ASF dual-hosted git repository.

burcham pushed a commit to branch support/1.12
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.12 by this push:
 new 6fec62f  GEODE-7884: server hangs due to IllegalStateException (#4822)
6fec62f is described below

commit 6fec62ff7b4b6ebc4f0f8079fcd67a2b0c3919b0
Author: Bruce Schuchardt 
AuthorDate: Fri Mar 20 09:05:24 2020 -0700

GEODE-7884: server hangs due to IllegalStateException (#4822)

* GEODE-7884: server hangs due to IllegalStateException

Added cancellation check before scheduling an idle-timeout or
ack-wait-threshold timer task.  I had to add a new method to
SystemTimerTask and then noticed there were no tests for SystemTimer, so
I cleaned up that class and added tests.

* adding missing copyright header to new test

* fixing LGTM issues

* reinstating 'continue' when encountering a null timer during a sweep

* addressing Bill's comments

renamed swarm everwhere
made the collection of timers associated with a DistributedSystem into a Set
made timer task variables in Connection volatile
added checks in tasks to cancel themselves if their Connection is closed

(cherry picked from commit 2d2a3f80bd5053749963889c1898df48e9aa0be7)
---
 .../internal/InternalDistributedSystem.java|   2 +-
 .../org/apache/geode/internal/SystemTimer.java | 370 +++--
 .../geode/internal/admin/StatAlertsManager.java|   2 +-
 .../geode/internal/cache/ExpirationScheduler.java  |   2 +-
 .../geode/internal/cache/GemFireCacheImpl.java |   2 +-
 .../cache/partitioned/PRSanityCheckMessage.java|   2 +-
 .../internal/cache/tier/sockets/AcceptorImpl.java  |   2 +-
 .../org/apache/geode/internal/tcp/Connection.java  |  30 +-
 .../apache/geode/internal/tcp/ConnectionTable.java |  22 +-
 .../org/apache/geode/internal/SystemTimerTest.java | 162 +
 10 files changed, 329 insertions(+), 267 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
index 823844f..e97bd02 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
@@ -1625,7 +1625,7 @@ public class InternalDistributedSystem extends 
DistributedSystem
   // bug 38501: this has to happen *after*
   // the DM is closed :-(
   if (!preparingForReconnect) {
-SystemTimer.cancelSwarm(this);
+SystemTimer.cancelTimers(this);
   }
 } // finally timer cancelled
   } // finally dm closed
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java 
b/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java
index 9ce3525..7eddf43 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java
@@ -15,32 +15,30 @@
 package org.apache.geode.internal;
 
 import java.lang.ref.WeakReference;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
 import java.util.Timer;
 import java.util.TimerTask;
 
 import org.apache.logging.log4j.Logger;
 
 import org.apache.geode.CancelException;
-import org.apache.geode.SystemFailure;
 import org.apache.geode.annotations.internal.MakeNotStatic;
-import org.apache.geode.distributed.internal.InternalDistributedSystem;
+import org.apache.geode.distributed.DistributedSystem;
 import org.apache.geode.logging.internal.log4j.api.LogService;
 
 /**
- * Instances of this class are like {@link Timer}, but are associated with a 
"swarm", which can be
- * cancelled as a group with {@link #cancelSwarm(Object)}.
+ * Instances of this class are like {@link Timer}, but are associated with a 
DistributedSystem,
+ * which can be
+ * cancelled as a group with {@link #cancelTimers(DistributedSystem)}.
  *
  * @see Timer
  * @see TimerTask
  *
- *  TODO -- with Java 1.5, this will be a template type so that the 
swarm's class can be
- *  specified.
  */
 public class SystemTimer {
   private static final Logger logger = LogService.getLogger();
@@ -49,12 +47,6 @@ public class SystemTimer {
   "IBM Corporation".equals(System.getProperty("java.vm.vendor"));
 
   /**
-   * Extra debugging for this class
-   */
-  // private static final boolean DEBUG = true;
-  static final boolean DEBUG = false;
-
-  /**
* the underlying {@link Timer}
*/
   private final Timer timer;
@@ -62,119 +54,106 @@ public class SystemTimer {
   /**
   

[geode] branch develop updated (ba8f901 -> c99087a)

2020-11-11 Thread sabbey37
This is an automated email from the ASF dual-hosted git repository.

sabbey37 pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from ba8f901  GEODE-8684: Setting a session's maxInactiveInterval does not 
work when the commit valve is disabled (#5724)
 add c99087a  GEODE-8692: ArrayIndexOutOfBoundsException may be thrown in 
RegionAdvisor.processProfilesQueuedDuringInitialization (#5722)

No new revisions were added by this update.

Summary of changes:
 .../internal/cache/partitioned/RegionAdvisor.java  | 16 +++--
 .../cache/partitioned/RegionAdvisorJUnitTest.java  | 81 ++
 2 files changed, 93 insertions(+), 4 deletions(-)
 create mode 100644 
geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/RegionAdvisorJUnitTest.java



[geode] branch develop updated (ba8f901 -> c99087a)

2020-11-11 Thread sabbey37
This is an automated email from the ASF dual-hosted git repository.

sabbey37 pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from ba8f901  GEODE-8684: Setting a session's maxInactiveInterval does not 
work when the commit valve is disabled (#5724)
 add c99087a  GEODE-8692: ArrayIndexOutOfBoundsException may be thrown in 
RegionAdvisor.processProfilesQueuedDuringInitialization (#5722)

No new revisions were added by this update.

Summary of changes:
 .../internal/cache/partitioned/RegionAdvisor.java  | 16 +++--
 .../cache/partitioned/RegionAdvisorJUnitTest.java  | 81 ++
 2 files changed, 93 insertions(+), 4 deletions(-)
 create mode 100644 
geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/RegionAdvisorJUnitTest.java



[geode] branch develop updated (70b1ee8 -> ba8f901)

2020-11-11 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 70b1ee8  GEODE-8686: Prevent potential deadlock during GII and 
tombstone GC (#5707)
 add ba8f901  GEODE-8684: Setting a session's maxInactiveInterval does not 
work when the commit valve is disabled (#5724)

No new revisions were added by this update.

Summary of changes:
 .../modules/session/catalina/DeltaSession.java |  4 +++
 .../geode/session/tests/TomcatContainer.java   | 15 +
 .../apache/geode/session/tests/TomcatInstall.java  | 36 --
 .../apache/geode/session/tests/CargoTestBase.java  |  9 +++---
 .../tests/Tomcat6CachingClientServerTest.java  |  2 +-
 .../session/tests/Tomcat6ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat6Test.java|  3 +-
 .../tests/Tomcat7CachingClientServerTest.java  |  2 +-
 .../session/tests/Tomcat7ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat7Test.java|  3 +-
 .../tests/Tomcat8CachingClientServerTest.java  |  2 +-
 .../session/tests/Tomcat8ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat8Test.java|  3 +-
 .../tests/Tomcat9CachingClientServerTest.java  |  2 +-
 ...mcat9CachingClientServerValveDisabledTest.java} |  4 +--
 .../session/tests/Tomcat9ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat9Test.java|  3 +-
 .../Tomcat8ClientServerRollingUpgradeTest.java |  4 +--
 ...omcatSessionBackwardsCompatibilityTestBase.java |  8 ++---
 19 files changed, 76 insertions(+), 36 deletions(-)
 copy 
geode-assembly/src/distributedTest/java/org/apache/geode/session/tests/{Tomcat9CachingClientServerTest.java
 => Tomcat9CachingClientServerValveDisabledTest.java} (89%)



[geode] branch develop updated (70b1ee8 -> ba8f901)

2020-11-11 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 70b1ee8  GEODE-8686: Prevent potential deadlock during GII and 
tombstone GC (#5707)
 add ba8f901  GEODE-8684: Setting a session's maxInactiveInterval does not 
work when the commit valve is disabled (#5724)

No new revisions were added by this update.

Summary of changes:
 .../modules/session/catalina/DeltaSession.java |  4 +++
 .../geode/session/tests/TomcatContainer.java   | 15 +
 .../apache/geode/session/tests/TomcatInstall.java  | 36 --
 .../apache/geode/session/tests/CargoTestBase.java  |  9 +++---
 .../tests/Tomcat6CachingClientServerTest.java  |  2 +-
 .../session/tests/Tomcat6ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat6Test.java|  3 +-
 .../tests/Tomcat7CachingClientServerTest.java  |  2 +-
 .../session/tests/Tomcat7ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat7Test.java|  3 +-
 .../tests/Tomcat8CachingClientServerTest.java  |  2 +-
 .../session/tests/Tomcat8ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat8Test.java|  3 +-
 .../tests/Tomcat9CachingClientServerTest.java  |  2 +-
 ...mcat9CachingClientServerValveDisabledTest.java} |  4 +--
 .../session/tests/Tomcat9ClientServerTest.java |  3 +-
 .../apache/geode/session/tests/Tomcat9Test.java|  3 +-
 .../Tomcat8ClientServerRollingUpgradeTest.java |  4 +--
 ...omcatSessionBackwardsCompatibilityTestBase.java |  8 ++---
 19 files changed, 76 insertions(+), 36 deletions(-)
 copy 
geode-assembly/src/distributedTest/java/org/apache/geode/session/tests/{Tomcat9CachingClientServerTest.java
 => Tomcat9CachingClientServerValveDisabledTest.java} (89%)