Guanghao Zhang created HBASE-22193:
--------------------------------------
Summary: Reduce the default ASSIGN_MAX_ATTEMPTS config
Key: HBASE-22193
URL: https://issues.apache.org/jira/browse/HBASE-22193
Project: HBase
Issue Type: Improvement
Reporter: Guanghao Zhang
{code:java}
public static final String ASSIGN_MAX_ATTEMPTS =
"hbase.assignment.maximum.attempts";
private static final int DEFAULT_ASSIGN_MAX_ATTEMPTS = Integer.MAX_VALUE;
{code}
Now the default config is Integer.MAX_VALUE.
{code:java}
2019-04-09,10:50:44,921 INFO
org.apache.hadoop.hbase.master.assignment.TransitRegionStateProcedure:
Retry=170813 of max=2147483647; pid=2849, ppid=2846,
state=RUNNABLE:REGION_STATE_TRANSITION_CONFIRM_OPENED, locked=true;
TransitRegionStateProcedure table=IntegrationTestBigLinkedList,
region=634feb79a583480597e1843647d11228, REOPEN/MOVE; rit=OPENING,
location=c4-hadoop-tst-st26.bj,29100,1554262369262
{code}
The ITBLL failed to open the region as HBASE-22163 and retry 170813 to reopen.
After I fixed the problem and restart master, I found it need take a long time
to init the old procedure logs because there are too many old logs...
Code in WALProcedureStore,java.
{code:java}
private long initOldLogs(FileStatus[] logFiles) throws IOException {
if (logFiles == null || logFiles.length == 0) {
return 0L;
}
long maxLogId = 0;
for (int i = 0; i < logFiles.length; ++i) {
final Path logPath = logFiles[i].getPath();
leaseRecovery.recoverFileLease(fs, logPath);
if (!isRunning()) {
throw new IOException("wal aborting");
}
maxLogId = Math.max(maxLogId, getLogIdFromName(logPath.getName()));
ProcedureWALFile log = initOldLog(logFiles[i], this.walArchiveDir);
if (log != null) {
this.logs.add(log);
}
}
initTrackerFromOldLogs();
return maxLogId;
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)