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:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced in the 
commit message?

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?

- [X] Is your initial contribution a single, squashed commit?

- [X] Does `gradlew build` run cleanly?

- [X] 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](http://www.apache.org/legal/resolved.html#category-a)?

### 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 [email protected].


[ Full content available at: https://github.com/apache/geode/pull/2360 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to