[feat](fe) Add ignore_bdbje_log_checksum_read for BDBEnvironment (#31247)

* https://forums.oracle.com/ords/apexds/post/je-log-checksumexception-2812

* When meeting disk damage or other reason described in the oracle forums
  and fe cannot start due to `com.sleepycat.je.log.ChecksumException`, we
  add a param `ignore_bdbje_log_checksum_read` to ignore the exception, but
  there is no guarantee of correctness for bdbje kv data

Co-authored-by: Yongqiang YANG <98214048+dataroaring@users.noreply.github.com>
This commit is contained in:
Lei Zhang
2024-04-22 21:32:12 +08:00
committed by yiguolei
parent 9bb149b3be
commit 2a1fbfd72c
2 changed files with 14 additions and 0 deletions

View File

@ -2547,6 +2547,15 @@ public class Config extends ConfigBase {
options = {"default", "ranger-doris"})
public static String access_controller_type = "default";
/* https://forums.oracle.com/ords/apexds/post/je-log-checksumexception-2812
when meeting disk damage or other reason described in the oracle forums
and fe cannot start due to `com.sleepycat.je.log.ChecksumException`, we
add a param `ignore_bdbje_log_checksum_read` to ignore the exception, but
there is no guarantee of correctness for bdbje kv data
*/
@ConfField
public static boolean ignore_bdbje_log_checksum_read = false;
@ConfField(description = {"指定 mysql登录身份认证类型",
"Specifies the authentication type"},
options = {"default", "ldap"})

View File

@ -143,6 +143,11 @@ public class BDBEnvironment {
environmentConfig.setConfigParam(EnvironmentConfig.FREE_DISK,
String.valueOf(Config.bdbje_free_disk_bytes));
if (Config.ignore_bdbje_log_checksum_read) {
environmentConfig.setConfigParam(EnvironmentConfig.LOG_CHECKSUM_READ, "false");
LOG.warn("set EnvironmentConfig.LOG_CHECKSUM_READ false");
}
if (BDBJE_LOG_LEVEL.contains(Config.bdbje_file_logging_level)) {
java.util.logging.Logger parent = java.util.logging.Logger.getLogger("com.sleepycat.je");
parent.setLevel(Level.parse(Config.bdbje_file_logging_level));