Client is not reliably removing itself from client records on shutdown

Description

Test

7.0-stable Vs JAVA_SDK_MASTER / com.couchbase.transactions.cleanup.LostCleanupForSDKIntegrationTest.previouslyFailedTransactionIsCleanedUp_transactionCleanupConfigCollection

is intermittently failing.  I've drilled in and it's because the performer has found an old client still registered in the client record.  The relevant logs are in this gist, and it's unclear at this time whether this is a FIT or an implementation issue.

Update: appears to be an implementation issue.  I can see evidence that the implementation thinks it has removed a client from the client records (can see logging 'stopped lost cleanup process and removed client from client records'), but it actually hasn't, and the 'removed from client record' line isn't being logged.

The impact of this should be non-existent in real-world deployments.  This only affects FIT.

Also affecting tests like LostCleanupForSDKIntegrationRBACTest.userWithoutWritePermissionsFailsTocleanup_metadataCollection and LostCleanupForSDKIntegrationRBACTest.cleansupCollectionWithReadWritePerms_doesNotCleanupCollectionWithReadOnlyPerms.

 

Environment

None

Gerrit Reviews

None

Release Notes Description

None

Activity

Show:

Graham Pople July 27, 2022 at 12:50 PM

Think I've found it:

So the client is in the process of updating the client record, as it's also removing itself from the client record.  Race.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Components

Sprint

Fix versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created June 30, 2022 at 11:41 AM
Updated July 28, 2022 at 2:00 PM
Resolved July 28, 2022 at 2:00 PM
Instabug