Bug #3104
LocalCache in libclient_java can't be disabled
0%
Description
the property D1Client.useLocalCache controls whether LocalCache is used for caching objects and systemMetadata.
However, setting to false does not stop the LocalCache from being instantiated or these objects from being stored - only whether they will be used or not on a given call.
Two problems arise from this:
1. not all clients will want to incur the associated memory or disk costs
2. caching involves first copying the inputStream to a byteArray, then returning a byteArrayInputStream, which is of course problematic when dealing with large dataObjects.
d1_auditing_java is especially sensitive to the mandatory caching, as it will cycle through the entire collection of objects and systemMetadata, without ever needing to retrieve them again.
History
#1 Updated by Rob Nahf over 12 years ago
- Category set to d1_libclient_java
- Assignee set to Rob Nahf
#2 Updated by Rob Nahf over 12 years ago
- Status changed from New to Rejected
the inputSteam for get() and getReplica() was changed to be buffered not for LocalCache, but to allow httpClient to close connections.
cannot confirm the de facto caching of objects - it seems that my application failed to pick up the 'useLocalCache' setting briefly.