fix invalid data or checksum error
This commit is contained in:
@ -769,9 +769,9 @@ int LogColdCache::fill_cache_lines_(const int64_t flashback_version,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OB_SIZE_OVERFLOW == ret) {
|
if (OB_SIZE_OVERFLOW == ret || OB_ALLOCATE_MEMORY_FAILED == ret) {
|
||||||
ret = OB_SUCCESS;
|
ret = OB_SUCCESS;
|
||||||
PALF_LOG(TRACE, "LogCache size is up to limit, can't fill logs", K(flashback_version), K(fill_lsn), PRINT_INFO);
|
PALF_LOG(TRACE, "can't fill logs because of memory limit", K(flashback_version), K(fill_lsn), PRINT_INFO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,6 +190,18 @@ public:
|
|||||||
IPalfEnvImpl *palf_env_impl,
|
IPalfEnvImpl *palf_env_impl,
|
||||||
LogStorage *log_storage);
|
LogStorage *log_storage);
|
||||||
void destroy();
|
void destroy();
|
||||||
|
// @brief: read logs from cold cache. If miss cold cache, read logs from the disk and fill cold cache
|
||||||
|
// @param[in] const int64_t flashback_version: flashback_version from LogStorage
|
||||||
|
// @param[in] const LSN &lsn: start lsn for read
|
||||||
|
// @param[in] const int64_t in_read_size: needed read size
|
||||||
|
// @param[out] ReadBuf &read_buf: buf for read logs
|
||||||
|
// @param[out] int64_t &out_read_size: actual read size
|
||||||
|
// @param[out] LogIteratorInfo *iterator_info: iterator info
|
||||||
|
// @return
|
||||||
|
// - OB_SUCCESS: read logs successfully
|
||||||
|
// - OB_INVALID_ARGUEMENTS: invalid arguments
|
||||||
|
// - OB_IO_ERROR: error when reading disk
|
||||||
|
// - other: bug
|
||||||
int read(const int64_t flashback_version,
|
int read(const int64_t flashback_version,
|
||||||
const LSN &lsn,
|
const LSN &lsn,
|
||||||
const int64_t in_read_size,
|
const int64_t in_read_size,
|
||||||
|
Reference in New Issue
Block a user