Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.20.1, 2.20.2, 2.21.0
-
Novice
-
Patch
Description
I recently noticed that there is wrong entry order in file using
FileIdempotentRepository implementation.
The effect is that instead of having order like:
file1.txt.20171123
file2.txt.20171123
file1.txt.20171124
file3.txt.20171125
file2.txt.20171126
we have:
file1.txt.20171123
file1.txt.20171124
file2.txt.20171123
file2.txt.20171126
file3.txt.20171125
where date extension represents order in which particular file was consumed
by the idempotent file consumer.
As a consequence instead of initializing memory cache with newest values,
it is initialized (probably) based on hash function from truncStore method
and we consume same file more than once:
protected void trunkStore() {
LOG.info("Trunking idempotent filestore: {}", fileStore);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(fileStore);
for (String key : cache.keySet())
} catch (IOException e)
finally
{ IOHelper.close(fos, "Trunking file idempotent repository", LOG); }
}
Attachments
Issue Links
- relates to
-
CAMEL-12148 File idempotent store - The 1st-level LRUCache should only be a means of quick lookup
- Resolved
- links to