-
Notifications
You must be signed in to change notification settings - Fork 695
GEODE-9460: Add testing for mutli-user scenarios #6755
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GEODE-9460: Add testing for mutli-user scenarios #6755
Conversation
| RegionService regionService = clientCache.createAuthenticatedView(userSecurityProperties); | ||
| Region<Object, Object> region = regionService.getRegion("/region"); | ||
| region.put(1, "value1"); | ||
| regionService.close(); |
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
mhansonp
left a comment
There was a problem hiding this 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(); | ||
| }); | ||
|
|
There was a problem hiding this comment.
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?
There was a problem hiding this 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.
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.
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
340e8c6 to
4be645b
Compare
onichols-pivotal
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please resolve conflicts
9a2f67f to
c4af9d3
Compare
c4af9d3 to
a6d7ed3
Compare
Co-Authored-By Jinmei Liao <jiliao@vmware.com>
| UpdatableUserAuthInitialize.setUser("user2"); | ||
| ClientCache clientCache = ClusterStartupRule.getClientCache(); | ||
| Region region = clientCache.getRegion("region"); | ||
| assert clientCache != null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here and elsewhere...
mhansonp
left a comment
There was a problem hiding this 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.
Co-Authored-By Jinmei Liao <jiliao@vmware.com>
Co-Authored-By Jinmei Liao <jiliao@vmware.com>
* 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>
… (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>
… (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>
…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
… (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>
… (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>
…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
…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
…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
…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
… (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>
…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
…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
…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
… (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>
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 buildrun 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.