@InterfaceAudience.Private public class SplitWALCallable extends Object implements RSProcedureCallable
SplitWALRemoteProcedure from master and executed
 by executor service which is in charge of executing the events of EventType.RS_LOG_REPLAY
 When execute this callable, it will call SplitLogWorker.splitLog() to split the WAL.
 If the return value is SplitLogWorker.TaskExecutor.Status.DONE, it means the task is successful
 and it will return null to end the call. Otherwise it will throw an exception and let
 SplitWALRemoteProcedure to handle this problem.
 This class is to replace the zk-based WAL splitting related code, SplitLogWorker,
 SplitLogWorkerCoordination and
 ZkSplitLogWorkerCoordination can be removed after
 we switch to procedure-based WAL splitting.| Modifier and Type | Class and Description | 
|---|---|
| static class  | SplitWALCallable.ErrorWALSplitException | 
| static class  | SplitWALCallable.PreemptedWALSplitException | 
| static class  | SplitWALCallable.ResignedWALSplitException | 
| Modifier and Type | Field and Description | 
|---|---|
| private Exception | initError | 
| private static org.slf4j.Logger | LOG | 
| private HRegionServer | rs | 
| private Lock | splitWALLock | 
| private KeyLocker<String> | splitWALLocks | 
| private String | walPath | 
| Constructor and Description | 
|---|
| SplitWALCallable() | 
| Modifier and Type | Method and Description | 
|---|---|
| Void | call() | 
| EventType | getEventType()Event type used to select thread pool. | 
| String | getWalPath() | 
| void | init(byte[] parameter,
    HRegionServer rs)Initialize the callable | 
private static final org.slf4j.Logger LOG
private HRegionServer rs
private final KeyLocker<String> splitWALLocks
private volatile Lock splitWALLock
public SplitWALCallable()
public void init(byte[] parameter, HRegionServer rs)
RSProcedureCallableinit in interface RSProcedureCallableparameter - the parameter passed from master.rs - the regionserver instancepublic EventType getEventType()
RSProcedureCallablegetEventType in interface RSProcedureCallablepublic String getWalPath()
Copyright © 2007–2021 The Apache Software Foundation. All rights reserved.