[geode] branch develop updated (8d455b4 -> 9bdfd13)
This is an automated email from the ASF dual-hosted git repository. onichols pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 8d455b4 GEODE-9379: Implement ZREVRANGEBYSCORE (#6715) add 9bdfd13 Revert GEODE-4181: Add JUnit 5 Support (#6762) No new revisions were added by this update. Summary of changes: .../src/test/resources/expected-pom.xml | 20 .../gradle/plugins/DependencyConstraints.groovy | 11 --- extensions/geode-modules/build.gradle | 1 - geode-common/build.gradle | 2 -- geode-concurrency-test/build.gradle | 1 - geode-jmh/build.gradle | 1 - geode-junit/build.gradle| 5 - .../geode/test/junit/rules/ConcurrencyRuleTest.java | 8 geode-junit/src/test/resources/expected-pom.xml | 21 + geode-rebalancer/build.gradle | 1 - gradle/test.gradle | 10 +++--- static-analysis/pmd-rules/build.gradle | 1 - 12 files changed, 8 insertions(+), 74 deletions(-)
[geode] branch develop updated (88860d0 -> 8d455b4)
This is an automated email from the ASF dual-hosted git repository. ringles pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 88860d0 GEODE-9409: wait for PdxRegistry before executing create region (#6743) add 8d455b4 GEODE-9379: Implement ZREVRANGEBYSCORE (#6715) No new revisions were added by this update. Summary of changes: ...ZRevRangeByScoreNativeRedisAcceptanceTest.java} | 4 +- .../resources/0001-configure-redis-tests.patch | 411 + .../server/AbstractHitsMissesIntegrationTest.java | 5 + .../AbstractZRangeByScoreIntegrationTest.java | 13 +- .../AbstractZRevRangeByScoreIntegrationTest.java | 388 +++ ...t.java => ZRevRangeByScoreIntegrationTest.java} | 3 +- .../geode/redis/internal/RedisCommandType.java | 2 + .../redis/internal/data/NullRedisSortedSet.java| 5 + .../geode/redis/internal/data/RedisSortedSet.java | 85 +++-- .../RedisSortedSetCommandsFunctionExecutor.java| 7 + .../sortedset/AbstractSortedSetRangeOptions.java | 55 +-- ...tor.java => AbstractZRangeByScoreExecutor.java} | 52 ++- .../executor/sortedset/RedisSortedSetCommands.java | 3 + .../sortedset/SortedSetLexRangeOptions.java| 86 ++--- .../sortedset/SortedSetScoreRangeOptions.java | 40 +- .../executor/sortedset/ZCountExecutor.java | 2 +- .../executor/sortedset/ZRangeByLexExecutor.java| 2 +- .../executor/sortedset/ZRangeByScoreExecutor.java | 63 +--- ...Executor.java => ZRevRangeByScoreExecutor.java} | 3 +- .../redis/internal/SupportedCommandsJUnitTest.java | 1 + 20 files changed, 637 insertions(+), 593 deletions(-) copy geode-apis-compatible-with-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/sortedset/{ZAddNativeRedisAcceptanceTest.java => ZRevRangeByScoreNativeRedisAcceptanceTest.java} (91%) mode change 100755 => 100644 create mode 100644 geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/sortedset/AbstractZRevRangeByScoreIntegrationTest.java copy geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/sortedset/{ZAddIntegrationTest.java => ZRevRangeByScoreIntegrationTest.java} (92%) mode change 100755 => 100644 copy geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/executor/sortedset/{ZRangeByScoreExecutor.java => AbstractZRangeByScoreExecutor.java} (60%) copy geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/executor/sortedset/{ZRevRankExecutor.java => ZRevRangeByScoreExecutor.java} (94%)
[geode-native] branch develop updated: gnmsg - Fix chunked decoding in some log files (#840)
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 6f8d99e gnmsg - Fix chunked decoding in some log files (#840) 6f8d99e is described below commit 6f8d99e75d4f396df4ccf7d51c5a56f117960703 Author: Blake Bender AuthorDate: Thu Aug 12 13:44:18 2021 -0700 gnmsg - Fix chunked decoding in some log files (#840) - Chunked messages can come in on multiple threads simultaneously, and gnmsg only had one decoder. If two message headers came in on different threads prior to the message body arriving for the first thread, gnsmg would get confused and think it had received two headers without a body, throwing an exception. Now we keep a chunk decoder per thread, and things run much more smoothly. --- tools/gnmsg/server_message_decoder.py | 45 +++ 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/tools/gnmsg/server_message_decoder.py b/tools/gnmsg/server_message_decoder.py index e473b0a..135f95b 100644 --- a/tools/gnmsg/server_message_decoder.py +++ b/tools/gnmsg/server_message_decoder.py @@ -47,7 +47,7 @@ class ServerMessageDecoder(DecoderBase): self.parse_response_fields_base, self.parse_response_fields_v911, ] -self.chunk_decoder = ChunkedResponseDecoder() +self.chunk_decoders_ = {} self.threads_connections_ = {} self.connection_to_tid_expression_ = re.compile( @@ -360,13 +360,12 @@ class ServerMessageDecoder(DecoderBase): last_header = {"Timestamp": parts[0], "tid": tid, "Connection": parts[2]} message_bytes = parts[3] self.headers_[tid] = last_header -connection = parts[2] if ( -connection in self.connection_states_.keys() -and self.connection_states_[connection] != self.STATE_NEUTRAL_ +tid in self.connection_states_.keys() +and self.connection_states_[tid] != self.STATE_NEUTRAL_ ): print("WARNING: Multiple headers rec'd without a message body.") -self.connection_states_[connection] = self.STATE_NEUTRAL_ +self.connection_states_[tid] = self.STATE_NEUTRAL_ elif self.get_receive_trace_body_parts(line, parts): tid = parts[0] connection = parts[1] @@ -377,28 +376,34 @@ class ServerMessageDecoder(DecoderBase): elif self.get_response_header(line, parts): tid = parts[1] connection = parts[2] -self.chunk_decoder.add_header(parts[2], parts[4]) +if tid in self.chunk_decoders_.keys(): +self.chunk_decoders_[tid].add_header(parts[2], parts[4]) +else: +self.chunk_decoders_[tid] = ChunkedResponseDecoder() +self.chunk_decoders_[tid].add_header(parts[2], parts[4]) elif self.get_chunk_header(line, parts): flags = 0xFF size = 0 tid = parts[1] (flags, size) = read_number_from_hex_string(parts[4], 2, len(parts[4]) - 2) -self.chunk_decoder.add_chunk_header(parts[3], flags) +if tid in self.chunk_decoders_.keys(): +self.chunk_decoders_[tid].add_chunk_header(parts[3], flags) elif self.get_chunk_bytes(line, parts): tid = parts[1] -self.chunk_decoder.add_chunk(parts[3]) -if self.chunk_decoder.is_complete_message(): -self.output_queue_.put( -{"message": self.chunk_decoder.get_decoded_message(parts[0])} -) -self.chunk_decoder.reset() +if tid in self.chunk_decoders_.keys(): +self.chunk_decoders_[tid].add_chunk(parts[3]) +if self.chunk_decoders_[tid].is_complete_message(): +self.output_queue_.put( +{"message": self.chunk_decoders_[tid].get_decoded_message(parts[0])} +) +self.chunk_decoders_[tid].reset() else: return -if connection not in self.connection_states_: -self.connection_states_[connection] = self.STATE_NEUTRAL_ +if tid not in self.connection_states_: +self.connection_states_[tid] = self.STATE_NEUTRAL_ -if self.connection_states_[connection] == self.STATE_NEUTRAL_: +if self.connection_states_[tid] == self.STATE_NEUTRAL_: if message_bytes: last_header = self.headers_[tid] @@ -412,15 +417,13 @@ class ServerMessageDecoder(DecoderBase): ) = self.parse_response_fields(message_bytes) self.headers_[tid] = last_header -self.connection_states_[
[geode] branch support/1.13 updated: GEODE-9480: Changing the version with ordinal 121 to be 1.13.2
This is an automated email from the ASF dual-hosted git repository. upthewaterspout 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 763493d GEODE-9480: Changing the version with ordinal 121 to be 1.13.2 763493d is described below commit 763493ddd9db97d2d0030c28764e9c1e3fd1fd07 Author: Dan Smith AuthorDate: Thu Aug 12 13:15:04 2021 -0700 GEODE-9480: Changing the version with ordinal 121 to be 1.13.2 This protocol change actually happened in 1.13.2. 1.13.1 is still using the same protocol ordinal as 1.13.0, which is 120. Evidence * b2d205459bf is the commit that introduced this version in support/1.13 * b2d205459bf is only contained in rel/v1.13.2 and above * Running geode 1.13.1, it reports it's protocol version as 120. (cherry picked from commit 2a90a583015352c1cc0f041008ec2a6ea7b5505c) --- .../geode/internal/cache/tier/sockets/CommandInitializer.java | 2 +- .../java/org/apache/geode/internal/serialization/Version.java | 8 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java index 5a66838..ad57a58 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java @@ -340,7 +340,7 @@ public class CommandInitializer { allCommands.put(Version.GEODE_1_12_0, geode18Commands); allCommands.put(Version.GEODE_1_12_1, geode18Commands); allCommands.put(Version.GEODE_1_13_0, geode18Commands); -allCommands.put(Version.GEODE_1_13_1, geode18Commands); +allCommands.put(Version.GEODE_1_13_2, geode18Commands); return Collections.unmodifiableMap(allCommands); } diff --git a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java index ea8f462..812ef40 100644 --- a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java +++ b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java @@ -289,11 +289,11 @@ public class Version extends VersionOrdinalImpl { public static final Version GEODE_1_13_0 = new Version("GEODE", "1.13.0", (byte) 1, (byte) 13, (byte) 0, (byte) 0, GEODE_1_13_0_ORDINAL); - private static final short GEODE_1_13_1_ORDINAL = 121; + private static final short GEODE_1_13_2_ORDINAL = 121; @Immutable - public static final Version GEODE_1_13_1 = - new Version("GEODE", "1.13.1", (byte) 1, (byte) 13, (byte) 1, (byte) 0, GEODE_1_13_1_ORDINAL); + public static final Version GEODE_1_13_2 = + new Version("GEODE", "1.13.2", (byte) 1, (byte) 13, (byte) 1, (byte) 0, GEODE_1_13_2_ORDINAL); /* NOTE: when adding a new version bump the ordinal by 5. Ordinals can be short ints */ @@ -304,7 +304,7 @@ public class Version extends VersionOrdinalImpl { * HIGHEST_VERSION when changing CURRENT !!! */ @Immutable - public static final Version CURRENT = GEODE_1_13_1; + public static final Version CURRENT = GEODE_1_13_2; /** * A lot of versioning code needs access to the current version's ordinal
[geode-native] branch develop updated: GEODE-9472: Relax the ratio of before and after threads. (#835)
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 5676b60 GEODE-9472: Relax the ratio of before and after threads. (#835) 5676b60 is described below commit 5676b607d897d3e0fc221aa061400c98fa304c82 Author: Michael Martell AuthorDate: Thu Aug 12 12:01:14 2021 -0700 GEODE-9472: Relax the ratio of before and after threads. (#835) * Use Assert.True for readability. --- clicache/integration-test2/GarbageCollectCache.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/clicache/integration-test2/GarbageCollectCache.cs b/clicache/integration-test2/GarbageCollectCache.cs index 90c671c..2155318 100644 --- a/clicache/integration-test2/GarbageCollectCache.cs +++ b/clicache/integration-test2/GarbageCollectCache.cs @@ -83,10 +83,9 @@ namespace Apache.Geode.Client.IntegrationTests // environment startup. if (i > 5) { -//Assert.True(.8 < ratio && ratio < 1.3); string error = "ncThreadsBefore = " + ncThreadsBefore.ToString() + ", ncThreadsAfter = " + ncThreadsAfter.ToString(); -Assert.False(!(.8 < ratio && ratio < 1.3), error); +Assert.True((.5 < ratio && ratio < 2.0), error); } } }
[geode-native] branch develop updated: GEODE-9487: Use locale-independent timezone format for logging (#838)
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 6acef04 GEODE-9487: Use locale-independent timezone format for logging (#838) 6acef04 is described below commit 6acef045b6f8cb818c7fd5e92cca3502d81a3648 Author: Blake Bender AuthorDate: Thu Aug 12 08:47:13 2021 -0700 GEODE-9487: Use locale-independent timezone format for logging (#838) --- cppcache/src/Log.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppcache/src/Log.cpp b/cppcache/src/Log.cpp index 82ee5a8..971dc32 100644 --- a/cppcache/src/Log.cpp +++ b/cppcache/src/Log.cpp @@ -380,7 +380,7 @@ std::string Log::formatLogLine(LogLevel level) { msg << "[" << Log::levelToChars(level) << " " << std::put_time(&tm_val, "%Y/%m/%d %H:%M:%S") << '.' << std::setfill('0') << std::setw(6) << microseconds.count() << ' ' - << std::put_time(&tm_val, "%Z ") << g_hostName << ":" + << std::put_time(&tm_val, "%z ") << g_hostName << ":" << boost::this_process::get_id() << " " << std::this_thread::get_id() << "] ";
[geode-native] branch develop updated: GEODE-9359: Add NetCore SessionState support (#834)
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 f379f6d GEODE-9359: Add NetCore SessionState support (#834) f379f6d is described below commit f379f6dd546c916be4d7f9e66c9842ff05448fb9 Author: Michael Martell AuthorDate: Thu Aug 12 08:25:36 2021 -0700 GEODE-9359: Add NetCore SessionState support (#834) - fix formatting - externalize log-level and log-file - use auto implemented properties - Use var everywhere - Don't use private assets --- .../NetCore.Session.IntegrationTests.csproj| 23 ++ .../Properties/launchSettings.json | 8 + .../SessionStateIntegrationTests.cs| 175 .../GeodeCacheServiceCollectionExtensions.cs | 40 +++ .../GeodeSessionStateCacheOptions.cs | 31 +++ netcore/NetCore.Session/NetCore.Session.csproj | 17 ++ netcore/NetCore.Session/NetCoreSessionState.cs | 299 + netcore/geode-dotnet-core.sln | 18 ++ 8 files changed, 611 insertions(+) diff --git a/netcore/NetCore.Session.IntegrationTests/NetCore.Session.IntegrationTests.csproj b/netcore/NetCore.Session.IntegrationTests/NetCore.Session.IntegrationTests.csproj new file mode 100644 index 000..e0420cc --- /dev/null +++ b/netcore/NetCore.Session.IntegrationTests/NetCore.Session.IntegrationTests.csproj @@ -0,0 +1,23 @@ + + + +netcoreapp3.1 + +false + +x64 + + + + + + + + + + + + + + + diff --git a/netcore/NetCore.Session.IntegrationTests/Properties/launchSettings.json b/netcore/NetCore.Session.IntegrationTests/Properties/launchSettings.json new file mode 100644 index 000..5d4ca80 --- /dev/null +++ b/netcore/NetCore.Session.IntegrationTests/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Apache.Geode.Session.IntegrationTests": { + "commandName": "Project", + "nativeDebugging": true + } + } +} diff --git a/netcore/NetCore.Session.IntegrationTests/SessionStateIntegrationTests.cs b/netcore/NetCore.Session.IntegrationTests/SessionStateIntegrationTests.cs new file mode 100644 index 000..d34002c --- /dev/null +++ b/netcore/NetCore.Session.IntegrationTests/SessionStateIntegrationTests.cs @@ -0,0 +1,175 @@ +/* + * 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. + */ +using System; +using System.Text; +using Xunit; +using Apache.Geode.Client; +using System.Linq; +using Microsoft.Extensions.Caching.Distributed; +using System.Threading.Tasks; + +namespace Apache.Geode.Session.IntegrationTests { + public class SessionStateIntegrationTests { + +[Fact] +public void SetGet() { + var ssCacheOptions = new GeodeSessionStateCacheOptions(); + ssCacheOptions.Host = "localhost"; + ssCacheOptions.Port = 10334; + ssCacheOptions.RegionName = "exampleRegion"; + + using var ssCache = new GeodeSessionStateCache(ssCacheOptions); + + var options = new DistributedCacheEntryOptions(); + var localTime = DateTime.Now.AddDays(1); + var dateAndOffset = + new DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime)); + options.AbsoluteExpiration = dateAndOffset; + var testValue = new byte[] { 1, 2, 3, 4, 5 }; + ssCache.Set("testKey", testValue, options); + var value = ssCache.Get("testKey"); + Assert.True(testValue.SequenceEqual(value)); +} + +[Fact] +public void Refresh() { + var ssCacheOptions = new GeodeSessionStateCacheOptions(); + ssCacheOptions.Host = "localhost"; + ssCacheOptions.Port = 10334; + ssCacheOptions.RegionName = "exampleRegion"; + + using var ssCache = new GeodeSessionStateCache(ssCacheOptions); + + var options = new DistributedCacheEntryOptions(); + var numSeconds = 20; + options.SlidingExpiration = new TimeSpan(0, 0, numSeconds); + var testValue = new byte[] { 1, 2, 3, 4, 5 }; + + // Set a value + ssCache.Set("testKey", testValue, options); + + // Wait half a t
[geode] branch develop updated (8aeec39 -> 88860d0)
This is an automated email from the ASF dual-hosted git repository. mkevo pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 8aeec39 GEODE-9338: Remove strong guarantees for Radish PUBLISH command (#6704) add 88860d0 GEODE-9409: wait for PdxRegistry before executing create region (#6743) No new revisions were added by this update. Summary of changes: .../cli/functions/RegionCreateFunction.java| 16 ++- .../functions/RegionCreateFunctionJUnitTest.java | 56 +- 2 files changed, 70 insertions(+), 2 deletions(-)