Fixed
Pinned fields
Click on the next to a field label to start pinning.
Details
Components
Assignee
Kanghua WangKanghua Wang(Deactivated)Reporter
Gavin HallidayGavin HallidayPriority
MajorFix versions
Details
Details
Components
Assignee
Kanghua Wang
Kanghua Wang(Deactivated)Reporter
Gavin Halliday
Gavin HallidayPriority
Fix versions
Created June 12, 2017 at 1:39 PM
Updated July 27, 2017 at 8:18 AM
Resolved July 27, 2017 at 8:18 AM
The PR for https://hpccsystems.atlassian.net/browse/HPCC-12516#icft=HPCC-12516 contains various problems:
The system doesn't compile if USE_LIBMEMCACHED is not defined. (HPCC-17797)
Various functions are not thread safe. E.g., ensureMemCachedClient(), addMemCachedGlobal, addMemCachedSeconds { setCacheTimeout(value, global) would be a cleaner interface }
It wasn't obvious how the timeouts were implemented.
queryMemCacheSeconds is casting to unsigned, but returning an int. That will cause warnings on windows.
Also, the interface should be more abstract that it is. memcached is an implementation detail - it definitely shouldn't be included in the names of the member functions. What happens if we switch from memcached to another implementation?
memCachedClient should be a pointer to a caching interface.
ESPMemCached should be an implementation of a general caching interface. There shouldn't be any references to memcached in httptransport.hpp/ipp/cpp.