[geode] branch develop updated: GEODE-8620: Do not include non-created buckets in redundancy calculation (#5642)

2020-10-19 Thread donalevans
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/develop by this push:
 new 505eb3a  GEODE-8620: Do not include non-created buckets in redundancy 
calculation (#5642)
505eb3a is described below

commit 505eb3af1f61edd8dff9e199104c72987ef281ab
Author: Donal Evans 
AuthorDate: Mon Oct 19 15:25:14 2020 -0700

GEODE-8620: Do not include non-created buckets in redundancy calculation 
(#5642)

Authored-by: Donal Evans 
---
 .../SerializableRegionRedundancyStatusImpl.java|  4 +++-
 .../control/RegionRedundancyStatusImplTest.java| 19 ++-
 .../RestoreRedundancyCommandDUnitTest.java | 22 ++
 3 files changed, 43 insertions(+), 2 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
index 239c079..6d1877a 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
@@ -56,7 +56,9 @@ public class SerializableRegionRedundancyStatusImpl extends
 int minRedundancy = Integer.MAX_VALUE;
 for (int i = 0; i < numBuckets; i++) {
   int bucketRedundancy = region.getRegionAdvisor().getBucketRedundancy(i);
-  if (bucketRedundancy < minRedundancy) {
+  // Only consider redundancy for buckets that exist. Buckets that have 
not been created yet
+  // have a redundancy value of -1
+  if (bucketRedundancy != -1 && bucketRedundancy < minRedundancy) {
 minRedundancy = bucketRedundancy;
   }
 }
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
index 39eec88..927b488 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
@@ -56,7 +56,7 @@ public class RegionRedundancyStatusImplTest {
   @Parameters(method = "getActualRedundancyAndExpectedStatusAndMessage")
   @TestCaseName("[{index}] {method} (Desired redundancy:" + desiredRedundancy
   + "; Actual redundancy:{0}; Expected status:{1})")
-  public void constructorPopulatesValuesCorrectly(int actualRedundancy,
+  public void constructorPopulatesValuesCorrectlyWhenAllBucketsExist(int 
actualRedundancy,
   RegionRedundancyStatus.RedundancyStatus expectedStatus) {
 
when(mockRegion.getRegionAdvisor().getBucketRedundancy(anyInt())).thenReturn(actualRedundancy);
 
@@ -69,6 +69,23 @@ public class RegionRedundancyStatusImplTest {
   }
 
   @Test
+  @Parameters(method = "getActualRedundancyAndExpectedStatusAndMessage")
+  @TestCaseName("[{index}] {method} (Desired redundancy:" + desiredRedundancy
+  + "; Actual redundancy:{0}; Expected status:{1})")
+  public void constructorPopulatesValuesCorrectlyWhenNotAllBucketsExist(int 
actualRedundancy,
+  RegionRedundancyStatus.RedundancyStatus expectedStatus) {
+
when(mockRegion.getRegionAdvisor().getBucketRedundancy(anyInt())).thenReturn(-1)
+.thenReturn(actualRedundancy);
+
+RegionRedundancyStatus result = new 
SerializableRegionRedundancyStatusImpl(mockRegion);
+
+assertThat(result.getConfiguredRedundancy(), is(desiredRedundancy));
+assertThat(result.getActualRedundancy(), is(actualRedundancy));
+assertThat(result.getStatus(), is(expectedStatus));
+assertThat(result.toString(), containsString(expectedStatus.name()));
+  }
+
+  @Test
   public void 
constructorPopulatesValuesCorrectlyWhenNotAllBucketsReturnTheSameRedundancy() {
 
when(mockRegion.getRegionAdvisor().getBucketRedundancy(anyInt())).thenReturn(desiredRedundancy);
 // Have only the bucket with ID = 1 report being under redundancy
diff --git 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
index 238646d..62a8a5d 100644
--- 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
+++ 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
@@ -381,6 +381,28 @@ public class RestoreRedundancyCommandDUnitTest {
 });
   }
 
+  @Test
+  public void 

[geode] branch develop updated: GEODE-8620: Do not include non-created buckets in redundancy calculation (#5642)

2020-10-19 Thread donalevans
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/develop by this push:
 new 505eb3a  GEODE-8620: Do not include non-created buckets in redundancy 
calculation (#5642)
505eb3a is described below

commit 505eb3af1f61edd8dff9e199104c72987ef281ab
Author: Donal Evans 
AuthorDate: Mon Oct 19 15:25:14 2020 -0700

GEODE-8620: Do not include non-created buckets in redundancy calculation 
(#5642)

Authored-by: Donal Evans 
---
 .../SerializableRegionRedundancyStatusImpl.java|  4 +++-
 .../control/RegionRedundancyStatusImplTest.java| 19 ++-
 .../RestoreRedundancyCommandDUnitTest.java | 22 ++
 3 files changed, 43 insertions(+), 2 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
index 239c079..6d1877a 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/control/SerializableRegionRedundancyStatusImpl.java
@@ -56,7 +56,9 @@ public class SerializableRegionRedundancyStatusImpl extends
 int minRedundancy = Integer.MAX_VALUE;
 for (int i = 0; i < numBuckets; i++) {
   int bucketRedundancy = region.getRegionAdvisor().getBucketRedundancy(i);
-  if (bucketRedundancy < minRedundancy) {
+  // Only consider redundancy for buckets that exist. Buckets that have 
not been created yet
+  // have a redundancy value of -1
+  if (bucketRedundancy != -1 && bucketRedundancy < minRedundancy) {
 minRedundancy = bucketRedundancy;
   }
 }
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
index 39eec88..927b488 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/control/RegionRedundancyStatusImplTest.java
@@ -56,7 +56,7 @@ public class RegionRedundancyStatusImplTest {
   @Parameters(method = "getActualRedundancyAndExpectedStatusAndMessage")
   @TestCaseName("[{index}] {method} (Desired redundancy:" + desiredRedundancy
   + "; Actual redundancy:{0}; Expected status:{1})")
-  public void constructorPopulatesValuesCorrectly(int actualRedundancy,
+  public void constructorPopulatesValuesCorrectlyWhenAllBucketsExist(int 
actualRedundancy,
   RegionRedundancyStatus.RedundancyStatus expectedStatus) {
 
when(mockRegion.getRegionAdvisor().getBucketRedundancy(anyInt())).thenReturn(actualRedundancy);
 
@@ -69,6 +69,23 @@ public class RegionRedundancyStatusImplTest {
   }
 
   @Test
+  @Parameters(method = "getActualRedundancyAndExpectedStatusAndMessage")
+  @TestCaseName("[{index}] {method} (Desired redundancy:" + desiredRedundancy
+  + "; Actual redundancy:{0}; Expected status:{1})")
+  public void constructorPopulatesValuesCorrectlyWhenNotAllBucketsExist(int 
actualRedundancy,
+  RegionRedundancyStatus.RedundancyStatus expectedStatus) {
+
when(mockRegion.getRegionAdvisor().getBucketRedundancy(anyInt())).thenReturn(-1)
+.thenReturn(actualRedundancy);
+
+RegionRedundancyStatus result = new 
SerializableRegionRedundancyStatusImpl(mockRegion);
+
+assertThat(result.getConfiguredRedundancy(), is(desiredRedundancy));
+assertThat(result.getActualRedundancy(), is(actualRedundancy));
+assertThat(result.getStatus(), is(expectedStatus));
+assertThat(result.toString(), containsString(expectedStatus.name()));
+  }
+
+  @Test
   public void 
constructorPopulatesValuesCorrectlyWhenNotAllBucketsReturnTheSameRedundancy() {
 
when(mockRegion.getRegionAdvisor().getBucketRedundancy(anyInt())).thenReturn(desiredRedundancy);
 // Have only the bucket with ID = 1 report being under redundancy
diff --git 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
index 238646d..62a8a5d 100644
--- 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
+++ 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/RestoreRedundancyCommandDUnitTest.java
@@ -381,6 +381,28 @@ public class RestoreRedundancyCommandDUnitTest {
 });
   }
 
+  @Test
+  public void 

[geode-native] branch develop updated: GEODE-8593: Update geode-native examples to use builder pattern: C++ (revisions)

2020-10-19 Thread dbarnes
This is an automated email from the ASF dual-hosted git repository.

dbarnes pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git


The following commit(s) were added to refs/heads/develop by this push:
 new 29dd73b  GEODE-8593: Update geode-native examples to use builder 
pattern: C++ (revisions)
29dd73b is described below

commit 29dd73b5ce0253ccd0865aecb0986b4a42aec741
Author: Dave Barnes 
AuthorDate: Mon Oct 19 14:07:23 2020 -0700

GEODE-8593: Update geode-native examples to use builder pattern: C++ 
(revisions)
---
 ...onfiguring-pools-attributes-example.html.md.erb | 35 +++---
 .../getting-started-nc-client.html.md.erb  |  9 +++---
 2 files changed, 35 insertions(+), 9 deletions(-)

diff --git 
a/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
 
b/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
index 4696143..1509540 100644
--- 
a/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
+++ 
b/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
@@ -19,17 +19,44 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 -->
 
-Connection pools require standard client/server distributed system and cache 
configuration settings. You must also configure settings for the locator, 
server, and pool elements.
+Connection pools require a standard client/server distributed system and cache 
configuration settings. You must also configure settings for the locator, 
server, and pool elements.
 
 -   Locator. Host and port where a server locator is listening.
 -   Server. Host and port where a server is listening.
 -   Pool. Client/server connection pool.
 
-The example shows a declarative pool configuration. Following the example is a 
table that describes the attributes that can be configured.
+This page shows examples of creating a pool configuration programmatically 
using C++ code, and declaratively using XML.
 
-## Example—Declarative Pool Configuration
+## Programmatic Pool Configuration
 
-This example shows a declarative pool configuration.
+This example shows a programmatic pool configuration. For a list of the 
attributes you can configure, see `PoolFactory` in the API docs.
+
+```cpp
+cache.getPoolManager()
+  .createFactory()
+  .addLocator("localhost", 34756)
+  .setFreeConnectionTimeout(std::chrono::milliseconds(12345))
+  .setLoadConditioningInterval(std::chrono::milliseconds(23456))
+  .setMaxConnections(7)
+  .setMinConnections(3)
+  .setPingInterval(std::chrono::milliseconds(12345))
+  .setReadTimeout(std::chrono::milliseconds(23456))
+  .setRetryAttempts(3)
+  .setServerGroup("ServerGroup1")
+  .setSocketBufferSize(32768)
+  .setStatisticInterval(std::chrono::milliseconds(10123))
+  .setSubscriptionAckInterval(std::chrono::milliseconds(567))
+  .setSubscriptionEnabled(true)
+  .setSubscriptionMessageTrackingTimeout(std::chrono::milliseconds(900123))
+  .setSubscriptionRedundancy(0)
+  .setThreadLocalConnections(true)
+  .create("test_pool_1");
+```
+
+
+## Declarative Pool Configuration
+
+This example shows a declarative pool configuration. Following the example is 
a table that describes the XML pool attributes you can configure.
 
 **Note:**
 You create an instance of `PoolFactory` through `PoolManager`.
diff --git 
a/docs/geode-native-docs-cpp/getting-started/getting-started-nc-client.html.md.erb
 
b/docs/geode-native-docs-cpp/getting-started/getting-started-nc-client.html.md.erb
index 9d19505..3a6ca5d 100644
--- 
a/docs/geode-native-docs-cpp/getting-started/getting-started-nc-client.html.md.erb
+++ 
b/docs/geode-native-docs-cpp/getting-started/getting-started-nc-client.html.md.erb
@@ -34,16 +34,15 @@ and [Client/Server 
Configuration](serverman/topologies_and_comm/cs_configuration
 
 To connect to a server, your application must follow these steps:
 
-1. Instantiate a `CacheFactory`, setting characteristics of interest (for 
example, `log-level`).
-1. Create a cache and use it to instantiate a `PoolFactory`, specifying the 
hostname and port for the server locator.
-1. Create a named pool of network connections.
+1. Create a cache, setting characteristics of interest (for example, 
`log-level`).
+1. Use the cache to create a named pool of network connections, specifying the 
hostname and port for at least one server locator.
 1. Instantiate a region of the desired type (usually PROXY, sometimes 
CACHING_PROXY) and connect it by name to its counterpart on the server.
 
 Once the connection pool and the shared region are in place, your client 
application is ready to share data with the server.
 
 **Server Connection: C++ Example**
 
-Create a cache and use it to instantiate a `CacheFactory` and set its 
characteristics:
+Create a 

[geode-native] branch support/1.13 updated: GEODE-8593: Update geode-native examples to use builder pattern: C++ (revisions)

2020-10-19 Thread dbarnes
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/support/1.13 by this push:
 new 6b92114  GEODE-8593: Update geode-native examples to use builder 
pattern: C++ (revisions)
6b92114 is described below

commit 6b92114bf1d43d69ff525857f31c29d8b6ae3032
Author: Dave Barnes 
AuthorDate: Mon Oct 19 14:07:23 2020 -0700

GEODE-8593: Update geode-native examples to use builder pattern: C++ 
(revisions)
---
 .../connection-pools/client-pool-api.html.md.erb   |  5 +---
 ...onfiguring-pools-attributes-example.html.md.erb | 35 +++---
 .../getting-started-nc-client.html.md.erb  |  9 +++---
 3 files changed, 36 insertions(+), 13 deletions(-)

diff --git 
a/docs/geode-native-docs-cpp/connection-pools/client-pool-api.html.md.erb 
b/docs/geode-native-docs-cpp/connection-pools/client-pool-api.html.md.erb
index 6bb7047..72e9de3 100644
--- a/docs/geode-native-docs-cpp/connection-pools/client-pool-api.html.md.erb
+++ b/docs/geode-native-docs-cpp/connection-pools/client-pool-api.html.md.erb
@@ -21,10 +21,7 @@ limitations under the License.
 
 The native client API allows your clients to create and manage connection 
pools. The server side does not have an API.
 
-This section lists the primary native client API for pool management. For 
complete information on the classes and interfaces described here, see the API 
documentation.
-
-**Note:**
-Only C\# versions of Pool API interfaces, classes, and methods are shown 
throughout the text in this section (example: `Pool.GetQueryService()`) . The 
code examples demonstrate both C++ and C\# versions.
+The primary native client API for pool management is 
`Apache.Geode.Client.Cache`. For complete information on the classes and 
interfaces described here, see the API documentation.
 
 **Apache.Geode.Client.Cache**
 
diff --git 
a/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
 
b/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
index 4696143..1509540 100644
--- 
a/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
+++ 
b/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
@@ -19,17 +19,44 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 -->
 
-Connection pools require standard client/server distributed system and cache 
configuration settings. You must also configure settings for the locator, 
server, and pool elements.
+Connection pools require a standard client/server distributed system and cache 
configuration settings. You must also configure settings for the locator, 
server, and pool elements.
 
 -   Locator. Host and port where a server locator is listening.
 -   Server. Host and port where a server is listening.
 -   Pool. Client/server connection pool.
 
-The example shows a declarative pool configuration. Following the example is a 
table that describes the attributes that can be configured.
+This page shows examples of creating a pool configuration programmatically 
using C++ code, and declaratively using XML.
 
-## Example—Declarative Pool Configuration
+## Programmatic Pool Configuration
 
-This example shows a declarative pool configuration.
+This example shows a programmatic pool configuration. For a list of the 
attributes you can configure, see `PoolFactory` in the API docs.
+
+```cpp
+cache.getPoolManager()
+  .createFactory()
+  .addLocator("localhost", 34756)
+  .setFreeConnectionTimeout(std::chrono::milliseconds(12345))
+  .setLoadConditioningInterval(std::chrono::milliseconds(23456))
+  .setMaxConnections(7)
+  .setMinConnections(3)
+  .setPingInterval(std::chrono::milliseconds(12345))
+  .setReadTimeout(std::chrono::milliseconds(23456))
+  .setRetryAttempts(3)
+  .setServerGroup("ServerGroup1")
+  .setSocketBufferSize(32768)
+  .setStatisticInterval(std::chrono::milliseconds(10123))
+  .setSubscriptionAckInterval(std::chrono::milliseconds(567))
+  .setSubscriptionEnabled(true)
+  .setSubscriptionMessageTrackingTimeout(std::chrono::milliseconds(900123))
+  .setSubscriptionRedundancy(0)
+  .setThreadLocalConnections(true)
+  .create("test_pool_1");
+```
+
+
+## Declarative Pool Configuration
+
+This example shows a declarative pool configuration. Following the example is 
a table that describes the XML pool attributes you can configure.
 
 **Note:**
 You create an instance of `PoolFactory` through `PoolManager`.
diff --git 
a/docs/geode-native-docs-cpp/getting-started/getting-started-nc-client.html.md.erb
 
b/docs/geode-native-docs-cpp/getting-started/getting-started-nc-client.html.md.erb
index 9d19505..3a6ca5d 100644
--- 

[geode] branch develop updated (c362f77 -> 02ffbce)

2020-10-19 Thread donalevans
This is an automated email from the ASF dual-hosted git repository.

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


from c362f77  GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)
 add 02ffbce  GEODE-7864: Fix potential resource leak LGTM warnings (#5582)

No new revisions were added by this update.

Summary of changes:
 .../modules/session/installer/JarClassLoader.java  |  15 +-
 .../admin/jmx/internal/GenerateMBeanHTML.java  |   6 +-
 .../geode/cache/client/internal/AbstractOp.java|   5 +-
 .../cache/client/internal/AuthenticateUserOp.java  |   5 +-
 .../apache/geode/cache/client/internal/PutOp.java  |   5 +-
 .../apache/geode/cache/wan/EventSequenceID.java|   5 +-
 .../apache/geode/distributed/AbstractLauncher.java |   4 +-
 .../internal/deadlock/DeadlockDetector.java|  10 +-
 .../org/apache/geode/internal/DeployedJar.java |  18 +-
 .../geode/internal/InternalDataSerializer.java |  43 ++--
 .../apache/geode/internal/cache/BucketRegion.java  |   3 +-
 .../apache/geode/internal/cache/DiskInitFile.java  |  83 ---
 .../geode/internal/cache/EntryEventImpl.java   |  11 +-
 .../org/apache/geode/internal/cache/EventID.java   |  12 +-
 .../geode/internal/cache/FilterRoutingInfo.java|   4 +-
 .../apache/geode/internal/cache/LocalRegion.java   |  21 +-
 .../org/apache/geode/internal/cache/Oplog.java |   1 +
 .../internal/cache/ValueComparisonHelper.java  |   3 +-
 .../geode/internal/cache/ha/ThreadIdentifier.java  |   5 +-
 .../cache/partitioned/FetchBulkEntriesMessage.java | 259 +++--
 .../cache/partitioned/FetchEntriesMessage.java | 100 
 .../cache/partitioned/FetchKeysMessage.java|  60 ++---
 .../internal/cache/tier/sockets/AcceptorImpl.java  |  55 ++---
 .../geode/internal/cache/tier/sockets/AuthIds.java |  21 +-
 .../cache/tier/sockets/CacheClientUpdater.java |   3 +-
 .../tier/sockets/ClientProxyMembershipID.java  |  21 +-
 .../tier/sockets/ClientUpdateMessageImpl.java  |   3 +-
 .../cache/tier/sockets/MessageDispatcher.java  |   5 +-
 .../cache/tier/sockets/ServerConnection.java   |   6 +-
 .../internal/cache/tier/sockets/command/Put65.java |  18 +-
 .../internal/cache/tx/RemoteFetchKeysMessage.java  |  60 ++---
 .../geode/internal/logging/LogFileParser.java  |  14 +-
 .../geode/internal/logging/MergeLogFiles.java  |   9 +-
 .../apache/geode/internal/logging/SortLogFile.java |  24 +-
 .../apache/geode/internal/net/SocketCreator.java   |  44 ++--
 .../sequencelog/io/GemfireLogConverter.java|   5 +-
 .../geode/internal/sequencelog/io/GraphReader.java |  16 +-
 .../visualization/text/TextDisplay.java|  57 ++---
 .../statistics/platform/LinuxProcFsStatistics.java | 168 +
 .../org/apache/geode/internal/tcp/Connection.java  |  71 +++---
 .../org/apache/geode/internal/util/BlobHelper.java |  18 +-
 .../apache/geode/internal/util/PluckStacks.java|   9 +-
 .../org/apache/geode/pdx/internal/PdxString.java   |   5 +-
 .../geode/experimental/driver/SocketFactory.java   |  10 +-
 .../commands/CompactOfflineDiskStoreCommand.java   |  11 +-
 .../internal/cli/commands/DeployCommand.java   |  51 ++--
 .../internal/cli/commands/ShCommand.java   |  11 +-
 .../commands/UpgradeOfflineDiskStoreCommand.java   |  11 +-
 .../cli/commands/ValidateDiskStoreCommand.java |  11 +-
 .../internal/cli/functions/NetstatFunction.java|  44 +++-
 .../internal/cli/shell/JmxOperationInvoker.java|  12 +-
 .../management/internal/cli/util/MergeLogs.java|  15 +-
 .../geode/codeAnalysis/CompiledClassUtils.java |   7 +-
 .../org/apache/geode/pdx/NonDelegatingLoader.java  |  35 +--
 .../apache/geode/logging/internal/OSProcess.java   |  25 +-
 .../membership/gms/fd/GMSHealthMonitor.java|   5 +-
 .../membership/gms/messenger/JGroupsMessenger.java |  60 +++--
 .../redis/internal/netty/NettyRedisServer.java |   7 +-
 .../distributed/internal/tcpserver/TcpClient.java  |  50 ++--
 .../distributed/internal/tcpserver/TcpServer.java  |   7 +
 60 files changed, 860 insertions(+), 822 deletions(-)



[geode] branch develop updated (c362f77 -> 02ffbce)

2020-10-19 Thread donalevans
This is an automated email from the ASF dual-hosted git repository.

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


from c362f77  GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)
 add 02ffbce  GEODE-7864: Fix potential resource leak LGTM warnings (#5582)

No new revisions were added by this update.

Summary of changes:
 .../modules/session/installer/JarClassLoader.java  |  15 +-
 .../admin/jmx/internal/GenerateMBeanHTML.java  |   6 +-
 .../geode/cache/client/internal/AbstractOp.java|   5 +-
 .../cache/client/internal/AuthenticateUserOp.java  |   5 +-
 .../apache/geode/cache/client/internal/PutOp.java  |   5 +-
 .../apache/geode/cache/wan/EventSequenceID.java|   5 +-
 .../apache/geode/distributed/AbstractLauncher.java |   4 +-
 .../internal/deadlock/DeadlockDetector.java|  10 +-
 .../org/apache/geode/internal/DeployedJar.java |  18 +-
 .../geode/internal/InternalDataSerializer.java |  43 ++--
 .../apache/geode/internal/cache/BucketRegion.java  |   3 +-
 .../apache/geode/internal/cache/DiskInitFile.java  |  83 ---
 .../geode/internal/cache/EntryEventImpl.java   |  11 +-
 .../org/apache/geode/internal/cache/EventID.java   |  12 +-
 .../geode/internal/cache/FilterRoutingInfo.java|   4 +-
 .../apache/geode/internal/cache/LocalRegion.java   |  21 +-
 .../org/apache/geode/internal/cache/Oplog.java |   1 +
 .../internal/cache/ValueComparisonHelper.java  |   3 +-
 .../geode/internal/cache/ha/ThreadIdentifier.java  |   5 +-
 .../cache/partitioned/FetchBulkEntriesMessage.java | 259 +++--
 .../cache/partitioned/FetchEntriesMessage.java | 100 
 .../cache/partitioned/FetchKeysMessage.java|  60 ++---
 .../internal/cache/tier/sockets/AcceptorImpl.java  |  55 ++---
 .../geode/internal/cache/tier/sockets/AuthIds.java |  21 +-
 .../cache/tier/sockets/CacheClientUpdater.java |   3 +-
 .../tier/sockets/ClientProxyMembershipID.java  |  21 +-
 .../tier/sockets/ClientUpdateMessageImpl.java  |   3 +-
 .../cache/tier/sockets/MessageDispatcher.java  |   5 +-
 .../cache/tier/sockets/ServerConnection.java   |   6 +-
 .../internal/cache/tier/sockets/command/Put65.java |  18 +-
 .../internal/cache/tx/RemoteFetchKeysMessage.java  |  60 ++---
 .../geode/internal/logging/LogFileParser.java  |  14 +-
 .../geode/internal/logging/MergeLogFiles.java  |   9 +-
 .../apache/geode/internal/logging/SortLogFile.java |  24 +-
 .../apache/geode/internal/net/SocketCreator.java   |  44 ++--
 .../sequencelog/io/GemfireLogConverter.java|   5 +-
 .../geode/internal/sequencelog/io/GraphReader.java |  16 +-
 .../visualization/text/TextDisplay.java|  57 ++---
 .../statistics/platform/LinuxProcFsStatistics.java | 168 +
 .../org/apache/geode/internal/tcp/Connection.java  |  71 +++---
 .../org/apache/geode/internal/util/BlobHelper.java |  18 +-
 .../apache/geode/internal/util/PluckStacks.java|   9 +-
 .../org/apache/geode/pdx/internal/PdxString.java   |   5 +-
 .../geode/experimental/driver/SocketFactory.java   |  10 +-
 .../commands/CompactOfflineDiskStoreCommand.java   |  11 +-
 .../internal/cli/commands/DeployCommand.java   |  51 ++--
 .../internal/cli/commands/ShCommand.java   |  11 +-
 .../commands/UpgradeOfflineDiskStoreCommand.java   |  11 +-
 .../cli/commands/ValidateDiskStoreCommand.java |  11 +-
 .../internal/cli/functions/NetstatFunction.java|  44 +++-
 .../internal/cli/shell/JmxOperationInvoker.java|  12 +-
 .../management/internal/cli/util/MergeLogs.java|  15 +-
 .../geode/codeAnalysis/CompiledClassUtils.java |   7 +-
 .../org/apache/geode/pdx/NonDelegatingLoader.java  |  35 +--
 .../apache/geode/logging/internal/OSProcess.java   |  25 +-
 .../membership/gms/fd/GMSHealthMonitor.java|   5 +-
 .../membership/gms/messenger/JGroupsMessenger.java |  60 +++--
 .../redis/internal/netty/NettyRedisServer.java |   7 +-
 .../distributed/internal/tcpserver/TcpClient.java  |  50 ++--
 .../distributed/internal/tcpserver/TcpServer.java  |   7 +
 60 files changed, 860 insertions(+), 822 deletions(-)



[geode] branch develop updated (c362f77 -> 02ffbce)

2020-10-19 Thread donalevans
This is an automated email from the ASF dual-hosted git repository.

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


from c362f77  GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)
 add 02ffbce  GEODE-7864: Fix potential resource leak LGTM warnings (#5582)

No new revisions were added by this update.

Summary of changes:
 .../modules/session/installer/JarClassLoader.java  |  15 +-
 .../admin/jmx/internal/GenerateMBeanHTML.java  |   6 +-
 .../geode/cache/client/internal/AbstractOp.java|   5 +-
 .../cache/client/internal/AuthenticateUserOp.java  |   5 +-
 .../apache/geode/cache/client/internal/PutOp.java  |   5 +-
 .../apache/geode/cache/wan/EventSequenceID.java|   5 +-
 .../apache/geode/distributed/AbstractLauncher.java |   4 +-
 .../internal/deadlock/DeadlockDetector.java|  10 +-
 .../org/apache/geode/internal/DeployedJar.java |  18 +-
 .../geode/internal/InternalDataSerializer.java |  43 ++--
 .../apache/geode/internal/cache/BucketRegion.java  |   3 +-
 .../apache/geode/internal/cache/DiskInitFile.java  |  83 ---
 .../geode/internal/cache/EntryEventImpl.java   |  11 +-
 .../org/apache/geode/internal/cache/EventID.java   |  12 +-
 .../geode/internal/cache/FilterRoutingInfo.java|   4 +-
 .../apache/geode/internal/cache/LocalRegion.java   |  21 +-
 .../org/apache/geode/internal/cache/Oplog.java |   1 +
 .../internal/cache/ValueComparisonHelper.java  |   3 +-
 .../geode/internal/cache/ha/ThreadIdentifier.java  |   5 +-
 .../cache/partitioned/FetchBulkEntriesMessage.java | 259 +++--
 .../cache/partitioned/FetchEntriesMessage.java | 100 
 .../cache/partitioned/FetchKeysMessage.java|  60 ++---
 .../internal/cache/tier/sockets/AcceptorImpl.java  |  55 ++---
 .../geode/internal/cache/tier/sockets/AuthIds.java |  21 +-
 .../cache/tier/sockets/CacheClientUpdater.java |   3 +-
 .../tier/sockets/ClientProxyMembershipID.java  |  21 +-
 .../tier/sockets/ClientUpdateMessageImpl.java  |   3 +-
 .../cache/tier/sockets/MessageDispatcher.java  |   5 +-
 .../cache/tier/sockets/ServerConnection.java   |   6 +-
 .../internal/cache/tier/sockets/command/Put65.java |  18 +-
 .../internal/cache/tx/RemoteFetchKeysMessage.java  |  60 ++---
 .../geode/internal/logging/LogFileParser.java  |  14 +-
 .../geode/internal/logging/MergeLogFiles.java  |   9 +-
 .../apache/geode/internal/logging/SortLogFile.java |  24 +-
 .../apache/geode/internal/net/SocketCreator.java   |  44 ++--
 .../sequencelog/io/GemfireLogConverter.java|   5 +-
 .../geode/internal/sequencelog/io/GraphReader.java |  16 +-
 .../visualization/text/TextDisplay.java|  57 ++---
 .../statistics/platform/LinuxProcFsStatistics.java | 168 +
 .../org/apache/geode/internal/tcp/Connection.java  |  71 +++---
 .../org/apache/geode/internal/util/BlobHelper.java |  18 +-
 .../apache/geode/internal/util/PluckStacks.java|   9 +-
 .../org/apache/geode/pdx/internal/PdxString.java   |   5 +-
 .../geode/experimental/driver/SocketFactory.java   |  10 +-
 .../commands/CompactOfflineDiskStoreCommand.java   |  11 +-
 .../internal/cli/commands/DeployCommand.java   |  51 ++--
 .../internal/cli/commands/ShCommand.java   |  11 +-
 .../commands/UpgradeOfflineDiskStoreCommand.java   |  11 +-
 .../cli/commands/ValidateDiskStoreCommand.java |  11 +-
 .../internal/cli/functions/NetstatFunction.java|  44 +++-
 .../internal/cli/shell/JmxOperationInvoker.java|  12 +-
 .../management/internal/cli/util/MergeLogs.java|  15 +-
 .../geode/codeAnalysis/CompiledClassUtils.java |   7 +-
 .../org/apache/geode/pdx/NonDelegatingLoader.java  |  35 +--
 .../apache/geode/logging/internal/OSProcess.java   |  25 +-
 .../membership/gms/fd/GMSHealthMonitor.java|   5 +-
 .../membership/gms/messenger/JGroupsMessenger.java |  60 +++--
 .../redis/internal/netty/NettyRedisServer.java |   7 +-
 .../distributed/internal/tcpserver/TcpClient.java  |  50 ++--
 .../distributed/internal/tcpserver/TcpServer.java  |   7 +
 60 files changed, 860 insertions(+), 822 deletions(-)



[geode] branch develop updated (c362f77 -> 02ffbce)

2020-10-19 Thread donalevans
This is an automated email from the ASF dual-hosted git repository.

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


from c362f77  GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)
 add 02ffbce  GEODE-7864: Fix potential resource leak LGTM warnings (#5582)

No new revisions were added by this update.

Summary of changes:
 .../modules/session/installer/JarClassLoader.java  |  15 +-
 .../admin/jmx/internal/GenerateMBeanHTML.java  |   6 +-
 .../geode/cache/client/internal/AbstractOp.java|   5 +-
 .../cache/client/internal/AuthenticateUserOp.java  |   5 +-
 .../apache/geode/cache/client/internal/PutOp.java  |   5 +-
 .../apache/geode/cache/wan/EventSequenceID.java|   5 +-
 .../apache/geode/distributed/AbstractLauncher.java |   4 +-
 .../internal/deadlock/DeadlockDetector.java|  10 +-
 .../org/apache/geode/internal/DeployedJar.java |  18 +-
 .../geode/internal/InternalDataSerializer.java |  43 ++--
 .../apache/geode/internal/cache/BucketRegion.java  |   3 +-
 .../apache/geode/internal/cache/DiskInitFile.java  |  83 ---
 .../geode/internal/cache/EntryEventImpl.java   |  11 +-
 .../org/apache/geode/internal/cache/EventID.java   |  12 +-
 .../geode/internal/cache/FilterRoutingInfo.java|   4 +-
 .../apache/geode/internal/cache/LocalRegion.java   |  21 +-
 .../org/apache/geode/internal/cache/Oplog.java |   1 +
 .../internal/cache/ValueComparisonHelper.java  |   3 +-
 .../geode/internal/cache/ha/ThreadIdentifier.java  |   5 +-
 .../cache/partitioned/FetchBulkEntriesMessage.java | 259 +++--
 .../cache/partitioned/FetchEntriesMessage.java | 100 
 .../cache/partitioned/FetchKeysMessage.java|  60 ++---
 .../internal/cache/tier/sockets/AcceptorImpl.java  |  55 ++---
 .../geode/internal/cache/tier/sockets/AuthIds.java |  21 +-
 .../cache/tier/sockets/CacheClientUpdater.java |   3 +-
 .../tier/sockets/ClientProxyMembershipID.java  |  21 +-
 .../tier/sockets/ClientUpdateMessageImpl.java  |   3 +-
 .../cache/tier/sockets/MessageDispatcher.java  |   5 +-
 .../cache/tier/sockets/ServerConnection.java   |   6 +-
 .../internal/cache/tier/sockets/command/Put65.java |  18 +-
 .../internal/cache/tx/RemoteFetchKeysMessage.java  |  60 ++---
 .../geode/internal/logging/LogFileParser.java  |  14 +-
 .../geode/internal/logging/MergeLogFiles.java  |   9 +-
 .../apache/geode/internal/logging/SortLogFile.java |  24 +-
 .../apache/geode/internal/net/SocketCreator.java   |  44 ++--
 .../sequencelog/io/GemfireLogConverter.java|   5 +-
 .../geode/internal/sequencelog/io/GraphReader.java |  16 +-
 .../visualization/text/TextDisplay.java|  57 ++---
 .../statistics/platform/LinuxProcFsStatistics.java | 168 +
 .../org/apache/geode/internal/tcp/Connection.java  |  71 +++---
 .../org/apache/geode/internal/util/BlobHelper.java |  18 +-
 .../apache/geode/internal/util/PluckStacks.java|   9 +-
 .../org/apache/geode/pdx/internal/PdxString.java   |   5 +-
 .../geode/experimental/driver/SocketFactory.java   |  10 +-
 .../commands/CompactOfflineDiskStoreCommand.java   |  11 +-
 .../internal/cli/commands/DeployCommand.java   |  51 ++--
 .../internal/cli/commands/ShCommand.java   |  11 +-
 .../commands/UpgradeOfflineDiskStoreCommand.java   |  11 +-
 .../cli/commands/ValidateDiskStoreCommand.java |  11 +-
 .../internal/cli/functions/NetstatFunction.java|  44 +++-
 .../internal/cli/shell/JmxOperationInvoker.java|  12 +-
 .../management/internal/cli/util/MergeLogs.java|  15 +-
 .../geode/codeAnalysis/CompiledClassUtils.java |   7 +-
 .../org/apache/geode/pdx/NonDelegatingLoader.java  |  35 +--
 .../apache/geode/logging/internal/OSProcess.java   |  25 +-
 .../membership/gms/fd/GMSHealthMonitor.java|   5 +-
 .../membership/gms/messenger/JGroupsMessenger.java |  60 +++--
 .../redis/internal/netty/NettyRedisServer.java |   7 +-
 .../distributed/internal/tcpserver/TcpClient.java  |  50 ++--
 .../distributed/internal/tcpserver/TcpServer.java  |   7 +
 60 files changed, 860 insertions(+), 822 deletions(-)



[geode] branch develop updated (c362f77 -> 02ffbce)

2020-10-19 Thread donalevans
This is an automated email from the ASF dual-hosted git repository.

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


from c362f77  GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)
 add 02ffbce  GEODE-7864: Fix potential resource leak LGTM warnings (#5582)

No new revisions were added by this update.

Summary of changes:
 .../modules/session/installer/JarClassLoader.java  |  15 +-
 .../admin/jmx/internal/GenerateMBeanHTML.java  |   6 +-
 .../geode/cache/client/internal/AbstractOp.java|   5 +-
 .../cache/client/internal/AuthenticateUserOp.java  |   5 +-
 .../apache/geode/cache/client/internal/PutOp.java  |   5 +-
 .../apache/geode/cache/wan/EventSequenceID.java|   5 +-
 .../apache/geode/distributed/AbstractLauncher.java |   4 +-
 .../internal/deadlock/DeadlockDetector.java|  10 +-
 .../org/apache/geode/internal/DeployedJar.java |  18 +-
 .../geode/internal/InternalDataSerializer.java |  43 ++--
 .../apache/geode/internal/cache/BucketRegion.java  |   3 +-
 .../apache/geode/internal/cache/DiskInitFile.java  |  83 ---
 .../geode/internal/cache/EntryEventImpl.java   |  11 +-
 .../org/apache/geode/internal/cache/EventID.java   |  12 +-
 .../geode/internal/cache/FilterRoutingInfo.java|   4 +-
 .../apache/geode/internal/cache/LocalRegion.java   |  21 +-
 .../org/apache/geode/internal/cache/Oplog.java |   1 +
 .../internal/cache/ValueComparisonHelper.java  |   3 +-
 .../geode/internal/cache/ha/ThreadIdentifier.java  |   5 +-
 .../cache/partitioned/FetchBulkEntriesMessage.java | 259 +++--
 .../cache/partitioned/FetchEntriesMessage.java | 100 
 .../cache/partitioned/FetchKeysMessage.java|  60 ++---
 .../internal/cache/tier/sockets/AcceptorImpl.java  |  55 ++---
 .../geode/internal/cache/tier/sockets/AuthIds.java |  21 +-
 .../cache/tier/sockets/CacheClientUpdater.java |   3 +-
 .../tier/sockets/ClientProxyMembershipID.java  |  21 +-
 .../tier/sockets/ClientUpdateMessageImpl.java  |   3 +-
 .../cache/tier/sockets/MessageDispatcher.java  |   5 +-
 .../cache/tier/sockets/ServerConnection.java   |   6 +-
 .../internal/cache/tier/sockets/command/Put65.java |  18 +-
 .../internal/cache/tx/RemoteFetchKeysMessage.java  |  60 ++---
 .../geode/internal/logging/LogFileParser.java  |  14 +-
 .../geode/internal/logging/MergeLogFiles.java  |   9 +-
 .../apache/geode/internal/logging/SortLogFile.java |  24 +-
 .../apache/geode/internal/net/SocketCreator.java   |  44 ++--
 .../sequencelog/io/GemfireLogConverter.java|   5 +-
 .../geode/internal/sequencelog/io/GraphReader.java |  16 +-
 .../visualization/text/TextDisplay.java|  57 ++---
 .../statistics/platform/LinuxProcFsStatistics.java | 168 +
 .../org/apache/geode/internal/tcp/Connection.java  |  71 +++---
 .../org/apache/geode/internal/util/BlobHelper.java |  18 +-
 .../apache/geode/internal/util/PluckStacks.java|   9 +-
 .../org/apache/geode/pdx/internal/PdxString.java   |   5 +-
 .../geode/experimental/driver/SocketFactory.java   |  10 +-
 .../commands/CompactOfflineDiskStoreCommand.java   |  11 +-
 .../internal/cli/commands/DeployCommand.java   |  51 ++--
 .../internal/cli/commands/ShCommand.java   |  11 +-
 .../commands/UpgradeOfflineDiskStoreCommand.java   |  11 +-
 .../cli/commands/ValidateDiskStoreCommand.java |  11 +-
 .../internal/cli/functions/NetstatFunction.java|  44 +++-
 .../internal/cli/shell/JmxOperationInvoker.java|  12 +-
 .../management/internal/cli/util/MergeLogs.java|  15 +-
 .../geode/codeAnalysis/CompiledClassUtils.java |   7 +-
 .../org/apache/geode/pdx/NonDelegatingLoader.java  |  35 +--
 .../apache/geode/logging/internal/OSProcess.java   |  25 +-
 .../membership/gms/fd/GMSHealthMonitor.java|   5 +-
 .../membership/gms/messenger/JGroupsMessenger.java |  60 +++--
 .../redis/internal/netty/NettyRedisServer.java |   7 +-
 .../distributed/internal/tcpserver/TcpClient.java  |  50 ++--
 .../distributed/internal/tcpserver/TcpServer.java  |   7 +
 60 files changed, 860 insertions(+), 822 deletions(-)



[geode] branch develop updated: GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)

2020-10-19 Thread mivanac
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/develop by this push:
 new c362f77  GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)
c362f77 is described below

commit c362f77591fa83e5f87a056fe221d1241de87348
Author: Mario Ivanac <48509724+miva...@users.noreply.github.com>
AuthorDate: Mon Oct 19 08:02:55 2020 +0200

GEODE-8497: added getTotalQueueSizeBytesInUse (#5514)

* GEODE-8497: added getTotalQueueSizeBytesInUse

* GEODE-8497: updated UT

* GEODE-8497: fix fail statistics after restart
---
 .../geode/internal/cache/RegionMapFactory.java  |  9 -
 .../geode/management/GatewaySenderMXBean.java   |  5 +
 .../internal/beans/GatewaySenderMBean.java  |  5 +
 .../internal/beans/GatewaySenderMBeanBridge.java|  6 ++
 .../beans/stats/GatewaySenderOverflowMonitor.java   | 21 +
 .../management/internal/beans/stats/StatsKey.java   |  2 ++
 .../stats/GatewaySenderOverflowMonitorTest.java | 18 +-
 7 files changed, 64 insertions(+), 2 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionMapFactory.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionMapFactory.java
index 48e64fe..92c85fe 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionMapFactory.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionMapFactory.java
@@ -15,7 +15,7 @@
 
 package org.apache.geode.internal.cache;
 
-
+import org.apache.geode.internal.cache.eviction.EvictionController;
 
 /**
  * Used to produce instances of RegionMap
@@ -39,6 +39,13 @@ class RegionMapFactory {
// 
eviction tests to fail
   return new ProxyRegionMap(owner, attrs, internalRegionArgs);
 } else if (owner.isEntryEvictionPossible()) {
+  if (owner instanceof PartitionedRegion) {
+PartitionedRegion pr = (PartitionedRegion) owner;
+EvictionController evctrl = 
pr.getPREvictionControllerFromDiskInitialization();
+if (evctrl != null) {
+  return new VMLRURegionMap(owner, attrs, internalRegionArgs, evctrl);
+}
+  }
   return new VMLRURegionMap(owner, attrs, internalRegionArgs);
 } else {
   return new VMRegionMap(owner, attrs, internalRegionArgs);
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/GatewaySenderMXBean.java 
b/geode-core/src/main/java/org/apache/geode/management/GatewaySenderMXBean.java
index 67c1350..a889dd5 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/GatewaySenderMXBean.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/GatewaySenderMXBean.java
@@ -177,6 +177,11 @@ public interface GatewaySenderMXBean {
   int getTotalBatchesRedistributed();
 
   /**
+   * Returns the total number of bytes in heap occupied by the event queue.
+   */
+  long getTotalQueueSizeBytesInUse();
+
+  /**
* Starts this GatewaySender. Once the GatewaySender is running its 
configuration cannot be
* changed.
*
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBean.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBean.java
index a2d1251..1f422ff 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBean.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBean.java
@@ -134,6 +134,11 @@ public class GatewaySenderMBean extends 
NotificationBroadcasterSupport
   }
 
   @Override
+  public long getTotalQueueSizeBytesInUse() {
+return bridge.getTotalQueueSizeBytesInUse();
+  }
+
+  @Override
   public boolean isBatchConflationEnabled() {
 return bridge.isBatchConflationEnabled();
   }
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBeanBridge.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBeanBridge.java
index 42b4bbf..7eda2b4 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBeanBridge.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/GatewaySenderMBeanBridge.java
@@ -291,6 +291,12 @@ public class GatewaySenderMBeanBridge {
 .longValue();
   }
 
+  public long getTotalQueueSizeBytesInUse() {
+return overflowMonitor.getStatistic(StatsKey.GATEWAYSENDER_BYTES_IN_MEMORY)
+.longValue();
+  }
+
+
   private Number getStatistic(String statName) {
 if (monitor != null) {
   return monitor.getStatistic(statName);
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/stats/GatewaySenderOverflowMonitor.java