/** * Return the length of record from {@link LocalCache} if available, * otherwise retrieve it from {@link Backend}. */ public long getLength(final DataIdentifier identifier) throws DataStoreException { String fileName = getFileName(identifier); Long length = recLenCache.get(identifier); if (length != null) { LOG.trace(" identifier [{}] length fetched from recLengthCache", identifier); return length; } else if ((length = cache.getFileLength(fileName)) != null) { LOG.trace(" identifier [{}] length fetched from local cache", identifier); recLenCache.put(identifier, length); return length; } else { length = backend.getLength(identifier); LOG.debug(" identifier [{}] length fetched from backend", identifier); recLenCache.put(identifier, length); asyncDownload(identifier); return length; } }
/** * Return lastModified of record from {@link Backend} assuming * {@link Backend} as a single source of truth. */ public long getLastModified(DataIdentifier identifier) throws DataStoreException { String fileName = getFileName(identifier); long lastModified = asyncWriteCache.getLastModified(fileName); if (lastModified != 0) { LOG.trace( "identifier [{}], lastModified=[{}] retrireved from AsyncUploadCache ", identifier, lastModified); } else if (asyncTouchCache.get(identifier) != null) { lastModified = asyncTouchCache.get(identifier); LOG.trace( "identifier [{}], lastModified=[{}] retrireved from asyncTouchCache ", identifier, lastModified); } else { lastModified = backend.getLastModified(identifier); LOG.debug( "identifier [{}], lastModified=[{}] retrireved from backend ", identifier, lastModified); asyncDownload(identifier); } return lastModified; }
/** * Return lastModified of record from {@link Backend} assuming * {@link Backend} as a single source of truth. */ public long getLastModified(DataIdentifier identifier) throws DataStoreException { String fileName = getFileName(identifier); long lastModified = asyncWriteCache.getLastModified(fileName); if (lastModified != 0) { LOG.trace( "identifier [{}], lastModified=[{}] retrireved from AsyncUploadCache ", identifier, lastModified); } else if (asyncTouchCache.get(identifier) != null) { lastModified = asyncTouchCache.get(identifier); LOG.trace( "identifier [{}], lastModified=[{}] retrireved from asyncTouchCache ", identifier, lastModified); } else { lastModified = backend.getLastModified(identifier); LOG.debug( "identifier [{}], lastModified=[{}] retrireved from backend ", identifier, lastModified); asyncDownload(identifier); } return lastModified; }
/** * Return the length of record from {@link LocalCache} if available, * otherwise retrieve it from {@link Backend}. */ public long getLength(final DataIdentifier identifier) throws DataStoreException { String fileName = getFileName(identifier); Long length = recLenCache.get(identifier); if (length != null) { LOG.trace(" identifier [{}] length fetched from recLengthCache", identifier); return length; } else if ((length = cache.getFileLength(fileName)) != null) { LOG.trace(" identifier [{}] length fetched from local cache", identifier); recLenCache.put(identifier, length); return length; } else { length = backend.getLength(identifier); LOG.debug(" identifier [{}] length fetched from backend", identifier); recLenCache.put(identifier, length); asyncDownload(identifier); return length; } }
/** * Return the length of record from {@link LocalCache} if available, * otherwise retrieve it from {@link Backend}. */ public long getLength(final DataIdentifier identifier) throws DataStoreException { String fileName = getFileName(identifier); Long length = recLenCache.get(identifier); if (length != null) { LOG.trace(" identifier [{}] length fetched from recLengthCache", identifier); return length; } else if ((length = cache.getFileLength(fileName)) != null) { LOG.trace(" identifier [{}] length fetched from local cache", identifier); recLenCache.put(identifier, length); return length; } else { length = backend.getLength(identifier); LOG.debug(" identifier [{}] length fetched from backend", identifier); recLenCache.put(identifier, length); asyncDownload(identifier); return length; } }
/** * Return lastModified of record from {@link Backend} assuming * {@link Backend} as a single source of truth. */ public long getLastModified(DataIdentifier identifier) throws DataStoreException { String fileName = getFileName(identifier); long lastModified = asyncWriteCache.getLastModified(fileName); if (lastModified != 0) { LOG.trace( "identifier [{}], lastModified=[{}] retrireved from AsyncUploadCache ", identifier, lastModified); } else if (asyncTouchCache.get(identifier) != null) { lastModified = asyncTouchCache.get(identifier); LOG.trace( "identifier [{}], lastModified=[{}] retrireved from asyncTouchCache ", identifier, lastModified); } else { lastModified = backend.getLastModified(identifier); LOG.debug( "identifier [{}], lastModified=[{}] retrireved from backend ", identifier, lastModified); asyncDownload(identifier); } return lastModified; }