Search in sources :

Example 1 with SafeModeManager

use of alluxio.master.SafeModeManager in project alluxio by Alluxio.

the class MasterTestUtils method createFileSystemMasterFromJournal.

/**
 * Creates a new {@link FileSystemMaster} from journal along with its dependencies, and returns
 * the master registry and the journal system.
 *
 * @param isLeader whether to start as a leader
 * @param userState the user state for the server. if null, will use ServerUserState.global()
 * @param journalFolder the folder of the master journal
 * @return a resource that contains the master registry and the journal system
 */
private static FsMasterResource createFileSystemMasterFromJournal(boolean isLeader, UserState userState, String journalFolder) throws Exception {
    String masterJournal = journalFolder;
    MasterRegistry registry = new MasterRegistry();
    SafeModeManager safeModeManager = new TestSafeModeManager();
    long startTimeMs = System.currentTimeMillis();
    int port = ServerConfiguration.getInt(PropertyKey.MASTER_RPC_PORT);
    String baseDir = ServerConfiguration.getString(PropertyKey.MASTER_METASTORE_DIR);
    JournalSystem journalSystem = JournalTestUtils.createJournalSystem(masterJournal);
    if (userState == null) {
        userState = ServerUserState.global();
    }
    CoreMasterContext masterContext = CoreMasterContext.newBuilder().setJournalSystem(journalSystem).setSafeModeManager(safeModeManager).setBackupManager(mock(BackupManager.class)).setBlockStoreFactory(MasterUtils.getBlockStoreFactory(baseDir)).setInodeStoreFactory(MasterUtils.getInodeStoreFactory(baseDir)).setStartTimeMs(startTimeMs).setUserState(userState).setPort(port).setUfsManager(new MasterUfsManager()).build();
    new MetricsMasterFactory().create(registry, masterContext);
    new BlockMasterFactory().create(registry, masterContext);
    new FileSystemMasterFactory().create(registry, masterContext);
    journalSystem.start();
    if (isLeader) {
        journalSystem.gainPrimacy();
    }
    registry.start(isLeader);
    return new FsMasterResource(registry, journalSystem);
}
Also used : TestSafeModeManager(alluxio.master.TestSafeModeManager) BlockMasterFactory(alluxio.master.block.BlockMasterFactory) MasterRegistry(alluxio.master.MasterRegistry) MasterUfsManager(alluxio.underfs.MasterUfsManager) SafeModeManager(alluxio.master.SafeModeManager) TestSafeModeManager(alluxio.master.TestSafeModeManager) CoreMasterContext(alluxio.master.CoreMasterContext) FileSystemMasterFactory(alluxio.master.file.FileSystemMasterFactory) JournalSystem(alluxio.master.journal.JournalSystem) MetricsMasterFactory(alluxio.master.metrics.MetricsMasterFactory)

Aggregations

CoreMasterContext (alluxio.master.CoreMasterContext)1 MasterRegistry (alluxio.master.MasterRegistry)1 SafeModeManager (alluxio.master.SafeModeManager)1 TestSafeModeManager (alluxio.master.TestSafeModeManager)1 BlockMasterFactory (alluxio.master.block.BlockMasterFactory)1 FileSystemMasterFactory (alluxio.master.file.FileSystemMasterFactory)1 JournalSystem (alluxio.master.journal.JournalSystem)1 MetricsMasterFactory (alluxio.master.metrics.MetricsMasterFactory)1 MasterUfsManager (alluxio.underfs.MasterUfsManager)1