Closed SawamiWataru closed 6 years ago
MemcachedClient#put()
if (this.spyClient.replace(key, expiresIn, object).get()) { return true; } else { return this.spyClient.add(key, expiresIn, object).get(); }
If false is returned, an error occurs.
Problems may occur at the time of simultaneous access.
Assume that API to be executed concurrently is [API-1] [API-2]. A phenomenon occurs when the following processing order is reached.
As a result, it is not an abnormal state, but it is an error.
If add fails, calling replace again.
Solved in v1.5.4.
Personium source code
MemcachedClient#put()
If false is returned, an error occurs.
Problem
Problems may occur at the time of simultaneous access.
Assume that API to be executed concurrently is [API-1] [API-2]. A phenomenon occurs when the following processing order is reached.
As a result, it is not an abnormal state, but it is an error.