[ https://issues.apache.org/jira/browse/GEODE-6989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Hanson closed GEODE-6989. ------------------------------ Transition from Resolved to Closed for Apache Geode 1.11.0 RC4 release. > Use Caching for Already Authorized Methods > ------------------------------------------ > > Key: GEODE-6989 > URL: https://issues.apache.org/jira/browse/GEODE-6989 > Project: Geode > Issue Type: New Feature > Components: querying > Reporter: Juan Ramos > Assignee: Juan Ramos > Priority: Major > Labels: GeodeCommons > Fix For: 1.11.0 > > Time Spent: 4h > Remaining Estimate: 0h > > We already > [cache|https://github.com/apache/geode/blob/rel/v1.9.0/geode-core/src/main/java/org/apache/geode/cache/query/internal/CompiledOperation.java#L267-L285] > created instances of {{MethodDispatch}} to avoid creating them for every > query. Modify the {{MethodDispatch}} class to remember whether the method was > allowed by a previous invocation, preventing further calls to the respective > {{authorizer}} if it was. We also > [cache|https://github.com/apache/geode/blob/rel/v1.9.0/geode-core/src/main/java/org/apache/geode/cache/query/internal/AttributeDescriptor.java#L148-L170] > within the {{AttributeDescriptor}} class the member already read by > reflection for a particular attribute to avoid doing it again and again in > every query. Modify the {{AttributeDescriptor}} class to remember whether the > accessor method was allowed by a previous invocation, preventing further > calls to the respective {{authorizer}} if it was. > Currently this internal caching is done statically through a static > {{ConcurrentMap}}, we want something to store this information within the > {{QueryExecutionContext}} so the authorization logic is executed once per > query. -- This message was sent by Atlassian Jira (v8.3.4#803005)