Skip to content

Conversation

@jujoramos
Copy link
Contributor

GEODE-5618: FunctionService.onServer() and FunctionService.onRegion() fail when multiuser-authentication=true

When a client executes a function using the id instead of the actual
instance, an internal invocation to the GetFunctionAttributeOp
function is executed to get the metadata about the original function
itself. This invocation doesn't set the user attributes requried by the
authentication mechanism, so the entire invocation fails.

  • Added distributed tests.
  • Classes ServerFunctionExecutor and
    ServerRegionFunctionExecutor now set the userAttributes in the
    local thread before getting the metadata when the function is
    executed by id.

Thank you for submitting a contribution to Apache Geode.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

  • Has your PR been rebased against the latest commit within the target branch (typically develop)?

  • Is your initial contribution a single, squashed commit?

  • Does gradlew build run cleanly?

  • Have you written or updated unit tests to verify your changes?

  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:

Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to dev@geode.apache.org.

When a client executes a function using the id instead of the actual
instance, an internal invocation to the `GetFunctionAttributeOp`
function is executed to get the metadata about the original function
itself. This invocation doesn't set the user attributes requried by the
authentication mechanism, so the entire invocation fails.

- Added distributed tests.
- Classes `ServerFunctionExecutor` and
  `ServerRegionFunctionExecutor` now set the `userAttributes` in the
  local thread before getting the metadata when the function is
  executed by id.
@nabarunnag nabarunnag merged commit 60ea939 into apache:develop Aug 28, 2018
ghost pushed a commit to PurelyApplied/geode that referenced this pull request Aug 31, 2018
   * When a client executes a function using the id instead of the actual instance, an internal invocation to the `GetFunctionAttributeOp` function is executed to get the metadata about the original function itself. This invocation doesn't set the user attributes requried by the authentication mechanism, so the entire invocation fails.
   * Added distributed tests.
   * Classes `ServerFunctionExecutor` and `ServerRegionFunctionExecutor` now set the `userAttributes` in the local thread before getting the metadata when the function is executed by id.
@jujoramos jujoramos deleted the feature/GEODE-5618 branch May 25, 2019 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants