[geode] branch feature/GEODE-9522 updated (148b682 -> c0b505f)

2021-09-22 Thread zhouxj
This is an automated email from the ASF dual-hosted git repository.

zhouxj pushed a change to branch feature/GEODE-9522
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 148b682  fix a test case
 add c0b505f  add junit tests

No new revisions were added by this update.

Summary of changes:
 .../internal/ClusterDistributionManagerTest.java   | 11 +
 .../membership/gms/GMSMembershipJUnitTest.java | 56 +-
 .../internal/membership/gms/GMSMembership.java |  6 +--
 3 files changed, 68 insertions(+), 5 deletions(-)


[geode-native] 02/03: WIP: Test generic Put/Get

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

mmartell pushed a commit to branch wip-bytearray-for-values
in repository https://gitbox.apache.org/repos/asf/geode-native.git

commit 5cd4b7151894e5e99ce0a840fb8d41c421c87da1
Author: Mike Martell 
AuthorDate: Wed Sep 22 08:40:06 2021 -0700

WIP: Test generic Put/Get
---
 netcore/NetCore.Test/RegionFactoryTest.cs |  7 +++
 netcore/NetCore/RegionFactory.cs  | 12 
 2 files changed, 19 insertions(+)

diff --git a/netcore/NetCore.Test/RegionFactoryTest.cs 
b/netcore/NetCore.Test/RegionFactoryTest.cs
index 970109f..4076349 100644
--- a/netcore/NetCore.Test/RegionFactoryTest.cs
+++ b/netcore/NetCore.Test/RegionFactoryTest.cs
@@ -38,6 +38,7 @@ namespace Apache.Geode.Client {
   public class RegionFactoryTest {
 private const string Username1 = "rtimmons";
 private const string Username2 = "scharles";
+private const string Username3 = "michael";
 
 private void createPool(IGeodeCache cache, int port) {
   using var poolManager = cache.PoolManager;
@@ -53,11 +54,15 @@ namespace Apache.Geode.Client {
   region.PutString(Username1, fullname1);
   region.PutString(Username2, fullname2);
 
+  region.Put(Username3,779);
+  var value3 = region.Get(Username3);
+
   var user1 = region.GetString(Username1);
   var user2 = region.GetString(Username2);
 
   Assert.Equal(user1, fullname1);
   Assert.Equal(user2, fullname2);
+  Assert.Equal(779, value3);
 }
 
 private void DoRemoves(Region region) {
@@ -75,6 +80,8 @@ namespace Apache.Geode.Client {
RegionShortcut regionType) {
   using var regionFactory = cache.CreateRegionFactory(regionType);
   using var region = regionFactory.CreateRegion(regionName);
+  //using var region = regionFactory.CreateGenericRegion(regionName);
+  //Region region = regionFactory.CreateRegion(regionName);
 
   doPutsAndGets(region);
   DoRemoves(region);
diff --git a/netcore/NetCore/RegionFactory.cs b/netcore/NetCore/RegionFactory.cs
index 0cf2fd9..e17b118 100644
--- a/netcore/NetCore/RegionFactory.cs
+++ b/netcore/NetCore/RegionFactory.cs
@@ -39,4 +39,16 @@ namespace Apache.Geode.Client {
   _containedObject = IntPtr.Zero;
 }
   }
+
+  //public class RegionFactory {
+  //  RegionFactory regionFactory_;
+  //  public RegionFactory(IntPtr cache, RegionShortcut regionType)
+  //  {
+  //regionFactory_ = new RegionFactory(cache, regionType);
+  //  }
+  //  public Region CreateRegion(string regionName)
+  //  {
+  //return new regionFactory_.CreateRegion(regionName);
+  //  }
+  //}
 }


[geode-native] branch wip-bytearray-for-values created (now 198ac47)

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

mmartell pushed a change to branch wip-bytearray-for-values
in repository https://gitbox.apache.org/repos/asf/geode-native.git.


  at 198ac47  Support for 32-bit keys/values - includes signed and unsigned

This branch includes the following new commits:

 new c9bb910  WIP: Generic Put/Get
 new 5cd4b71  WIP: Test generic Put/Get
 new 198ac47  Support for 32-bit keys/values - includes signed and unsigned

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[geode-native] 03/03: Support for 32-bit keys/values - includes signed and unsigned

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

mmartell pushed a commit to branch wip-bytearray-for-values
in repository https://gitbox.apache.org/repos/asf/geode-native.git

commit 198ac47d176d70bab097aee984d264d62f17a224
Author: Mike Martell 
AuthorDate: Wed Sep 22 21:38:46 2021 -0700

Support for 32-bit keys/values
- includes signed and unsigned
---
 c-bindings/include/geode/region.h |  7 
 c-bindings/src/region.cpp | 42 +++
 c-bindings/src/region.hpp |  4 ++
 netcore/NetCore.Test/RegionFactoryTest.cs |  8 
 netcore/NetCore/Region.cs | 67 +--
 5 files changed, 125 insertions(+), 3 deletions(-)

diff --git a/c-bindings/include/geode/region.h 
b/c-bindings/include/geode/region.h
index 7355d04..6c99232 100644
--- a/c-bindings/include/geode/region.h
+++ b/c-bindings/include/geode/region.h
@@ -42,12 +42,19 @@ APACHE_GEODE_C_EXPORT void apache_geode_Region_PutString(
 APACHE_GEODE_C_EXPORT void apache_geode_Region_PutByteArray(
 apache_geode_region_t* region, const char* key, const char* value, size_t 
size);
 
+APACHE_GEODE_C_EXPORT void apache_geode_Region_PutByteArrayForInt32Key(
+apache_geode_region_t* region, int32_t key, const char* value,
+size_t size);
+
 APACHE_GEODE_C_EXPORT const char* apache_geode_Region_GetString(
 apache_geode_region_t* region, const char* key);
 
 APACHE_GEODE_C_EXPORT void apache_geode_Region_GetByteArray(
 apache_geode_region_t* region, const char* key, char** value, size_t* 
size);
 
+APACHE_GEODE_C_EXPORT void apache_geode_Region_GetByteArrayForInt32Key(
+apache_geode_region_t* region, const int32_t key, char** value, size_t* 
size);
+
 APACHE_GEODE_C_EXPORT void apache_geode_Region_Remove(
 apache_geode_region_t* region, const char* key);
 
diff --git a/c-bindings/src/region.cpp b/c-bindings/src/region.cpp
index 500506b..707ed4f 100644
--- a/c-bindings/src/region.cpp
+++ b/c-bindings/src/region.cpp
@@ -55,6 +55,12 @@ void RegionWrapper::PutByteArray(const std::string& key, 
const char* value,
   region_->put(key, apache::geode::client::CacheableBytes::create(val));
 }
 
+void RegionWrapper::PutByteArray(const int32_t key, const char* value,
+ size_t size) {
+  std::vector val(value, value + size);
+  region_->put(key, apache::geode::client::CacheableBytes::create(val));
+}
+
 const char* RegionWrapper::GetString(const std::string& key) {
   auto value = region_->get(key);
   lastValue_ =
@@ -84,6 +90,27 @@ void RegionWrapper::GetByteArray(const std::string& key, 
char** value,
   }
 }
 
+void RegionWrapper::GetByteArray(const int32_t key, char** value,
+ size_t* size) {
+  std::shared_ptr val = region_->get(key);
+
+  if (val.get() == nullptr) return;
+
+  auto bytes =
+  std::dynamic_pointer_cast(val);
+  int valSize = val->objectSize();
+#if defined(_WIN32)
+  int8_t* byteArray = static_cast(CoTaskMemAlloc(valSize));
+#else
+  int8_t* byteArray = static_cast(malloc(valSize));
+#endif
+  if (bytes) {
+memcpy(byteArray, bytes->value().data(), valSize);
+*value = reinterpret_cast(byteArray);
+*size = valSize;
+  }
+}
+
 void RegionWrapper::Remove(const std::string& key) { region_->remove(key); }
 
 bool RegionWrapper::ContainsValueForKey(const std::string& key) {
@@ -108,6 +135,14 @@ void 
apache_geode_Region_PutByteArray(apache_geode_region_t* region,
   regionWrapper->PutByteArray(key, value, size);
 }
 
+void apache_geode_Region_PutByteArrayForInt32Key(apache_geode_region_t* region,
+ const int32_t key,
+ const char* value,
+ size_t size) {
+  RegionWrapper* regionWrapper = reinterpret_cast(region);
+  regionWrapper->PutByteArray(key, value, size);
+}
+
 const char* apache_geode_Region_GetString(apache_geode_region_t* region,
   const char* key) {
   RegionWrapper* regionWrapper = reinterpret_cast(region);
@@ -121,6 +156,13 @@ void 
apache_geode_Region_GetByteArray(apache_geode_region_t* region,
   return regionWrapper->GetByteArray(key, value, size);
 }
 
+void apache_geode_Region_GetByteArrayForInt32Key(apache_geode_region_t* region,
+ const int32_t key,
+ char** value, size_t* size) {
+  RegionWrapper* regionWrapper = reinterpret_cast(region);
+  return regionWrapper->GetByteArray(key, value, size);
+}
+
 void apache_geode_Region_Remove(apache_geode_region_t* region,
 const char* key) {
   RegionWrapper* regionWrapper = reinterpret_cast(region);
diff --git a/c-bindings/src/region.hpp b/c-bindings/src/region.hpp
index 603a2c7..b2e1392 100644
--- a/c-bindings/src/region.hpp
+++ b/c-bindings/src/region.hpp
@@ -37,10 +37,14 

[geode-native] 01/03: WIP: Generic Put/Get

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

mmartell pushed a commit to branch wip-bytearray-for-values
in repository https://gitbox.apache.org/repos/asf/geode-native.git

commit c9bb9106b42ab39b510b26be937c099f7b5d7949
Author: Mike Martell 
AuthorDate: Wed Sep 22 08:34:52 2021 -0700

WIP: Generic Put/Get
---
 netcore/NetCore/Region.cs | 70 +++
 1 file changed, 70 insertions(+)

diff --git a/netcore/NetCore/Region.cs b/netcore/NetCore/Region.cs
index 68d49a5..7b6e400 100644
--- a/netcore/NetCore/Region.cs
+++ b/netcore/NetCore/Region.cs
@@ -71,6 +71,43 @@ namespace Apache.Geode.Client {
   Marshal.FreeCoTaskMem(valuePtr);
 }
 
+public void Put(TKey key, TValue value)
+{
+  // This is a generic, so can't do any marshaling directly.
+  if (key.GetType() == typeof(string))
+  {
+var type = value.GetType();
+if (!type.IsSerializable)
+  throw new Exception("Error: Object is not Serializable.");
+//using (var _fs = new System.IO.MemoryStream())
+//{
+//  var _formatter = new BinaryFormatter();
+//  _formatter.Serialize(_fs, value);
+//  PutByteArray(key.ToString(), _fs.ToArray());
+//}
+if (value.GetType() == typeof(int)) {
+  //PutByteArray(key.ToString(), 
BitConverter.GetBytes(Convert.ToInt32(value)));
+  var byteArray = new byte[4];
+  Array.Copy(BitConverter.GetBytes(Convert.ToInt32(value)), byteArray, 
4);
+  PutByteArray(key.ToString(), byteArray);
+}
+
+  }
+  else {
+throw new NotImplementedException();
+  }
+}
+
+public int Get(TKey key)
+{
+  // This is a generic, so can't do any marshaling directly.
+  //if (key.GetType() == typeof(string))
+  {
+var value = GetByteArray(key.ToString());
+return BitConverter.ToInt32(value);
+  }
+}
+
 public string GetString(string key) {
   var keyPtr = Marshal.StringToCoTaskMemUTF8(key);
   var result =
@@ -111,4 +148,37 @@ namespace Apache.Geode.Client {
   _containedObject = IntPtr.Zero;
 }
   }
+
+  //  public class GenericRegion : Region
+  //  {
+  //// private Region regionBase_;
+  //internal GenericRegion(IntPtr regionFactory, string regionName) 
{}
+  //  //{
+  //  //  //regionBase_ = new Region(regionFactory, regionName);
+  //  //  var regionNamePtr = Marshal.StringToCoTaskMemUTF8(regionName);
+  //  //_containedObject = 
apache_geode_RegionFactory_CreateRegion(regionFactory, regionNamePtr);
+  //  //Marshal.FreeCoTaskMem(regionNamePtr);
+  //  //}
+
+  //}
+
+  public class Region
+  {
+Region region_;
+internal Region(RegionFactory regionFactory, string regionName)
+{
+  region_ = regionFactory.CreateRegion(regionName);
+}
+
+public TVal Get(TKey key)
+{
+  // This is a generic, so can't do any marshaling directly.
+  //if (key.GetType() == typeof(string))
+  {
+var value = region_.GetByteArray(key.ToString());
+return (TVal)Convert.ChangeType(value, typeof(TVal));
+//return BitConverter.ToInt32(value);
+  }
+}
+  }
 }


[geode] branch support/1.14 updated: GEODE-9619: [documentation] Align contents section in README (#6888)

2021-09-22 Thread dbarnes
This is an automated email from the ASF dual-hosted git repository.

dbarnes 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 e4841e1  GEODE-9619: [documentation] Align contents section in README 
(#6888)
e4841e1 is described below

commit e4841e162fa2b2ec7da726e51ab8f63f429e2ff8
Author: Kaustubh Maske Patil 
AuthorDate: Wed Sep 22 22:59:16 2021 +0530

GEODE-9619: [documentation] Align contents section in README (#6888)

* Align contents in README
* Fixed typo in "How to Contribute"

Co-authored-by: Dan Smith 
---
 README.md | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/README.md b/README.md
index 3582dd5..43ccdd9 100644
--- a/README.md
+++ b/README.md
@@ -4,15 +4,15 @@
 
 ## Contents
 1. [Overview](#overview)
-2. [How to Get Apache Geode](#obtaining)
-3. [Main Concepts and Components](#concepts)
-4. [Location of Directions for Building from Source](#building)
-5. [Geode in 5 minutes](#started)
-6. [Application Development](#development)
-7. [Documentation](https://geode.apache.org/docs/)
-8. [Wiki](https://cwiki.apache.org/confluence/display/GEODE/Index)
-9. [How to 
Contribute?](https://cwiki.apache.org/confluence/display/GEODE/How+to+Contribute)
-10. [Export Control](#export)
+1. [How to Get Apache Geode](#obtaining)
+1. [Main Concepts and Components](#concepts)
+1. [Location of Directions for Building from Source](#building)
+1. [Geode in 5 minutes](#started)
+1. [Application Development](#development)
+1. [Documentation](https://geode.apache.org/docs/)
+1. [Wiki](https://cwiki.apache.org/confluence/display/GEODE/Index)
+1. [How to 
Contribute](https://cwiki.apache.org/confluence/display/GEODE/How+to+Contribute)
+1. [Export Control](#export)
 
 ## Overview
 


[geode] branch develop updated (bfaaa4f -> b8048e1)

2021-09-22 Thread dbarnes
This is an automated email from the ASF dual-hosted git repository.

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


from bfaaa4f  GEODE-9621: Add spotless rule for build.gradle files (#6889)
 add b8048e1  GEODE-9619: [documentation] Align contents section in README 
(#6888)

No new revisions were added by this update.

Summary of changes:
 README.md | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)


[geode] branch feature/GEODE-9522 updated (4fac570 -> 148b682)

2021-09-22 Thread zhouxj
This is an automated email from the ASF dual-hosted git repository.

zhouxj pushed a change to branch feature/GEODE-9522
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 4fac570  fixed precheckin failures
 add 148b682  fix a test case

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/geode/cache30/ReconnectWithCacheXMLDUnitTest.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)


[geode-native] branch develop updated: GEODE-9549: enable netcore tests in CI (#867)

2021-09-22 Thread bbender
This is an automated email from the ASF dual-hosted git repository.

bbender 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 a202932  GEODE-9549: enable netcore tests in CI (#867)
a202932 is described below

commit a20293285e667c7ac1d6120bad4dd48a19e75830
Author: Blake Bender 
AuthorDate: Wed Sep 22 07:18:09 2021 -0700

GEODE-9549: enable netcore tests in CI (#867)

* GEODE-9549: Enable .net core tests in CI
- Enable test running job in yml
* GEODE-9549: Build NetCore and NetCore.Test projects individually
- This simplifies the cmake config, and makes the post-build file copy
  steps more reliable
* GEODE-9549: Copy C bindings lib to binary dir for tests
- Give Java project a reasonable name
* GEODE-9549: Use ctest to run netcore tests
- Eliminates need for start/stop scripts, all done via ctest now
* GEODE-9549: Make .net core project build in sequence
- Still getting sharing violations on parallel builds, so need to ensure
  none of these build at the same time.

Co-authored-by: Jacob Barrett 
---
 ci/docker/task/Dockerfile  |  2 +-
 ci/lib/templates.lib.txt   |  8 +--
 ci/lib/templates.lib.yml   |  4 +-
 ci/release/data.yml|  1 +
 .../integration-test/ThinClientDurableConnect.hpp  |  1 -
 netcore/CMakeLists.txt | 11 ++--
 .../AspNetCore GeodeSession Sample.csproj.user |  0
 .../Extensions/SessionExtensions.cs|  0
 .../Middleware/HttpContextItemsMiddleware.cs   |  0
 .../Models/BasicAuthInitialize.cs  |  0
 .../Models/ErrorViewModel.cs   |  0
 .../Pages/Error.cshtml |  0
 .../Pages/Error.cshtml.cs  |  0
 .../Pages/Index.cshtml |  0
 .../Pages/Index.cshtml.cs  |  0
 .../Pages/Shared/_Layout.cshtml|  0
 .../Pages/_ViewImports.cshtml  |  0
 .../Pages/_ViewStart.cshtml|  0
 .../Program.cs |  0
 .../Properties/launchSettings.json |  0
 .../README.md  |  0
 .../Startup.cs |  0
 .../appsettings.Development.json   |  0
 .../appsettings.Production.json|  0
 .../appsettings.json   |  0
 .../asp-netcore-session-sample.csproj} |  2 +-
 .../CMakeLists.txt => cmake/remove_dirs.cmake} | 25 ++--
 netcore/geode-dotnet-core.sln  | 10 ++--
 netcore/netcore-integration-test/CMakeLists.txt| 57 ++
 .../CacheFactoryTest.cs|  0
 .../CacheTest.cs   |  0
 .../NetCoreCollectionFixture.cs|  0
 .../ObjectLeakTest.cs  |  0
 .../PoolFactoryTest.cs |  0
 .../PoolManagerTest.cs |  0
 .../Properties/launchSettings.json |  0
 .../RegionFactoryTest.cs   |  0
 .../netcore-integration-test.csproj}   |  2 +-
 .../xunit.runner.json  |  0
 netcore/{NetCore => netcore-lib}/AuthInitialize.cs |  0
 .../stopserver.sh => netcore-lib/CMakeLists.txt}   | 23 ++--
 netcore/{NetCore => netcore-lib}/Cache.cs  |  0
 netcore/{NetCore => netcore-lib}/CacheFactory.cs   |  0
 netcore/{NetCore => netcore-lib}/Client.cs |  0
 netcore/{NetCore => netcore-lib}/Constants.cs  |  0
 .../{NetCore => netcore-lib}/GeodeNativeObject.cs  |  0
 netcore/{NetCore => netcore-lib}/ICacheFactory.cs  |  0
 netcore/{NetCore => netcore-lib}/IGeodeCache.cs|  0
 netcore/{NetCore => netcore-lib}/IRegionService.cs |  0
 netcore/{NetCore => netcore-lib}/Pool.cs   |  0
 netcore/{NetCore => netcore-lib}/PoolFactory.cs|  0
 netcore/{NetCore => netcore-lib}/PoolManager.cs|  0
 netcore/{NetCore => netcore-lib}/Region.cs |  0
 netcore/{NetCore => netcore-lib}/RegionFactory.cs  |  0
 netcore/{NetCore => netcore-lib}/RegionShortcut.cs |  0
 .../netcore-lib.csproj}|  0
 .../CMakeLists.txt | 53 +
 .../Properties/launchSettings.json |  0
 .../SessionStateIntegrationTests.cs|  0
 .../netcore-session-integration-test.csproj}   |  4 +-
 .../CMakeLists.txt}| 42 +-
 .../GeodeCacheServiceCollectionExtensions.cs   |  0
 .../GeodeSessionStateCacheOptions.cs   |  0
 .../NetCoreSessionState.cs |  0
 .../netcore-session.csproj}