[geode] branch feature/GEODE-9522 updated (148b682 -> c0b505f)
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
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)
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
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
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)
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)
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)
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)
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}