[geode] 01/02: Mass-test-run branch, no windows or publication jobs
This is an automated email from the ASF dual-hosted git repository. mhanson pushed a commit to branch mass-test-run in repository https://gitbox.apache.org/repos/asf/geode.git commit f402ad1c34d7ba62e99c46cbf7c87951308d13b0 Author: Robert Houghton AuthorDate: Mon Jan 27 15:20:46 2020 -0800 Mass-test-run branch, no windows or publication jobs Co-authored-by: Robert Houghton Co-authored-by: Mark Hanson --- ci/pipelines/geode-build/jinja.template.yml | 310 +--- ci/pipelines/shared/jinja.variables.yml | 77 +-- 2 files changed, 9 insertions(+), 378 deletions(-) diff --git a/ci/pipelines/geode-build/jinja.template.yml b/ci/pipelines/geode-build/jinja.template.yml index da6e399..f9dcbda 100644 --- a/ci/pipelines/geode-build/jinja.template.yml +++ b/ci/pipelines/geode-build/jinja.template.yml @@ -92,66 +92,6 @@ GRADLE_GLOBAL_ARGS: ((gradle-global-args)) {%- endfor -%} {% endmacro %} -groups: -- name: main - jobs: - - {{ build_test.name }} - {{- all_gating_jobs() | indent(2) }} - - UpdatePassingTokens - {%- if repository.upstream_fork != "apache" or repository.branch == "develop" %} - - PublishArtifacts - {%- endif %} - {%- for flavor in (benchmarks.flavors) %} - - Benchmark{{flavor.title}} - {%- endfor %} -- name: complete - jobs: - - {{ build_test.name }} - {%- for test in (tests) if not test.name=="StressNew" -%} -{%- for java_test_version in (java_test_versions) %} - - {{test.name}}Test{{java_test_version.name}} -{%- endfor -%} - {%- endfor %} - - UpdatePassingTokens - {%- if repository.upstream_fork != "apache" or repository.branch == "develop" %} - - PublishArtifacts - {%- endif %} - {%- for flavor in (benchmarks.flavors) %} - - Benchmark{{flavor.title}} - {%- endfor %} -- name: linux - jobs: - - {{ build_test.name }} - {%- for test in (tests) if test.PLATFORM=="linux" and not test.name=="StressNew" -%} -{% for java_test_version in (java_test_versions) %} - - {{test.name}}Test{{java_test_version.name}} -{%- endfor -%} - {%- endfor %} - {%- for flavor in (benchmarks.flavors) %} - - Benchmark{{flavor.title}} - {%- endfor %} -- name: windows - jobs: - - {{ build_test.name }} - {%- for test in (tests) if test.PLATFORM=="windows" -%} -{% for java_test_version in (java_test_versions) %} - - {{test.name}}Test{{java_test_version.name}} -{%- endfor -%} - {%- endfor %} -{%- for java_test_version in (java_test_versions) %} -- name: {{java_test_version.name}} - jobs: - - {{ build_test.name }} - {%- for test in (tests) if not test.name=="StressNew" %} - - {{test.name}}Test{{java_test_version.name}} - {%- endfor -%} -{%- endfor %} -- name: Semver Management - jobs: - {%- for semverPiece in ['major', 'minor', 'patch'] %} - - Bump{{ semverPiece.title() }} - {%- endfor %} - resources: - name: concourse-metadata-resource type: concourse-metadata-resource @@ -173,12 +113,7 @@ resources: paths: - ci/* {{ github_access() | indent(4) }} -- name: geode-benchmarks - type: git - source: -branch: {{benchmarks.benchmark_branch}} -depth: 1 -uri: https://github.com/apache/geode-benchmarks.git + - name: geode-build-version type: semver source: @@ -187,12 +122,7 @@ resources: initial_version: {{ metadata.initial_version }} json_key: ((!concourse-gcp-key)) key: semvers/((pipeline-prefix))((geode-build-branch))/version -- name: geode-passing-tokens - type: gcs-resource - source: -bucket: ((artifact-bucket)) -json_key: ((concourse-gcp-key)) -versioned_file: semvers/((pipeline-prefix))((geode-build-branch))/passing-build-tokens.json + - name: alpine-tools-image type: docker-image source: @@ -201,12 +131,6 @@ resources: repository: gcr.io/((gcp-project))/((pipeline-prefix))alpine-tools tag: latest -- name: windows-builder-image-family - type: gci - source: -key: ((concourse-gcp-key)) -family_project: ((gcp-project)) -family: ((pipeline-prefix))windows-geode-builder - name: linux-builder-image-family type: gci @@ -233,16 +157,8 @@ resource_types: source: repository: frodenas/gcs-resource jobs: -{% for semverPiece in ['major', 'minor', 'patch'] -%} -- name: Bump{{ semverPiece.title() }} - serial: true - plan: - - get: geode-build-version -params: { bump: {{ semverPiece }} } - - put: geode-build-version -params: - file: geode-build-version/number -{% endfor %} + + - name: {{build_test.name}} public: true max_in_flight: {{build_test.MAX_IN_FLIGHT}} @@ -388,224 +304,6 @@ jobs: - name: instance-data timeout: 1h -- name: UpdatePassingTokens - public: true - serial: true - plan: - - aggregate: -- get: alpine-tools-image -- get: geode - passed: &update-token-passed-anchor -{%- if repository.upstream_fork != "apache" or repository.branch == "develop" %} - - PublishArtifacts -{% else %} - {% for flavor in (benchmarks.flavo
[geode] branch mass-test-run updated (e4291fb -> efc3b3b)
This is an automated email from the ASF dual-hosted git repository. mhanson pushed a change to branch mass-test-run in repository https://gitbox.apache.org/repos/asf/geode.git. discard e4291fb remove meta-* jobs that we won't use for mass-test-run discard 32cd868 Mass-test-run branch, no windows or publication jobs add 01d78ca GEODE-7650: Cleanup PutAllClientServerDistributedTest (#4680) add de3e9b5 GEODE-7356: Fix FixedPartitioningWithColocationAndPersistenceDUnitTest (#4674) add 7ab2713 GEODE-7776 - Proposed changes to remove build cycle (#4679) add 54d2341 GEODE-6070: Fix ShutdownCommandOverHttpDUnitTest add 5e8107a GEODE-7788: Alpine tools docker image creation fails due to internal (#4685) add dcca237 GEODE-7760: fixing LocatorUDPSecurityDUnitTest.testCrashLocatorMultip… (#4683) add c5a3b16 GEODE-7792: configure logging for geode-membership integration tests (#4688) add d3ecaaa GEODE-7778: Add PUBLISH, SUBSCRIBE and UNSUBSCRIBE Redis commands (#4682) add 1854423 GEODE-7796: CI failure in LocatorDUnitTest (#4693) add 71e156a GEODE-7789: Cache DurableClienAttributes (#4687) add 5dd7a84 GEODE-7756: Do not use authorization cache for CQs (#4677) add 5d2b1d1 GEODE-7791: fix MergeLogsDistributedTest (#4697) add 8c40d5e GEODE-7210: Fix RedundancyLevelPart1DUnitTest add 5c6529a Geode 4263 (#4691) new f402ad1 Mass-test-run branch, no windows or publication jobs new efc3b3b remove meta-* jobs that we won't use for mass-test-run This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (e4291fb) \ N -- N -- N refs/heads/mass-test-run (efc3b3b) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 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. Summary of changes: ci/images/alpine-tools/Dockerfile | 11 +- geode-core/build.gradle|4 - .../ResourceManagerWithQueryMonitorDUnitTest.java | 1482 - .../apache/geode/distributed/LocatorDUnitTest.java |2 + .../distributed/LocatorUDPSecurityDUnitTest.java |1 + ...oningWithColocationAndPersistenceDUnitTest.java | 3160 ++-- .../sockets/RedundancyLevelPart1DUnitTest.java | 136 +- .../codeAnalysis/sanctionedDataSerializables.txt |6 +- .../geode/cache/client/internal/QueryOp.java | 116 +- .../cache/query/internal/AttributeDescriptor.java | 40 +- .../geode/cache/query/internal/DefaultQuery.java | 124 +- .../cache/query/internal/ExecutionContext.java | 12 +- .../geode/cache/query/internal/MethodDispatch.java | 40 +- .../query/internal/QueryExecutionContext.java | 10 +- .../geode/cache/query/internal/QueryMonitor.java | 16 +- .../membership/InternalDistributedMember.java | 32 +- .../internal/cache/PartitionedRegionDataStore.java | 20 +- .../query/internal/AttributeDescriptorTest.java| 93 +- .../cache/query/internal/MethodDispatchTest.java | 103 +- .../membership/InternalDistributedMemberTest.java | 109 +- geode-core/src/test/resources/expected-pom.xml | 12 - ...tyExecutionContextTamperingDistributedTest.java |8 +- .../cache/PutAllClientServerDistributedTest.java | 1355 ++--- .../geode/cache/query/cq/internal/CqQueryImpl.java |2 +- .../cli/commands/ShutdownCommandDUnitTestBase.java | 98 - .../cli/commands/ShutdownCommandDUnitTest.java | 157 +- .../cli/util/MergeLogsDistributedTest.java | 18 +- .../gms/messenger/GMSQuorumCheckerJUnitTest.java | 20 +- .../gms/messenger/JGroupsMessengerJUnitTest.java |2 +- .../src/integrationTest/resources/log4j2.xml | 12 +- .../membership/gms/messenger/GMSEncrypt.java |7 +- .../membership/gms/messenger/GMSQuorumChecker.java |8 +- .../membership/gms/messenger/JGroupsMessenger.java |6 +- .../gms/messenger/MembershipInformationImpl.java | 10 +- .../org/apache/geode/redis/MockSubscriber.java | 35 +- .../org/apache/geode/redis/PubSubDUnitTest.java| 91 + .../java/org/apache/geode/redis/PubSubTest.java| 254 ++ .../apache/geode/redis/mocks/MockSubscriber.java | 35 +- .../org/apache/geode/redis/GeodeRedisServer.java | 80 +- .../org/apache/geode/redis/internal/Client.jav
[geode] 02/02: remove meta-* jobs that we won't use for mass-test-run
This is an automated email from the ASF dual-hosted git repository. mhanson pushed a commit to branch mass-test-run in repository https://gitbox.apache.org/repos/asf/geode.git commit efc3b3b731628e244a589f4e2ffa4bc8a98d6d5a Author: Mark Hanson AuthorDate: Mon Jan 27 15:27:19 2020 -0800 remove meta-* jobs that we won't use for mass-test-run --- ci/pipelines/meta/jinja.template.yml | 206 +-- 1 file changed, 1 insertion(+), 205 deletions(-) diff --git a/ci/pipelines/meta/jinja.template.yml b/ci/pipelines/meta/jinja.template.yml index 792254f..a67e377 100644 --- a/ci/pipelines/meta/jinja.template.yml +++ b/ci/pipelines/meta/jinja.template.yml @@ -51,13 +51,7 @@ resources: branch: ((!geode-build-branch)) paths: - ci/pipelines/images/* -- name: geode-reaper-pipeline - type: git - source: -{{ github_access() | indent(4) }} -branch: ((!geode-build-branch)) -paths: -- ci/pipelines/reaper/* + - name: meta-mini-dockerfile type: git source: @@ -71,35 +65,6 @@ resources: username: ((!docker-username)) password: ((!docker-password)) repository: gcr.io/((!gcp-project))/((!sanitized-geode-fork))-((!sanitized-geode-build-branch))-meta-img -{% if repository.fork == repository.upstream_fork %} -- name: geode-examples-pipeline - type: git - source: -{{ github_access() | indent(4) }} -branch: ((!geode-build-branch)) -paths: -- ci/pipelines/examples/* -- ci/pipelines/shared/* -- ci/pipelines/render.py -- ci/pipelines/meta/meta.properties -- name: geode-pr-pipeline - type: git - source: -{{ github_access() | indent(4) }} -branch: ((!geode-build-branch)) -paths: -- ci/pipelines/pull-request/* -- ci/pipelines/shared/* -- ci/pipelines/render.py -- ci/pipelines/meta/meta.properties -{% endif %} -- name: geode-metrics-pipeline - type: git - source: -{{ github_access() | indent(4) }} -branch: ((!geode-build-branch)) -paths: -- ci/pipelines/metrics/* jobs: - name: set-images-pipeline @@ -187,175 +152,6 @@ jobs: - results/pipeline-vars.yml -{% if repository.fork == repository.upstream_fork %} -- name: set-examples-pipeline - serial: true - public: ((!public-pipelines)) - plan: - - get: geode-examples-pipeline -trigger: true - - get: meta-mini-image -trigger: true -passed: [build-meta-mini-docker-image] - - task: deploy-build -image: meta-mini-image -config: - platform: linux - inputs: -- name: geode-examples-pipeline - outputs: -- name: results - params: -OUTPUT_DIRECTORY: results -GEODE_BRANCH: ((geode-build-branch)) -GEODE_FORK: ((geode-fork)) -GEODE_REPO_NAME: ((geode-repo-name)) -REPOSITORY_PUBLIC: {{ repository.public }} -ARTIFACT_BUCKET: ((artifact-bucket)) -UPSTREAM_FORK: {{ repository.upstream_fork }} -PIPELINE_PREFIX: ((pipeline-prefix)) -SANITIZED_GEODE_BRANCH: ((sanitized-geode-build-branch)) -SANITIZED_GEODE_FORK: ((sanitized-geode-fork)) -GCP_PROJECT: ((gcp-project)) -PUBLIC_PIPELINES: ((public-pipelines)) -SEMVER_PRERELEASE_TOKEN: ((semver-prerelease-token)) - run: -path: geode-examples-pipeline/ci/pipelines/examples/deploy_pipeline.sh - - put: concourse -params: - pipelines: - - name: ((!pipeline-prefix))examples -team: ((!concourse-team)) -config_file: results/generated-pipeline.yml -vars_files: -- results/pipeline-vars.yml - -- name: set-pr-pipeline - serial: true - public: ((!public-pipelines)) - plan: - - get: geode-pr-pipeline -trigger: true - - get: meta-mini-image -trigger: true -passed: [build-meta-mini-docker-image] - - task: deploy-pr -image: meta-mini-image -config: - platform: linux - inputs: -- name: geode-pr-pipeline - outputs: -- name: results - params: -OUTPUT_DIRECTORY: results -GEODE_BRANCH: ((!geode-build-branch)) -GEODE_FORK: ((!geode-fork)) -GEODE_REPO_NAME: ((geode-repo-name)) -REPOSITORY_PUBLIC: {{ repository.public }} -ARTIFACT_BUCKET: ((artifact-bucket)) -UPSTREAM_FORK: {{ repository.upstream_fork }} -PIPELINE_PREFIX: ((pipeline-prefix)) -GCP_PROJECT: ((gcp-project)) -PUBLIC_PIPELINES: ((public-pipelines)) -GRADLE_GLOBAL_ARGS: ((gradle-global-args)) - run: -path: geode-pr-pipeline/ci/pipelines/pull-request/deploy_pr_pipeline.sh - - put: concourse -params: - pipelines: - - name: ((!pipeline-prefix))pr -team: ((!concourse-team)) -config_file: results/generated-pipeline.yml -vars_files: -- results/pipeline-vars.yml - -{% endif %} - -- name: set-metrics-pipeline - serial: true - public: ((!public-pipelines)) - plan: -- get: geode-metrics-pipeline - trigger: true -- g
[geode] branch develop updated (8c40d5e -> 5c6529a)
This is an automated email from the ASF dual-hosted git repository. mhanson pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 8c40d5e GEODE-7210: Fix RedundancyLevelPart1DUnitTest add 5c6529a Geode 4263 (#4691) No new revisions were added by this update. Summary of changes: .../ResourceManagerWithQueryMonitorDUnitTest.java | 1482 +--- .../geode/cache/client/internal/QueryOp.java | 116 +- .../geode/cache/query/internal/DefaultQuery.java | 124 +- .../cache/query/internal/ExecutionContext.java | 12 +- .../geode/cache/query/internal/QueryMonitor.java | 16 +- 5 files changed, 725 insertions(+), 1025 deletions(-)
[geode] branch develop updated (5d2b1d1 -> 8c40d5e)
This is an automated email from the ASF dual-hosted git repository. igodwin pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 5d2b1d1 GEODE-7791: fix MergeLogsDistributedTest (#4697) add 8c40d5e GEODE-7210: Fix RedundancyLevelPart1DUnitTest No new revisions were added by this update. Summary of changes: .../sockets/RedundancyLevelPart1DUnitTest.java | 136 + 1 file changed, 86 insertions(+), 50 deletions(-)
[geode] branch feature/GEODE-7665 updated: GEODE-7684: Create messaging class for PR Clear (#4689)
This is an automated email from the ASF dual-hosted git repository. bross pushed a commit to branch feature/GEODE-7665 in repository https://gitbox.apache.org/repos/asf/geode.git The following commit(s) were added to refs/heads/feature/GEODE-7665 by this push: new dbe59ec GEODE-7684: Create messaging class for PR Clear (#4689) dbe59ec is described below commit dbe59ece4749d07cdb65d7878a1472703e81c68c Author: BenjaminPerryRoss <39068135+benjaminperryr...@users.noreply.github.com> AuthorDate: Thu Feb 13 14:40:42 2020 -0800 GEODE-7684: Create messaging class for PR Clear (#4689) * Added new message class and test Co-authored-by: Benjamin Ross Co-authored-by: Donal Evans --- .../codeAnalysis/sanctionedDataSerializables.txt | 8 + .../apache/geode/internal/cache/BucketRegion.java | 2 +- .../internal/cache/partitioned/ClearPRMessage.java | 388 + .../cache/partitioned/ClearPRMessageTest.java | 288 +++ .../serialization/DataSerializableFixedID.java | 3 + 5 files changed, 688 insertions(+), 1 deletion(-) diff --git a/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt b/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt index 5e2e57c..c7af2f0 100644 --- a/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt +++ b/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt @@ -1435,6 +1435,14 @@ org/apache/geode/internal/cache/partitioned/BucketSizeMessage$BucketSizeReplyMes fromData,27 toData,27 +org/apache/geode/internal/cache/partitioned/ClearPRMessage,2 +fromData,30 +toData,44 + +org/apache/geode/internal/cache/partitioned/ClearPRMessage$ClearReplyMessage,2 +fromData,17 +toData,17 + org/apache/geode/internal/cache/partitioned/ColocatedRegionDetails,2 fromData,81 toData,133 diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java index 761c1b1..db8c057 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java @@ -558,7 +558,7 @@ public class BucketRegion extends DistributedRegion implements Bucket { } @Override - void cmnClearRegion(RegionEventImpl regionEvent, boolean cacheWrite, boolean useRVV) { + public void cmnClearRegion(RegionEventImpl regionEvent, boolean cacheWrite, boolean useRVV) { if (!getBucketAdvisor().isPrimary()) { if (logger.isDebugEnabled()) { logger.debug("Not primary bucket when doing clear, do nothing"); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ClearPRMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ClearPRMessage.java new file mode 100644 index 000..1a8aba1 --- /dev/null +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ClearPRMessage.java @@ -0,0 +1,388 @@ +/* + * 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. + */ + +package org.apache.geode.internal.cache.partitioned; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.util.Collections; +import java.util.Set; + +import org.apache.logging.log4j.Logger; + +import org.apache.geode.DataSerializer; +import org.apache.geode.annotations.VisibleForTesting; +import org.apache.geode.cache.CacheException; +import org.apache.geode.distributed.DistributedLockService; +import org.apache.geode.distributed.DistributedMember; +import org.apache.geode.distributed.internal.ClusterDistributionManager; +import org.apache.geode.distributed.internal.DirectReplyProcessor; +import org.apache.geode.distributed.internal.DistributionManager; +import org.apache.geode.distributed.internal.InternalDistributedSystem; +import org.apache.geode.distributed.internal.ReplyException; +import org.apache.geode.distributed.internal.ReplyMessage; +import org.apache.geode.distributed.internal.ReplyProcessor21; +import org.apache.geode.distrib
[geode] branch develop updated (5dd7a84 -> 5d2b1d1)
This is an automated email from the ASF dual-hosted git repository. jinmeiliao pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 5dd7a84 GEODE-7756: Do not use authorization cache for CQs (#4677) add 5d2b1d1 GEODE-7791: fix MergeLogsDistributedTest (#4697) No new revisions were added by this update. Summary of changes: .../internal/cli/util/MergeLogsDistributedTest.java| 18 ++ 1 file changed, 14 insertions(+), 4 deletions(-)
[geode] branch release/1.12.0 updated: GEODE-7756: Do not use authorization cache for CQs (#4677)
This is an automated email from the ASF dual-hosted git repository. echobravo pushed a commit to branch release/1.12.0 in repository https://gitbox.apache.org/repos/asf/geode.git The following commit(s) were added to refs/heads/release/1.12.0 by this push: new 9ca8043 GEODE-7756: Do not use authorization cache for CQs (#4677) 9ca8043 is described below commit 9ca80438c392db7ab2cd8523662bcb4c76c0ad29 Author: Juan José Ramos AuthorDate: Thu Feb 13 11:33:25 2020 + GEODE-7756: Do not use authorization cache for CQs (#4677) CQs are executed on individual entries whenever an event is triggered for them and the execution context is always cleared before the actual evaluation, thus using an internal cache to keep already authorized methods is useless (will always be a cache miss and the computation required just adds overhead). - Fixed the CQ creation to always set the 'cqQueryContext' flag. - Modified the query engine to avoid using the internal cache for already authorized methods when the context belongs to a CQ. - Avoid the creation and concatenation of unnecessary Strings, using the Method class directly instead. (cherry picked from commit 5dd7a8420bbe43657abc82e5b8d073eb01b51d8d) --- .../cache/query/internal/AttributeDescriptor.java | 40 .../geode/cache/query/internal/MethodDispatch.java | 40 .../query/internal/QueryExecutionContext.java | 10 +- .../query/internal/AttributeDescriptorTest.java| 93 +-- .../cache/query/internal/MethodDispatchTest.java | 103 - ...tyExecutionContextTamperingDistributedTest.java | 8 +- .../geode/cache/query/cq/internal/CqQueryImpl.java | 2 +- 7 files changed, 248 insertions(+), 48 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/AttributeDescriptor.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/AttributeDescriptor.java index 2c3fd51..ef8e36d 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/AttributeDescriptor.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/AttributeDescriptor.java @@ -34,6 +34,7 @@ import org.apache.geode.cache.EntryDestroyedException; import org.apache.geode.cache.query.NameNotFoundException; import org.apache.geode.cache.query.QueryInvocationTargetException; import org.apache.geode.cache.query.QueryService; +import org.apache.geode.cache.query.security.MethodInvocationAuthorizer; import org.apache.geode.internal.cache.Token; import org.apache.geode.internal.lang.JavaWorkarounds; import org.apache.geode.pdx.JSONFormatter; @@ -98,23 +99,30 @@ public class AttributeDescriptor { if (m instanceof Method) { try { Method method = (Method) m; - // Try to use previous result so authorizer gets invoked only once per query. - boolean authorizationResult; - String cacheKey = target.getClass().getCanonicalName() + "." + method.getName(); - Boolean cachedResult = (Boolean) executionContext.cacheGet(cacheKey); - - if (cachedResult == null) { -// First time, evaluate and cache result. -authorizationResult = - executionContext.getMethodInvocationAuthorizer().authorize(method, target); -executionContext.cachePut(cacheKey, authorizationResult); - } else { -// Use cached result. -authorizationResult = cachedResult; - } + MethodInvocationAuthorizer authorizer = executionContext.getMethodInvocationAuthorizer(); - if (!authorizationResult) { -throw new NotAuthorizedException(UNAUTHORIZED_STRING + method.getName()); + // CQs are generally executed on individual events, so caching is just an overhead. + if (executionContext.isCqQueryContext()) { +if (!authorizer.authorize(method, target)) { + throw new NotAuthorizedException(UNAUTHORIZED_STRING + method.getName()); +} + } else { +// Try to use previous result so authorizer gets invoked only once per query. +boolean authorizationResult; +Boolean cachedResult = (Boolean) executionContext.cacheGet(method); + +if (cachedResult == null) { + // First time, evaluate and cache result. + authorizationResult = authorizer.authorize(method, target); + executionContext.cachePut(method, authorizationResult); +} else { + // Use cached result. + authorizationResult = cachedResult; +} + +if (!authorizationResult) { + throw new NotAuthorizedException(UNAUTHORIZED_STRING + method.getName()); +} } return method.invoke(target, (Object[]) null); diff --git a/geode-core/src/main/java/org/apache/geode/cache/query
[geode] branch release/1.12.0 updated: GEODE-7789: Cache DurableClienAttributes (#4687)
This is an automated email from the ASF dual-hosted git repository. echobravo pushed a commit to branch release/1.12.0 in repository https://gitbox.apache.org/repos/asf/geode.git The following commit(s) were added to refs/heads/release/1.12.0 by this push: new 46a9d94 GEODE-7789: Cache DurableClienAttributes (#4687) 46a9d94 is described below commit 46a9d9468437dba4ee227e74be767f0224d050e5 Author: Juan José Ramos AuthorDate: Thu Feb 13 10:00:36 2020 + GEODE-7789: Cache DurableClienAttributes (#4687) Keep the last known 'DurableClienAttributes' cached within the 'InternalDistributedMember' class to avoid the overhead of creating a new instance every time. (cherry picked from commit 71e156a55228d89efafd048e1533debba606c064) --- .../codeAnalysis/sanctionedDataSerializables.txt | 6 +- .../membership/InternalDistributedMember.java | 32 -- .../membership/InternalDistributedMemberTest.java | 109 +++-- 3 files changed, 132 insertions(+), 15 deletions(-) diff --git a/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt b/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt index 5e2e57c..3076db7 100644 --- a/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt +++ b/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt @@ -275,9 +275,9 @@ fromData,17 toData,17 org/apache/geode/distributed/internal/membership/InternalDistributedMember,6 -fromData,12 -fromDataPre_GFE_7_1_0_0,12 -fromDataPre_GFE_9_0_0_0,12 +fromData,17 +fromDataPre_GFE_7_1_0_0,17 +fromDataPre_GFE_9_0_0_0,17 toData,12 toDataPre_GFE_7_1_0_0,12 toDataPre_GFE_9_0_0_0,12 diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java index 151b787..ac2bf6b 100755 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java @@ -60,6 +60,7 @@ public class InternalDistributedMember implements DistributedMember, Externalizable, ProfileId, VersionSource, MemberIdentifier, DataSerializableFixedID { private static final long serialVersionUID = -2785249969777296507L; + public static final int DEFAULT_DURABLE_CLIENT_TIMEOUT = 300; @Immutable public static final MemberIdentifierFactoryImpl MEMBER_IDENTIFIER_FACTORY = @@ -69,9 +70,12 @@ public class InternalDistributedMember @MutableForTesting protected static HostnameResolver hostnameResolver = (location) -> InetAddress.getByName(location.getHostName()); + private final MemberIdentifier memberIdentifier; - /** lock object used when getting/setting roles/rolesSet fields */ + @VisibleForTesting + // Cached to prevent creating a new instance every single time. + protected volatile DurableClientAttributes durableClientAttributes; // Used only by deserialization public InternalDistributedMember() { @@ -187,7 +191,8 @@ public class InternalDistributedMember * @throws UnknownHostException if the given hostname cannot be resolved */ public InternalDistributedMember(String host, int p, String n, String u, int vmKind, - String[] groups, DurableClientAttributes attr) throws UnknownHostException { + String[] groups, DurableClientAttributes attr) { +durableClientAttributes = attr; memberIdentifier = MEMBER_IDENTIFIER_FACTORY.create(createMemberData(host, p, n, vmKind, groups, attr, u)); @@ -272,11 +277,19 @@ public class InternalDistributedMember @Override public DurableClientAttributes getDurableClientAttributes() { assert !this.isPartial(); -String durableId = memberIdentifier.getDurableId(); -if (durableId == null || durableId.isEmpty()) { - return new DurableClientAttributes("", 300); + +if (durableClientAttributes == null) { + String durableId = memberIdentifier.getDurableId(); + + if (durableId == null || durableId.isEmpty()) { +durableClientAttributes = new DurableClientAttributes("", DEFAULT_DURABLE_CLIENT_TIMEOUT); + } else { +durableClientAttributes = +new DurableClientAttributes(durableId, memberIdentifier.getDurableTimeout()); + } } -return new DurableClientAttributes(durableId, memberIdentifier.getDurableTimeout()); + +return durableClientAttributes; } /** @@ -336,16 +349,19 @@ public class InternalDistributedMember @Override public void setDurableTimeout(int newValue) { memberIdentifier.setDurableTimeout(newValue); +durableClientAttributes = null; } @Override public void setDurableId(Stri
[geode-kafka-connector] branch master updated: All configurable parameters are now using '-' as delimiter instead of camelCase Added documentation to the configDef definitions Updated readme with late
This is an automated email from the ASF dual-hosted git repository. jasonhuynh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/geode-kafka-connector.git The following commit(s) were added to refs/heads/master by this push: new 5b5d659 All configurable parameters are now using '-' as delimiter instead of camelCase Added documentation to the configDef definitions Updated readme with latest configuration changes 5b5d659 is described below commit 5b5d6596aa336ba7f01829f4ee2d2f023eb2b685 Author: Jason Huynh AuthorDate: Thu Feb 13 09:28:00 2020 -0800 All configurable parameters are now using '-' as delimiter instead of camelCase Added documentation to the configDef definitions Updated readme with latest configuration changes --- README.md | 30 +++--- .../java/org/geode/kafka/GeodeConnectorConfig.java | 37 ++--- src/main/java/org/geode/kafka/GeodeContext.java| 25 ++-- .../kafka/security/SystemPropertyAuthInit.java | 1 - .../java/org/geode/kafka/sink/GeodeKafkaSink.java | 6 +-- .../org/geode/kafka/sink/GeodeKafkaSinkTask.java | 6 ++- .../geode/kafka/sink/GeodeSinkConnectorConfig.java | 15 --- .../org/geode/kafka/source/GeodeKafkaSource.java | 9 +++-- .../geode/kafka/source/GeodeKafkaSourceTask.java | 16 +--- .../kafka/source/GeodeSourceConnectorConfig.java | 46 ++ .../org/geode/kafka/GeodeConnectorConfigTest.java | 15 --- .../org/geode/kafka/WorkerAndHerderWrapper.java| 4 +- .../kafka/source/GeodeKafkaSourceTaskTest.java | 17 +++- 13 files changed, 132 insertions(+), 95 deletions(-) diff --git a/README.md b/README.md index 39dd423..73953a1 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ plugin.path=(Path to your clone)/geode-kafka-connector/build/libs/ name=geode-kafka-sink connector.class=GeodeKafkaSink tasks.max=1 -topicToRegions=[someTopicToSinkFrom:someRegionToConsume] +topic-to-regions=[someTopicToSinkFrom:someRegionToConsume] topics=someTopicToSinkFrom locators=localHost[10334] ``` @@ -35,7 +35,7 @@ locators=localHost[10334] name=geode-kafka-source connector.class=GeodeKafkaSource tasks.max=1 -regionToTopics=[someRegionToSourceFrom:someTopicToConsume] +region-to-topics=[someRegionToSourceFrom:someTopicToConsume] locators=localHost[10334] ``` @@ -47,27 +47,29 @@ bin/connect-standalone.sh config/connect-standalone.properties config/connect-ge GeodeKafkaSink Properties | Property | Required | Description| Default | |---|---|---|---| -| locators | no, but...| A comma separated string of locators that configure which locators to connect to | localhost[10334] | -|topicToRegions| yes| A comma separated list of "one topic to many regions" bindings. Each binding is surrounded by brackets. For example "[topicName:regionName], [anotherTopic: regionName, anotherRegion]" | None. This is required to be set in the source connector properties +|locators | no, but...| A comma separated string of locators that configure which locators to connect to | localhost[10334] | +|topic-to-regions| yes| A comma separated list of "one topic to many regions" bindings. Each binding is surrounded by brackets. For example "[topicName:regionName], [anotherTopic: regionName, anotherRegion]" | "[gkctopic:gkcregion]" |security-client-auth-init| no | Point to class that implements the [AuthInitialize Interface](https://gemfire.docs.pivotal.io/99/geode/managing/security/implementing_authentication.html) -|nullValuesMeanRemove | no | If set to true, when topics send a SinkRecord with a null value, we will convert to an operation similar to region.remove instead of putting a null value into the region | true | +|null-values-mean-remove | no | If set to true, when topics send a SinkRecord with a null value, we will convert to an operation similar to region.remove instead of putting a null value into the region | true | -* The topicToRegions property allows us to create mappings between topics and regions. A single one-to-one mapping would look similar to "[topic:region]" A one-to-many mapping can be made by comma separating the regions, for example "[topic:region1,region2]" This is equivalent to both regions being consumers of the topic. +* The topic-to-regions property allows us to create mappings between topics and regions. A single one-to-one mapping would look similar to "[topic:region]" A one-to-many mapping can be made by comma separating the regions, for example "[topic:region1,region2]" This is equivalent to both regions being consumers of the topic. GeodeKafkaSource Properties | Property | Required| Description| Default | |---|---|---|---| | locators | no, but...| A comma separated string of locators that configure which locators to connect to | localhost[10334] | -|regionToTopics| yes | A comma separated list of "one region to many topics" mappings. Ea
[geode] branch feature/GEODE-7630b created (now 6e6bd45)
This is an automated email from the ASF dual-hosted git repository. bschuchardt pushed a change to branch feature/GEODE-7630b in repository https://gitbox.apache.org/repos/asf/geode.git. at 6e6bd45 GEODE-7630 - restore DistributionConfig.GEMFIRE_PREFIX This branch includes the following new commits: new 6e6bd45 GEODE-7630 - restore DistributionConfig.GEMFIRE_PREFIX The 1 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] 01/01: GEODE-7630 - restore DistributionConfig.GEMFIRE_PREFIX
This is an automated email from the ASF dual-hosted git repository. bschuchardt pushed a commit to branch feature/GEODE-7630b in repository https://gitbox.apache.org/repos/asf/geode.git commit 6e6bd45678c51f309fbac6cd4656e036647c67fa Author: Bruce Schuchardt AuthorDate: Thu Feb 13 09:28:34 2020 -0800 GEODE-7630 - restore DistributionConfig.GEMFIRE_PREFIX --- .../org/apache/geode/distributed/internal/DistributionConfig.java| 5 + 1 file changed, 5 insertions(+) diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfig.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfig.java index 89a19a6..7d2c61c 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfig.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfig.java @@ -232,6 +232,11 @@ public interface DistributionConfig extends Config, LogConfig, StatisticsConfig String SSL_PREFIX = "ssl-"; /** + * The prefix used for Gemfire properties set through java system properties + */ + public static final String GEMFIRE_PREFIX = GeodeGlossary.GEMFIRE_PREFIX; + + /** * Returns the value of the {@link ConfigurationProperties#NAME} property Gets the member's name. * A name is optional and by default empty. If set it must be unique in the ds. When set its used * by tools to help identify the member.
[geode] branch develop updated (71e156a -> 5dd7a84)
This is an automated email from the ASF dual-hosted git repository. jjramos pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 71e156a GEODE-7789: Cache DurableClienAttributes (#4687) add 5dd7a84 GEODE-7756: Do not use authorization cache for CQs (#4677) No new revisions were added by this update. Summary of changes: .../cache/query/internal/AttributeDescriptor.java | 40 .../geode/cache/query/internal/MethodDispatch.java | 40 .../query/internal/QueryExecutionContext.java | 10 +- .../query/internal/AttributeDescriptorTest.java| 93 +-- .../cache/query/internal/MethodDispatchTest.java | 103 - ...tyExecutionContextTamperingDistributedTest.java | 8 +- .../geode/cache/query/cq/internal/CqQueryImpl.java | 2 +- 7 files changed, 248 insertions(+), 48 deletions(-)
[geode] branch develop updated (1854423 -> 71e156a)
This is an automated email from the ASF dual-hosted git repository. jjramos pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git. from 1854423 GEODE-7796: CI failure in LocatorDUnitTest (#4693) add 71e156a GEODE-7789: Cache DurableClienAttributes (#4687) No new revisions were added by this update. Summary of changes: .../codeAnalysis/sanctionedDataSerializables.txt | 6 +- .../membership/InternalDistributedMember.java | 32 -- .../membership/InternalDistributedMemberTest.java | 109 +++-- 3 files changed, 132 insertions(+), 15 deletions(-)