Description
Reviewing MemcachedClient, there are a few issues that need to be resolved:
- The dispose/finalize logic itself is not correct in MemcachedClient. GCSuppressFinalize shouldn't be called during finalization for example.
- The finalizer contains code (logging) that could throw an exception if the config was not setup correctly or if It cannot create the instance for some reason
Attachments
For Gerrit Dashboard: NCBC-585 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
42451,4 | NCBC-585: Make Cluster object use Dispose correctly | master | couchbase-net-client | Status: MERGED | +2 | +1 |
42671,2 | NCBC-585: Refactor finalization logic so that Exceptions are not thrown on finalizer thread | release13 | couchbase-net-client | Status: ABANDONED | +2 | +1 |