Example usage for org.apache.zookeeper.server PurgeTxnLog purge

List of usage examples for org.apache.zookeeper.server PurgeTxnLog purge

Introduction

In this page you can find the example usage for org.apache.zookeeper.server PurgeTxnLog purge.

Prototype

public static void purge(File dataDir, File snapDir, int num) throws IOException 

Source Link

Document

Purges the snapshot and logs keeping the last num snapshots and the corresponding logs.

Usage

From source file:org.eclipse.ecf.provider.zookeeper.core.ZooDiscoveryContainer.java

License:Open Source License

public synchronized void shutdown() {
    if (isDisposed)
        return;//from ww  w  .j  av  a  2  s  . c o  m

    try {
        if (watchManager != null) {
            watchManager.dispose();
        }

        if (this.localizer != null) {
            this.localizer.close();
        }
        if (this.zooKeeperServer != null) {
            // purge snaps and logs. Keep only last three of each
            PurgeTxnLog.purge(this.zooKeeperServer.getTxnLogFactory().getDataDir(),
                    this.zooKeeperServer.getTxnLogFactory().getSnapDir(), 3);
            this.zooKeeperServer.shutdown();
        }
        if (this.quorumPeer != null) {
            // purge snaps and logs. Keep only last three of each
            PurgeTxnLog.purge(this.quorumPeer.getTxnFactory().getDataDir(),
                    this.quorumPeer.getTxnFactory().getSnapDir(), 3);
            // shut down server
            if (this.quorumPeer.isAlive()) {
                this.quorumPeer.shutdown();
            }
            // shutdown sockets
            this.quorumPeer.getCnxnFactory().shutdown();
        }

    } catch (Throwable t) {
        Logger.log(LogService.LOG_ERROR, t.getMessage(), t);
    }

    targetId = null;
    isConnected = false;
    isDisposed = true;
    discovery = null;
}

From source file:org.eclipse.gyrex.cloud.internal.zk.ZooKeeperServerApplication.java

License:Open Source License

private void runStandaloneEmbedded() throws Exception {
    // disable LOG4J JMX stuff
    System.setProperty("zookeeper.jmx.log4j.disable", Boolean.TRUE.toString());

    // get directories
    final IPath zkBase = Platform.getInstanceLocation().append("zookeeper");
    final File dataDir = zkBase.append("logs").toFile();
    final File snapDir = zkBase.toFile();

    // clean old logs
    PurgeTxnLog.purge(dataDir, snapDir, 3);

    // create standalone server
    zkServer = new ZooKeeperServer();
    zkServer.setTxnLogFactory(new FileTxnSnapLog(dataDir, snapDir));

    // rely on defaults for the following values
    zkServer.setTickTime(ZooKeeperServer.DEFAULT_TICK_TIME);
    zkServer.setMinSessionTimeout(2 * ZooKeeperServer.DEFAULT_TICK_TIME);
    zkServer.setMaxSessionTimeout(10 * ZooKeeperServer.DEFAULT_TICK_TIME);

    // start factory on default port
    factory = createFactory(new InetSocketAddress(2181), 10);

    // start server
    LOG.info("Starting ZooKeeper standalone server.");
    factory.getClass().getMethod("startup", ZooKeeperServer.class).invoke(factory, zkServer);
}