Skip to content

Conversation

@jmelchio
Copy link
Contributor

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, check Concourse 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.

RegionService regionService = clientCache.createAuthenticatedView(userSecurityProperties);
Region<Object, Object> region = regionService.getRegion("/region");
region.put(1, "value1");
regionService.close();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would think user would continue to use same regionService and expect the next put to succeed. (the whole expire user and re-authenticate happens behind the scene and the client is doing operations like nothing happened).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. I'll see if I can find reuse the same regionService from one clientVM invocation to another. If you have ideas on how to accomplish this I'm open to suggestions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was unable to reuse the regionService but came up with a way accomplish the automatic re-authentication behind the scenes with changes to the AuthInitialize implementation we're using for the tests.

Copy link
Contributor

@mhansonp mhansonp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am confused about the repetition of the clientvm blocks rather than continuing it.

region.put(0, "value0");
regionService.close();
});

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are splitting this blocks for the same VM?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am confused about the repetition of the `clientvm blocks rather than continuing it.

You're right, in most cases they can be continued. I organized it this way as logical steps but unless we add a user to the expired user list in between there is no need for separation of the blocks. I will change it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One note that is most likely irrelevant in this case is that splitting it takes more time for context switching.

ClientCache clientCache = ClusterStartupRule.getClientCache();
UpdatableUserAuthInitialize.setUser("user1");
ClientRegionFactory clientRegionFactory =
assert clientCache != null;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use actual Assertions in tests instead of Java asserts.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason for the java assert is not to test something but to get rid of a warning in the gutter. I assume that this is a valid use of java asserts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm of the mindset that an assertThat(clientCache).isNotNull(); would be better than what is there. That is pretty much the standard in tests. Whether it is to clear a warning or not.

Copy link
Contributor

@onichols-pivotal onichols-pivotal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please resolve conflicts

@jmelchio jmelchio force-pushed the expireAuthentication branch from 9a2f67f to c4af9d3 Compare August 19, 2021 18:14
@jmelchio jmelchio force-pushed the expireAuthentication branch from c4af9d3 to a6d7ed3 Compare August 19, 2021 18:26
Co-Authored-By Jinmei Liao <jiliao@vmware.com>
UpdatableUserAuthInitialize.setUser("user2");
ClientCache clientCache = ClusterStartupRule.getClientCache();
Region region = clientCache.getRegion("region");
assert clientCache != null;
Copy link
Contributor

@mhansonp mhansonp Aug 19, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here and elsewhere...

Copy link
Contributor

@mhansonp mhansonp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have changes I would really like to see, but I don't have any that I would require.

@jinmeiliao jinmeiliao merged commit 6c1bf75 into apache:expireAuthentication Aug 20, 2021
jinmeiliao pushed a commit that referenced this pull request Aug 23, 2021
Co-Authored-By Jinmei Liao <jiliao@vmware.com>
jinmeiliao added a commit that referenced this pull request Aug 25, 2021
…#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>
jmelchio added a commit to jmelchio/geode that referenced this pull request Aug 26, 2021
Co-Authored-By Jinmei Liao <jiliao@vmware.com>
jmelchio added a commit that referenced this pull request Aug 30, 2021
* GEODE-9456, GEODE-9452: Authentication Expiration (#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>
jinmeiliao added a commit to jinmeiliao/geode that referenced this pull request Mar 23, 2022
… (squashed)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9451: On demand authentication expiration and re-authentication (apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>
jinmeiliao added a commit to jinmeiliao/geode that referenced this pull request Mar 23, 2022
… (squashed)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9451: On demand authentication expiration and re-authentication (apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>
jmelchio pushed a commit to jmelchio/geode that referenced this pull request Mar 23, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors
jinmeiliao added a commit to jinmeiliao/geode that referenced this pull request Mar 24, 2022
… (squashed)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9451: On demand authentication expiration and re-authentication (apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>
jinmeiliao added a commit to jinmeiliao/geode that referenced this pull request Mar 24, 2022
… (squashed)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9451: On demand authentication expiration and re-authentication (apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>
jmelchio pushed a commit to jmelchio/geode that referenced this pull request Mar 25, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors
jmelchio pushed a commit to jmelchio/geode that referenced this pull request Mar 25, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors
jmelchio pushed a commit to jmelchio/geode that referenced this pull request Mar 28, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors

Still more compile errors

Fix assembly content file

Fix sanctioned-geode-core-serializables

GEODE-10163: upgradeTest serialization issues (apache#7488)

- AuthExpirationTransactionUpgradeTest had issues with serialization of
  TXId class between different versions of test VMs during the
  upgradeTest.
- Change made to the test so that we serialize a String instead of the
  TXId to avoid this issue and gain the ability to run the test across a
  wider range of client versions.

Back-port test fixes and adjust versions

Reduce number of upgrade version to run against

Manually fix merge errors

- as a result of rebase on support/1.14
jmelchio added a commit to jmelchio/geode that referenced this pull request Mar 28, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors

Still more compile errors

Fix assembly content file

Fix sanctioned-geode-core-serializables

GEODE-10163: upgradeTest serialization issues (apache#7488)

- AuthExpirationTransactionUpgradeTest had issues with serialization of
  TXId class between different versions of test VMs during the
  upgradeTest.
- Change made to the test so that we serialize a String instead of the
  TXId to avoid this issue and gain the ability to run the test across a
  wider range of client versions.

Back-port test fixes and adjust versions

Reduce number of upgrade version to run against

Manually fix merge errors

- as a result of rebase on support/1.14
jinmeiliao added a commit to jinmeiliao/geode that referenced this pull request Mar 29, 2022
… (squashed)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9451: On demand authentication expiration and re-authentication (apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>
jmelchio pushed a commit to jmelchio/geode that referenced this pull request Mar 30, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors

Still more compile errors

Fix assembly content file

Fix sanctioned-geode-core-serializables

GEODE-10163: upgradeTest serialization issues (apache#7488)

- AuthExpirationTransactionUpgradeTest had issues with serialization of
  TXId class between different versions of test VMs during the
  upgradeTest.
- Change made to the test so that we serialize a String instead of the
  TXId to avoid this issue and gain the ability to run the test across a
  wider range of client versions.

Back-port test fixes and adjust versions

Reduce number of upgrade version to run against

Manually fix merge errors

- as a result of rebase on support/1.14

Change SystemPropertyHelper back for expiry
jmelchio added a commit to jmelchio/geode that referenced this pull request Mar 30, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors

Still more compile errors

Fix assembly content file

Fix sanctioned-geode-core-serializables

GEODE-10163: upgradeTest serialization issues (apache#7488)

- AuthExpirationTransactionUpgradeTest had issues with serialization of
  TXId class between different versions of test VMs during the
  upgradeTest.
- Change made to the test so that we serialize a String instead of the
  TXId to avoid this issue and gain the ability to run the test across a
  wider range of client versions.

Back-port test fixes and adjust versions

Reduce number of upgrade version to run against

Manually fix merge errors

- as a result of rebase on support/1.14

Temp checkin not to lose changes

Fix things and so on

Everything appears to compile version
jmelchio added a commit to jmelchio/geode that referenced this pull request Mar 30, 2022
…apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

Fix some compile errors

Fix more compile errors

Still more compile errors

Fix assembly content file

Fix sanctioned-geode-core-serializables

GEODE-10163: upgradeTest serialization issues (apache#7488)

- AuthExpirationTransactionUpgradeTest had issues with serialization of
  TXId class between different versions of test VMs during the
  upgradeTest.
- Change made to the test so that we serialize a String instead of the
  TXId to avoid this issue and gain the ability to run the test across a
  wider range of client versions.

Back-port test fixes and adjust versions

Reduce number of upgrade version to run against

Manually fix merge errors

- as a result of rebase on support/1.14

Temp checkin not to lose changes

Fix things and so on

Everything appears to compile version
jinmeiliao added a commit to jinmeiliao/geode that referenced this pull request Apr 1, 2022
… (squashed)

GEODE-10042: do not make ClientUserAuths null when we are not unregister client yet. (apache#7357)

* make cleanUserAuths synchronized to avoid NPE
* This also pass down client termination reason when we clean up client threads.
* since we introduced a lock object for clientUserAuths, revert some  old code to not to catch NPE but use the lock
* synchronize all clientUserAuths updates.

GEODE-9985: add region redundancy to avoid data loss. (apache#7308)

GEODE-9900: ensure AuthenticationExpiredException handling (apache#7207)

* GEODE-9900: ensure AuthenticationExpiredException handling

- in CloseCQ command
- Add unit tests to confirm proper message is sent

GEODE-9875: client operation should not send in invalid userId. (apache#7173)

GEODE-9867: do not process the message if the connection is terminated (apache#7158)

GEODE-9803: Fix the flaky "Failed To find authenticated user" problem (apache#7149)

* GEODE-9803: Fix the flaky "Failed To find authenticated user" problem

* Only to update subject on the ClientCacheProxy if it's waiting for re-auth
* logout the subject in one place when we close the dispatcher
* reset the timer when we stopped waiting

GEODE-9820: stopCQ should handle general exception same way as ExecuteCQ61 (apache#7122)

GEODE-9803: turning on security debug log in the test and add more debug logging (apache#7117)

GEODE-9746: do not logout old subjects immediately when we get a new subject for the same uniqueId (apache#7063)

* add more logging for future debugging
* minor bug fix in CacheClientProxy

GEODE-9792: synchronize multi-user authentication on different threads (apache#7088)

GEODE-9792: avoid sending in multiple authentication request on the same connection by different threads. (apache#7067)

GEODE-9723: test transactions with auth expiration (apache#7012)

Add tests to confirm that client transactions are not disrupted when authentication expires and automatic re-authentication takes place.

    complete transaction with commit
    transaction rollback
    suspended and resumed transaction with commit
    failed re-authentication with commit and rollback on partial transaction
    add test to include PARTITION region behavior

GEODE-9674: For durable client, when client reconnects, server should retrieve the message from the queue, not continue to try to deliver the last un-delivered message.

GEODE-9749: ignore the test case that shows GEODE-9704. (apache#7015)

GEODE-9534, GEODE-9540: add more tests for peer communication and bulk operations (apache#6985)

* add more tests for durable clients

GEODE-9674: fix durable client message loss issue in tests. (apache#6947)

* for caching_proxy region, count the events received instread of the region size
* do not try to dispatch residual messages when exception occurred.
* add durable client flag when register interest

GEODE-9534: get rid of some test warnings (apache#6945)

GEODE-9663: refactor authenticateIfRequired (apache#6948)

GEODE-9663: throw and handle AuthenticationExpiredException at login time (apache#6927)

* GEODE-9663: throw and handle AuthenticationExpiredException at login time

GEODE-9658: refactor test AuthInit to not use static field for credentials. (apache#6922)

GEODE-9570: make sure re-authentication works with registered interests (apache#6885)

GEODE-9459: testing clients with WAN connected cluster (apache#6901)

GEODE-9457: re-authentication in event dispatcher (apache#6835)

* authorize the message before dispatching the message to the client
* add a new message type to be sent to the client for re-authentiate
* message dispatcher will wait for a certain time for client to reauthenticate before terminating the client
* when re-authenticate, the new subject will re-use the original uniqueId. Credentials will be sent to the user along with the old uniqueId if exists.
* old subject will be cleaned out when new subject re-authenticate back.
* re-auth multi-user mode in event dispatching is not supported (yet).

GEODE-9458: Enhance function execution testing auth expiry (apache#6865)

* GEODE-9458: Enhance function execution testing auth expiry

GEODE-9521: add more multi-server test scenario (apache#6860)

* remove the static methods in ExpirableSecurityManager

GEODE-9586: modify 1.15.0's client server protocol version (apache#6846)

GEODE-9458: function execution with expiring authentication (apache#6789)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)

* Add tests and throw AuthenticationExpiredException
Co-authored-by: Joris Melchior <joris.melchior@gmail.com>

* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-Authored-By Jinmei Liao <jiliao@vmware.com>

* review update

* revert accidental change

* GEODE-9458: function execution with expiring authentication

* Changes based on review

* Changes based on review, parameterization

Co-authored-by: Jinmei Liao <jiliao@pivotal.io>

GEODE-9451: On demand authentication expiration and re-authentication (apache#6787)

* GEODE-9456, GEODE-9452: Authentication Expiration (apache#6721)
* Add tests and throw AuthenticationExpiredException
* GEODE-9460: Add testing for mutli-user scenarios (apache#6755)

Co-authored-by: Joris Melchior <joris.melchior@gmail.com>
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.

5 participants