[geode] branch support/1.13 updated: GEODE-9463: Add SerializableRegionRedundancyStatusImpl to accept list (#6753)

2021-08-16 Thread eshu11
This is an automated email from the ASF dual-hosted git repository.

eshu11 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 e6ab708  GEODE-9463: Add SerializableRegionRedundancyStatusImpl to 
accept list (#6753)
e6ab708 is described below

commit e6ab70813be672c04de7ed95ca87dcfb441711e3
Author: Eric Shu 
AuthorDate: Wed Aug 11 09:03:32 2021 -0700

GEODE-9463: Add SerializableRegionRedundancyStatusImpl to accept list 
(#6753)

* SerializableRegionRedundancyStatusImpl is stored in 
RegionOperationStateStore region as
 part of OperationState used for REST client.
   * OperationState implements Serializable, which causes it to be 
serialized as a java
 Serialiable and also nested SerializableRegionRedundancyStatusImpl.
   * Ideally OperationState should implement DSFID to avoid this issue, 
however, it has been
 released already. So we will add 
SerializableRegionRedundancyStatusImpl to the accept list
 to avoid this serialization issue when validate-serializable-objects 
is set to true.

   Co-authored-by: Dan Smith 

(cherry picked from commit 7f98970afafcec6b71460344e0fd6066d7a76a92)
---
 .../rest/RestoreRedundancyManagementDUnitTest.java | 58 ++
 .../SerializableRegionRedundancyStatusImpl.java|  4 +-
 .../sanctioned-geode-core-serializables.txt|  2 +
 3 files changed, 53 insertions(+), 11 deletions(-)

diff --git 
a/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
 
b/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
index 3464fe7..45f9843 100644
--- 
a/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
+++ 
b/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
@@ -62,7 +62,7 @@ public class RestoreRedundancyManagementDUnitTest {
   @Rule
   public ClusterStartupRule cluster = new ClusterStartupRule();
 
-  private MemberVM locator;
+  private MemberVM locator1;
   private List servers;
   private static final int SERVERS_TO_START = 3;
   private static final String HIGH_REDUNDANCY_REGION_NAME = "highRedundancy";
@@ -74,24 +74,33 @@ public class RestoreRedundancyManagementDUnitTest {
   private static final String NO_CONFIGURED_REDUNDANCY_REGION_NAME = 
"noConfiguredRedundancy";
 
   private ClusterManagementService client1;
+  private ClusterManagementService client2;
 
   @Before
   public void setup() {
-locator = cluster.startLocatorVM(0, MemberStarterRule::withHttpService);
+locator1 = cluster.startLocatorVM(0, MemberStarterRule::withHttpService);
+int locator1Port = locator1.getPort();
+MemberVM locator2 = cluster.startLocatorVM(1,
+l -> l.withHttpService().withConnectionToLocator(locator1Port));
 servers = new ArrayList<>();
-int locatorPort = locator.getPort();
+int locatorPort = locator1.getPort();
 IntStream.range(0, SERVERS_TO_START)
-.forEach(i -> servers.add(cluster.startServerVM(i + 1, locatorPort)));
+.forEach(i -> servers.add(cluster.startServerVM(i + 2, locatorPort)));
 
 client1 = new ClusterManagementServiceBuilder()
 .setHost("localhost")
-.setPort(locator.getHttpPort())
+.setPort(locator1.getHttpPort())
+.build();
+client2 = new ClusterManagementServiceBuilder()
+.setHost("localhost")
+.setPort(locator2.getHttpPort())
 .build();
   }
 
   @After
   public void tearDown() {
 client1.close();
+client2.close();
   }
 
   @Test
@@ -102,14 +111,42 @@ public class RestoreRedundancyManagementDUnitTest {
 createAndPopulateRegions(regionNames);
 
 int numberOfServers = servers.size();
-regionNames.forEach(region -> locator
+regionNames.forEach(region -> locator1
+.waitUntilRegionIsReadyOnExactlyThisManyServers(SEPARATOR + region, 
numberOfServers));
+
+RestoreRedundancyRequest restoreRedundancyRequest = new 
RestoreRedundancyRequest();
+
+restoreRedundancyRequest.setIncludeRegions(regionNames);
+
+
verifyClusterManagementOperationRequestAndResponse(restoreRedundancyRequest, 
client1, client1);
+
+// Confirm all regions have their configured redundancy and that primaries 
were balanced
+int numberOfActiveServers = servers.size();
+servers.get(0).invoke(() -> {
+  for (String regionName : regionNames) {
+assertRedundancyStatusForRegion(regionName, true);
+assertPrimariesBalanced(regionName, numberOfActiveServers, true);
+  }
+});
+  }
+
+  @Test
+  public void canReadRestoreRedundancyResultFromDifferentLocator()
+  throws ExecutionException, InterruptedException {
+
+   

[geode] branch support/1.14 updated: add 1.13.4 to old versions and set as Benchmarks baseline on support/1.14

2021-08-16 Thread nnag
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/support/1.14 by this push:
 new 43a1a01  add 1.13.4 to old versions and set as Benchmarks baseline on 
support/1.14
43a1a01 is described below

commit 43a1a014ed9f498a824942c77eb4f7b345c2b708
Author: Dick Cavender <1934150+dick...@users.noreply.github.com>
AuthorDate: Fri Jul 30 15:07:08 2021 -0700

add 1.13.4 to old versions and set as Benchmarks baseline on support/1.14

(cherry picked from commit 138d5b8969a70bde07ad729461f1d914aa0b14f8)
---
 ci/pipelines/shared/jinja.variables.yml | 2 +-
 settings.gradle | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/ci/pipelines/shared/jinja.variables.yml 
b/ci/pipelines/shared/jinja.variables.yml
index 5e5350c..3e33ba4 100644
--- a/ci/pipelines/shared/jinja.variables.yml
+++ b/ci/pipelines/shared/jinja.variables.yml
@@ -17,7 +17,7 @@
 
 benchmarks:
   baseline_branch: ''
-  baseline_version: '1.13.3'
+  baseline_version: '1.13.4'
   benchmark_branch: ((geode-build-branch))
   flavors:
   - title: 'base'
diff --git a/settings.gradle b/settings.gradle
index d4934a4..8f1b655 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -94,7 +94,8 @@ include 'static-analysis:pmd-rules'
  '1.13.0',
  '1.13.1',
  '1.13.2',
- '1.13.3'].each {
+ '1.13.3',
+ '1.13.4'].each {
   include 'geode-old-versions:'.concat(it)
 }
 


[geode] branch support/1.14 updated: GEODE-9463: Add SerializableRegionRedundancyStatusImpl to accept list (#6753)

2021-08-16 Thread nnag
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/support/1.14 by this push:
 new e6377b0  GEODE-9463: Add SerializableRegionRedundancyStatusImpl to 
accept list (#6753)
e6377b0 is described below

commit e6377b09196a9f7347d3440dd66abe0bec3e4244
Author: Eric Shu 
AuthorDate: Wed Aug 11 09:03:32 2021 -0700

GEODE-9463: Add SerializableRegionRedundancyStatusImpl to accept list 
(#6753)

* SerializableRegionRedundancyStatusImpl is stored in 
RegionOperationStateStore region as
 part of OperationState used for REST client.
   * OperationState implements Serializable, which causes it to be 
serialized as a java
 Serialiable and also nested SerializableRegionRedundancyStatusImpl.
   * Ideally OperationState should implement DSFID to avoid this issue, 
however, it has been
 released already. So we will add 
SerializableRegionRedundancyStatusImpl to the accept list
 to avoid this serialization issue when validate-serializable-objects 
is set to true.

   Co-authored-by: Dan Smith 

(cherry picked from commit 7f98970afafcec6b71460344e0fd6066d7a76a92)
---
 .../rest/RestoreRedundancyManagementDUnitTest.java | 58 ++
 .../SerializableRegionRedundancyStatusImpl.java|  4 +-
 .../sanctioned-geode-core-serializables.txt|  2 +
 3 files changed, 53 insertions(+), 11 deletions(-)

diff --git 
a/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
 
b/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
index 76b2a42..d58124a 100644
--- 
a/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
+++ 
b/geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RestoreRedundancyManagementDUnitTest.java
@@ -58,7 +58,7 @@ public class RestoreRedundancyManagementDUnitTest {
   @Rule
   public ClusterStartupRule cluster = new ClusterStartupRule();
 
-  private MemberVM locator;
+  private MemberVM locator1;
   private List servers;
   private static final int SERVERS_TO_START = 3;
   private static final String HIGH_REDUNDANCY_REGION_NAME = "highRedundancy";
@@ -70,24 +70,33 @@ public class RestoreRedundancyManagementDUnitTest {
   private static final String NO_CONFIGURED_REDUNDANCY_REGION_NAME = 
"noConfiguredRedundancy";
 
   private ClusterManagementService client1;
+  private ClusterManagementService client2;
 
   @Before
   public void setup() {
-locator = cluster.startLocatorVM(0, MemberStarterRule::withHttpService);
+locator1 = cluster.startLocatorVM(0, MemberStarterRule::withHttpService);
+int locator1Port = locator1.getPort();
+MemberVM locator2 = cluster.startLocatorVM(1,
+l -> l.withHttpService().withConnectionToLocator(locator1Port));
 servers = new ArrayList<>();
-int locatorPort = locator.getPort();
+int locatorPort = locator1.getPort();
 IntStream.range(0, SERVERS_TO_START)
-.forEach(i -> servers.add(cluster.startServerVM(i + 1, locatorPort)));
+.forEach(i -> servers.add(cluster.startServerVM(i + 2, locatorPort)));
 
 client1 = new ClusterManagementServiceBuilder()
 .setHost("localhost")
-.setPort(locator.getHttpPort())
+.setPort(locator1.getHttpPort())
+.build();
+client2 = new ClusterManagementServiceBuilder()
+.setHost("localhost")
+.setPort(locator2.getHttpPort())
 .build();
   }
 
   @After
   public void tearDown() {
 client1.close();
+client2.close();
   }
 
   @Test
@@ -98,14 +107,42 @@ public class RestoreRedundancyManagementDUnitTest {
 createAndPopulateRegions(regionNames);
 
 int numberOfServers = servers.size();
-regionNames.forEach(region -> locator
+regionNames.forEach(region -> locator1
+.waitUntilRegionIsReadyOnExactlyThisManyServers(SEPARATOR + region, 
numberOfServers));
+
+RestoreRedundancyRequest restoreRedundancyRequest = new 
RestoreRedundancyRequest();
+
+restoreRedundancyRequest.setIncludeRegions(regionNames);
+
+
verifyClusterManagementOperationRequestAndResponse(restoreRedundancyRequest, 
client1, client1);
+
+// Confirm all regions have their configured redundancy and that primaries 
were balanced
+int numberOfActiveServers = servers.size();
+servers.get(0).invoke(() -> {
+  for (String regionName : regionNames) {
+assertRedundancyStatusForRegion(regionName, true);
+assertPrimariesBalanced(regionName, numberOfActiveServers, true);
+  }
+});
+  }
+
+  @Test
+  public void canReadRestoreRedundancyResultFromDifferentLocator()
+  throws ExecutionException, InterruptedException {
+
+

[geode-native] branch develop updated: GEODE-9501: Works with toolset Microsoft v142 (#841)

2021-08-16 Thread mmartell
This is an automated email from the ASF dual-hosted git repository.

mmartell 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 95c6b5e  GEODE-9501: Works with toolset Microsoft v142 (#841)
95c6b5e is described below

commit 95c6b5ee53f9c8b7525fd34885cd9f3284d579d4
Author: Michael Martell 
AuthorDate: Mon Aug 16 11:06:32 2021 -0700

GEODE-9501: Works with toolset Microsoft v142 (#841)

* Use default WindowsSDK for ACE
* Cleaner Windows tools configuration
---
 ci/base/base.yml| 4 ++--
 dependencies/ACE/CMakeLists.txt | 2 --
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/ci/base/base.yml b/ci/base/base.yml
index 60ba0d5..c44a101 100644
--- a/ci/base/base.yml
+++ b/ci/base/base.yml
@@ -61,7 +61,7 @@ builds:
 with_dot_net: #@ True
 #@yaml/map-key-override
 params:
-  CMAKE_CONFIGURE_FLAGS: "-A x64 -Tv141,version=14.16,host=x64 
-DCMAKE_SYSTEM_VERSION=10.0.16299.0"
+  CMAKE_CONFIGURE_FLAGS: ""
   CMAKE_BUILD_FLAGS: "/m"
   CPACK_GENERATORS: "ZIP"
 
@@ -72,7 +72,7 @@ builds:
 with_dot_net: #@ True
 #@yaml/map-key-override
 params:
-  CMAKE_CONFIGURE_FLAGS: "-A x64 -Tv141,version=14.16,host=x64 
-DCMAKE_SYSTEM_VERSION=10.0.16299.0"
+  CMAKE_CONFIGURE_FLAGS: ""
   CMAKE_BUILD_FLAGS: "/m"
   CPACK_GENERATORS: "ZIP"
 
diff --git a/dependencies/ACE/CMakeLists.txt b/dependencies/ACE/CMakeLists.txt
index dd546e3..9298ce2 100644
--- a/dependencies/ACE/CMakeLists.txt
+++ b/dependencies/ACE/CMakeLists.txt
@@ -79,7 +79,6 @@ if (${WIN32})
   set ( _CONFIGURE_COMMAND ${MPC} -static ${MPC_FLAGS}
-name_modifier "*_${MPC_TYPE}_static"
-value_template MultiProcessorCompilation=true
-   -value_template 
WindowsTargetPlatformVersion=${CMAKE_SYSTEM_VERSION}
-value_template staticflags+=__ACE_INLINE__
-value_template staticflags+=ACE_BUILD_DLL
-value_template staticflags+=ACE_AS_STATIC_LIBS
@@ -89,7 +88,6 @@ if (${WIN32})
   )
   set ( _INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory /lib 
/lib
  COMMAND ${CMAKE_COMMAND} -E copy_directory /ace 
/include/ace
- COMMAND ${CMAKE_COMMAND} -E copy 
/ace/Static_$<$:Debug>$<$>:Release>/ace_${MPC_TYPE}_static/AMD64/ACE_${MPC_TYPE}_static.pdb
 /lib
   )
 
   set(CMAKE_STATIC_LIBRARY_SUFFIX s$<${MSVC}:$<$:d>>.lib)


[geode-native] branch develop updated: GEODE-9356: Adding NetCore and testing to the CI. (#839)

2021-08-16 Thread mreddington
This is an automated email from the ASF dual-hosted git repository.

mreddington 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 53941d0  GEODE-9356: Adding NetCore and testing to the CI. (#839)
53941d0 is described below

commit 53941d0e3e9091680bd9f24c20c9e53a9e66a1df
Author: Matthew Reddington 
AuthorDate: Mon Aug 16 12:48:39 2021 -0500

GEODE-9356: Adding NetCore and testing to the CI. (#839)

* GEODE-9365: Building netcore as part of ALL.

* GEODE-9356: Added missing newline.

* GEODE-9356: Finding the dotnet program and added a compile option.

* GEODE-9356: Adding .Net 5 to Windows builds.

* GEODE-9356: Changed .Net SDK to 3.1, installing NetCore dll.

* GEODE-9356: Code review changes.

* GEODE-9356: Installing .Net toolchain to Linux platforms.

* GEODE-9356: Changed a variable name.

* GEODE-9356: Moved .NET install to its own script.

* GEODE-9356: Added netcore unit tests.

* GEODE-9356: Added missing endif.

* GEODE-9356: Shooting in the dark because... YAML...

* GEODE-9356: .Net tasks can fail the pipeline.

* GEODE-9356: Code review changes.
---
 CMakeLists.txt |  1 +
 ci/lib/templates.lib.txt   |  6 ++
 ci/lib/templates.lib.yml   |  2 ++
 netcore/CMakeLists.txt | 27 +++
 packer/build-rhel-7.json   |  3 ++-
 packer/build-rhel-8.json   |  3 ++-
 packer/build-ubuntu-16-04.json |  3 ++-
 packer/build-ubuntu-18-04.json |  3 ++-
 packer/build-ubuntu-20-04.json |  3 ++-
 packer/build-windows-2016-vs-2017.json |  3 ++-
 packer/build-windows-2019-vs-2017.json |  3 ++-
 packer/build-windows-2019-vs-2019.json |  3 ++-
 packer/linux/install-dotnet.sh | 26 ++
 13 files changed, 78 insertions(+), 8 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8faaaf6..e05f2e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -381,6 +381,7 @@ if (${BUILD_CLI})
 endif()
 add_subdirectory(tests)
 add_subdirectory(c_bindings)
+add_subdirectory(netcore)
 
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/xsds/ DESTINATION xsds)
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/defaultSystem/ DESTINATION 
defaultSystem)
diff --git a/ci/lib/templates.lib.txt b/ci/lib/templates.lib.txt
index 4916aa5..98ee197 100644
--- a/ci/lib/templates.lib.txt
+++ b/ci/lib/templates.lib.txt
@@ -78,6 +78,12 @@ set -ueo pipefail
 remote_shell cmake -E chdir (@= path @) ctest -C ${CMAKE_CONFIG} -j(@= 
str(parallel) @) --timeout=(@= str(timeout) @) --output-on-failure --repeat 
until-pass:4 --schedule-random
 (@- end @)
 
+(@ def dotnet_bash_task(path): -@)
+set -ueo pipefail
+(@= remote_functions() @)
+remote_shell chdir (@= path @) && dotnet test
+(@- end @)
+
 (@ def clang_tidy_bash_task(): -@)
 set -ueo pipefail
 export GEODE_HOME=$(pwd)/geode
diff --git a/ci/lib/templates.lib.yml b/ci/lib/templates.lib.yml
index f372806..21653ab 100644
--- a/ci/lib/templates.lib.yml
+++ b/ci/lib/templates.lib.yml
@@ -36,6 +36,7 @@
 #@  "upload_source_bash_task",
 #@  "upload_geode_bash_task",
 #@  "extract_geode_bash_task",
+#@  "dotnet_bash_task",
 #@ )
 
 #@ load("@ytt:overlay", "overlay")
@@ -221,6 +222,7 @@ plan:
 - #@ remote_task("net-integration-tests", config.config, 
ctest_bash_task("build/clicache/integration-test2"), "1h", build.params)
 - #@ remote_task("net-legacy-integration-tests", config.config, 
ctest_bash_task("build/clicache/integration-test", timeout=500, parallel=4), 
"2h", build.params)
 #@ end
+- #@ remote_task("netcore-tests", config.config, 
dotnet_bash_task("netcore/Netcore.Test"), "10m", build.params)
 on_failure:
   in_parallel:
 steps:
diff --git a/netcore/CMakeLists.txt b/netcore/CMakeLists.txt
new file mode 100644
index 000..544c47b
--- /dev/null
+++ b/netcore/CMakeLists.txt
@@ -0,0 +1,27 @@
+# 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.
+
+project(netcore LANGUAGES NONE)
+
+option(INCLUDE_DOTNET_CORE "Build 

[geode] branch develop updated: GEODE-9493: rework sizing of RedisString, RedisHash, RedisSet, and RedisSortedSet (#6727)

2021-08-16 Thread dschneider
This is an automated email from the ASF dual-hosted git repository.

dschneider 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 1210cbc  GEODE-9493: rework sizing of RedisString, RedisHash, 
RedisSet, and RedisSortedSet (#6727)
1210cbc is described below

commit 1210cbc48c80df9d4f87a94cd417e424b85cbccf
Author: Darrel Schneider 
AuthorDate: Mon Aug 16 09:09:42 2021 -0700

GEODE-9493: rework sizing of RedisString, RedisHash, RedisSet, and 
RedisSortedSet (#6727)

Removed SizeableObjectSizer and made the Sizeable redis classes abstract.
They now require subclasses that implement sizeKey, sizeValue, or 
sizeElement.

Instead of having hard coded constants stating what the size of a redis 
base class is,
the code now uses JvmSizeUtils.memoryOverhead(Class) to statically compute 
the class size overhead.
This allows the size to be correct for different jvm configs.

Also simplified the sizing logic to use int and if needed use casts instead 
of narrow.
Narrow was more expensive and would still cause problems as the size goes 
back down toward zero.

The sizing of OrderStatisticsTree was simplified some more since it did not 
need an extra int field
since we do not keep track of its element sizes.

Also the size of the hashing strategy object is no longer accounted for 
since it is a singleton.

OrderStatisticsTree has been simplified to not size the elements it 
contains.
It is currently only used by RedisSortedSet and it does not need the element
size to be computed (it already is done in the hash map it also uses).
If in the future we need to also size
the elements of an OrderStatisticsTree we can figure out the best
way to do that then in that new context.
---
 .../hash/MemoryOverheadIntegrationTest.java|   2 +-
 .../apache/geode/codeAnalysis/excludedClasses.txt  |   3 +
 .../codeAnalysis/sanctionedDataSerializables.txt   |   6 +-
 ...orBenchmark.java => RedisHashMapBenchmark.java} |  10 +-
 .../internal/collections/OrderStatisticsTree.java  |  39 ++---
 ...leObject2ObjectOpenCustomHashMapWithCursor.java |  45 +++---
 .../SizeableObjectOpenCustomHashSet.java   |  36 ++---
 .../geode/redis/internal/data/RedisHash.java   |  47 --
 .../apache/geode/redis/internal/data/RedisSet.java |  39 +++--
 .../geode/redis/internal/data/RedisSortedSet.java  |  94 ++-
 .../geode/redis/internal/data/RedisString.java |  15 +-
 .../redis/internal/data/SizeableObjectSizer.java   |  38 -
 .../collections/OrderStatisticsTreeTest.java   |  45 --
 .../OrderedStatisticTreeQuickCheckTest.java|   1 +
 ...tOpenCustomHashMapWithCursorQuickCheckTest.java |  24 ++-
 ...ject2ObjectOpenCustomHashMapWithCursorTest.java | 175 -
 .../SizeableObjectOpenCustomHashSetTest.java   | 123 +--
 .../geode/redis/internal/data/RedisHashTest.java   |  24 +--
 .../geode/redis/internal/data/RedisSetTest.java|  41 ++---
 .../redis/internal/data/RedisSortedSetTest.java|  48 +++---
 .../geode/redis/internal/data/RedisStringTest.java |  37 ++---
 .../cache30/MemLRUEvictionControllerDUnitTest.java |  18 ++-
 .../eviction/EvictionObjectSizerDUnitTest.java |  12 +-
 .../org/apache/geode/internal/JvmSizeUtils.java|  57 +++
 .../internal/size/ReflectionSingleObjectSizer.java |  13 +-
 .../geode/internal/size/WellKnownClassSizer.java   |   8 +-
 26 files changed, 447 insertions(+), 553 deletions(-)

diff --git 
a/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/hash/MemoryOverheadIntegrationTest.java
 
b/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/hash/MemoryOverheadIntegrationTest.java
index b096671..97750f3 100755
--- 
a/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/hash/MemoryOverheadIntegrationTest.java
+++ 
b/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/hash/MemoryOverheadIntegrationTest.java
@@ -58,7 +58,7 @@ public class MemoryOverheadIntegrationTest extends 
AbstractMemoryOverheadIntegra
 result.put(Measurement.SET_ENTRY, 25);
 result.put(Measurement.HASH, 339);
 result.put(Measurement.HASH_ENTRY, 50);
-result.put(Measurement.SORTED_SET, 455);
+result.put(Measurement.SORTED_SET, 435);
 result.put(Measurement.SORTED_SET_ENTRY, 126);
 
 return result;
diff --git 
a/geode-apis-compatible-with-redis/src/integrationTest/resources/org/apache/geode/codeAnalysis/excludedClasses.txt
 
b/geode-apis-compatible-with-redis/src/integrationTest/resources/org/apache/geode/codeAnalysis/excludedClasses.txt
index 850671e..272f2dc 100644
---