Search in sources :

Example 51 with RetryPolicy

use of org.apache.curator.RetryPolicy in project BRFS by zhangnianli.

the class BootStrap method main.

public static void main(String[] args) {
    ProcessFinalizer finalizer = new ProcessFinalizer();
    try {
        // 初始化email发送配置
        EmailPool.getInstance();
        String zkAddresses = Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_ZOOKEEPER_ADDRESSES);
        String host = Configs.getConfiguration().GetConfig(RegionNodeConfigs.CONFIG_HOST);
        int port = Configs.getConfiguration().GetConfig(RegionNodeConfigs.CONFIG_PORT);
        RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
        CuratorFramework client = CuratorFrameworkFactory.newClient(zkAddresses, 3000, 15000, retryPolicy);
        client.start();
        client.blockUntilConnected();
        finalizer.add(client);
        CuratorCacheFactory.init(zkAddresses);
        String clusterName = Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_CLUSTER_NAME);
        ZookeeperPaths zookeeperPaths = ZookeeperPaths.create(clusterName, zkAddresses);
        ServerIDManager idManager = new ServerIDManager(client, zookeeperPaths);
        SimpleAuthentication simpleAuthentication = SimpleAuthentication.getAuthInstance(zookeeperPaths.getBaseUserPath(), zookeeperPaths.getBaseLocksPath(), client);
        UserModel model = simpleAuthentication.getUser("root");
        if (model == null) {
            LOG.error("please init server!!!");
            System.exit(1);
        }
        Service service = new Service(UUID.randomUUID().toString(), Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_REGION_SERVICE_GROUP_NAME), host, port);
        ServiceManager serviceManager = new DefaultServiceManager(client.usingNamespace(zookeeperPaths.getBaseClusterName().substring(1)));
        serviceManager.start();
        finalizer.add(serviceManager);
        TimeExchangeEventEmitter timeEventEmitter = new TimeExchangeEventEmitter(2);
        finalizer.add(timeEventEmitter);
        StorageRegionIdBuilder storageIdBuilder = new ZkStorageRegionIdBuilder(client.usingNamespace(zookeeperPaths.getBaseClusterName().substring(1)));
        StorageRegionManager storageNameManager = new DefaultStorageRegionManager(client.usingNamespace(zookeeperPaths.getBaseClusterName().substring(1)), storageIdBuilder);
        storageNameManager.start();
        finalizer.add(storageNameManager);
        // HttpDiskNodeConnectionPool connectionPool = new HttpDiskNodeConnectionPool(serviceManager);
        // finalizer.add(connectionPool);
        AsyncTcpClientGroup tcpClientGroup = new AsyncTcpClientGroup(Configs.getConfiguration().GetConfig(RegionNodeConfigs.CONFIG_WRITER_WORKER_NUM));
        TcpDiskNodeConnectionPool connectionPool = new TcpDiskNodeConnectionPool(serviceManager, tcpClientGroup);
        finalizer.add(tcpClientGroup);
        FilePathMaker pathMaker = new IDFilePathMaker(idManager);
        int workerThreadNum = Configs.getConfiguration().GetConfig(RegionNodeConfigs.CONFIG_SERVER_IO_THREAD_NUM);
        HttpConfig httpConfig = HttpConfig.newBuilder().setHost(host).setPort(port).setAcceptWorkerNum(1).setRequestHandleWorkerNum(workerThreadNum).setBacklog(Integer.parseInt(System.getProperty(SystemProperties.PROP_NET_BACKLOG, "2048"))).build();
        NettyHttpServer httpServer = new NettyHttpServer(httpConfig);
        httpServer.addHttpAuthenticator(new HttpAuthenticator() {

            @Override
            public int check(String userName, String passwd) {
                StringBuilder tokenBuilder = new StringBuilder();
                tokenBuilder.append(userName).append(":").append(passwd);
                return simpleAuthentication.auth(tokenBuilder.toString()) ? 0 : ReturnCode.USER_FORBID.getCode();
            }
        });
        ExecutorService requestHandlerExecutor = Executors.newFixedThreadPool(Math.max(4, Runtime.getRuntime().availableProcessors() / 4), new PooledThreadFactory("request_handler"));
        finalizer.add(new Closeable() {

            @Override
            public void close() throws IOException {
                requestHandlerExecutor.shutdown();
            }
        });
        FileObjectSyncProcessor processor = new DefaultFileObjectSyncProcessor(connectionPool, pathMaker);
        DefaultFileObjectSynchronier fileSynchronizer = new DefaultFileObjectSynchronier(processor, serviceManager, 10, TimeUnit.SECONDS);
        fileSynchronizer.start();
        finalizer.add(fileSynchronizer);
        FileNodeStorer storer = new ZkFileNodeStorer(client.usingNamespace(zookeeperPaths.getBaseClusterName().substring(1)), ZkFileCoordinatorPaths.COORDINATOR_FILESTORE);
        // 资源缓存器
        String diskGroup = Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_DATA_SERVICE_GROUP_NAME);
        String rPath = zookeeperPaths.getBaseResourcesPath() + "/" + diskGroup + "/resource";
        ClusterResource clusterResource = ClusterResource.newBuilder().setCache(true).setClient(client).setListenPath(rPath).setPool(Executors.newSingleThreadExecutor()).build().start();
        // 资源选择策略
        // 获取限制值
        double diskRemainRate = Configs.getConfiguration().GetConfig(ResourceConfigs.CONFIG_LIMIT_DISK_AVAILABLE_RATE);
        double diskForceRemainRate = Configs.getConfiguration().GetConfig(ResourceConfigs.CONFIG_LIMIT_FORCE_DISK_AVAILABLE_RATE);
        double diskwriteValue = Configs.getConfiguration().GetConfig(ResourceConfigs.CONFIG_LIMIT_DISK_WRITE_SPEED);
        double diskForcewriteValue = Configs.getConfiguration().GetConfig(ResourceConfigs.CONFIG_LIMIT_FORCE_DISK_WRITE_SPEED);
        long diskRemainSize = Configs.getConfiguration().GetConfig(ResourceConfigs.CONFIG_LIMIT_DISK_REMAIN_SIZE);
        long diskForceRemainSize = Configs.getConfiguration().GetConfig(ResourceConfigs.CONFIG_LIMIT_FORCE_DISK_REMAIN_SIZE);
        LimitServerResource lmit = new LimitServerResource();
        lmit.setDiskRemainRate(diskRemainRate);
        lmit.setDiskWriteValue(diskwriteValue);
        lmit.setForceDiskRemainRate(diskForceRemainRate);
        lmit.setForceWriteValue(diskForcewriteValue);
        lmit.setRemainWarnSize(diskRemainSize);
        lmit.setRemainForceSize(diskForceRemainSize);
        int centSize = Configs.getConfiguration().GetConfig(ResourceConfigs.CONFIG_RESOURCE_CENT_SIZE);
        long fileSize = Configs.getConfiguration().GetConfig(DataNodeConfigs.CONFIG_FILE_MAX_CAPACITY) / 1024;
        MachineResourceWriterSelector serviceSelector = new MachineResourceWriterSelector(connectionPool, storer, lmit, diskGroup, fileSize, centSize);
        // 生成备用选择器
        DuplicateNodeSelector bakSelect = new MinimalDuplicateNodeSelector(serviceManager, connectionPool);
        // 选择
        DuplicateNodeSelector nodeSelector = ResourceWriteSelector.newBuilder().setBakSelector(bakSelect).setDaemon(clusterResource).setGroupName(diskGroup).setStorageRegionManager(storageNameManager).setResourceSelector(serviceSelector).build();
        FileObjectFactory fileFactory = new DefaultFileObjectFactory(service, storer, nodeSelector, idManager, connectionPool);
        int closerThreadNum = Configs.getConfiguration().GetConfig(RegionNodeConfigs.CONFIG_CLOSER_THREAD_NUM);
        DefaultFileObjectCloser fileCloser = new DefaultFileObjectCloser(closerThreadNum, fileSynchronizer, storer, connectionPool, pathMaker);
        finalizer.add(fileCloser);
        FileNodeSinkManager sinkManager = new ZkFileNodeSinkManager(client.usingNamespace(zookeeperPaths.getBaseClusterName().substring(1)), service, serviceManager, timeEventEmitter, storer, new RandomFileNodeSinkSelector(), fileCloser);
        sinkManager.start();
        finalizer.add(sinkManager);
        DataPoolFactory dataPoolFactory = new BlockingQueueDataPoolFactory(Configs.getConfiguration().GetConfig(RegionNodeConfigs.CONFIG_DATA_POOL_CAPACITY));
        FileObjectSupplierFactory fileSupplierFactory = new DefaultFileObjectSupplierFactory(fileFactory, fileCloser, fileSynchronizer, sinkManager, timeEventEmitter);
        DiskWriter diskWriter = new DiskWriter(Configs.getConfiguration().GetConfig(RegionNodeConfigs.CONFIG_WRITER_WORKER_NUM), connectionPool, pathMaker);
        finalizer.add(diskWriter);
        DataEngineFactory engineFactory = new DefaultDataEngineFactory(dataPoolFactory, fileSupplierFactory, diskWriter);
        DefaultDataEngineManager engineManager = new DefaultDataEngineManager(storageNameManager, engineFactory);
        finalizer.add(engineManager);
        DefaultStorageRegionWriter writer = new DefaultStorageRegionWriter(engineManager);
        NettyHttpRequestHandler requestHandler = new NettyHttpRequestHandler(requestHandlerExecutor);
        requestHandler.addMessageHandler("POST", new WriteDataMessageHandler(writer));
        requestHandler.addMessageHandler("GET", new ReadDataMessageHandler());
        requestHandler.addMessageHandler("DELETE", new DeleteDataMessageHandler(zookeeperPaths, serviceManager, storageNameManager));
        httpServer.addContextHandler(URI_DATA_ROOT, requestHandler);
        NettyHttpRequestHandler snRequestHandler = new NettyHttpRequestHandler(requestHandlerExecutor);
        snRequestHandler.addMessageHandler("PUT", new CreateStorageRegionMessageHandler(storageNameManager));
        snRequestHandler.addMessageHandler("POST", new UpdateStorageRegionMessageHandler(storageNameManager));
        snRequestHandler.addMessageHandler("GET", new OpenStorageRegionMessageHandler(storageNameManager));
        snRequestHandler.addMessageHandler("DELETE", new DeleteStorageRegionMessageHandler(zookeeperPaths, storageNameManager, serviceManager));
        httpServer.addContextHandler(URI_STORAGE_REGION_ROOT, snRequestHandler);
        httpServer.start();
        finalizer.add(httpServer);
        serviceManager.registerService(service);
        finalizer.add(new Closeable() {

            @Override
            public void close() throws IOException {
                try {
                    serviceManager.unregisterService(service);
                } catch (Exception e) {
                    LOG.error("unregister service[{}] error", service, e);
                }
            }
        });
    } catch (Exception e) {
        LOG.error("launch server error!!!", e);
        System.exit(1);
    } finally {
        Runtime.getRuntime().addShutdownHook(finalizer);
    }
}
Also used : OpenStorageRegionMessageHandler(com.bonree.brfs.duplication.storageregion.handler.OpenStorageRegionMessageHandler) Closeable(java.io.Closeable) BlockingQueueDataPoolFactory(com.bonree.brfs.duplication.datastream.dataengine.impl.BlockingQueueDataPoolFactory) FileObjectSupplierFactory(com.bonree.brfs.duplication.datastream.file.FileObjectSupplierFactory) DefaultFileObjectSupplierFactory(com.bonree.brfs.duplication.datastream.file.DefaultFileObjectSupplierFactory) HttpAuthenticator(com.bonree.brfs.common.net.http.netty.HttpAuthenticator) TimeExchangeEventEmitter(com.bonree.brfs.common.timer.TimeExchangeEventEmitter) DefaultDataEngineFactory(com.bonree.brfs.duplication.datastream.dataengine.impl.DefaultDataEngineFactory) ZkFileNodeStorer(com.bonree.brfs.duplication.filenode.zk.ZkFileNodeStorer) FileNodeStorer(com.bonree.brfs.duplication.filenode.FileNodeStorer) ZkStorageRegionIdBuilder(com.bonree.brfs.duplication.storageregion.impl.ZkStorageRegionIdBuilder) CuratorFramework(org.apache.curator.framework.CuratorFramework) DefaultFileObjectSynchronier(com.bonree.brfs.duplication.datastream.file.sync.DefaultFileObjectSynchronier) DefaultFileObjectCloser(com.bonree.brfs.duplication.datastream.file.DefaultFileObjectCloser) DefaultFileObjectFactory(com.bonree.brfs.duplication.datastream.file.DefaultFileObjectFactory) FileObjectFactory(com.bonree.brfs.duplication.datastream.file.FileObjectFactory) HttpConfig(com.bonree.brfs.common.net.http.HttpConfig) ProcessFinalizer(com.bonree.brfs.common.process.ProcessFinalizer) WriteDataMessageHandler(com.bonree.brfs.duplication.datastream.handler.WriteDataMessageHandler) IDFilePathMaker(com.bonree.brfs.duplication.datastream.IDFilePathMaker) ZkFileNodeSinkManager(com.bonree.brfs.duplication.filenode.zk.ZkFileNodeSinkManager) TcpDiskNodeConnectionPool(com.bonree.brfs.duplication.datastream.connection.tcp.TcpDiskNodeConnectionPool) ServerIDManager(com.bonree.brfs.server.identification.ServerIDManager) DefaultStorageRegionWriter(com.bonree.brfs.duplication.datastream.writer.DefaultStorageRegionWriter) DefaultFileObjectSupplierFactory(com.bonree.brfs.duplication.datastream.file.DefaultFileObjectSupplierFactory) DefaultFileObjectSyncProcessor(com.bonree.brfs.duplication.datastream.file.sync.DefaultFileObjectSyncProcessor) SimpleAuthentication(com.bonree.brfs.authentication.SimpleAuthentication) BlockingQueueDataPoolFactory(com.bonree.brfs.duplication.datastream.dataengine.impl.BlockingQueueDataPoolFactory) DataPoolFactory(com.bonree.brfs.duplication.datastream.dataengine.impl.DataPoolFactory) DataEngineFactory(com.bonree.brfs.duplication.datastream.dataengine.DataEngineFactory) DefaultDataEngineFactory(com.bonree.brfs.duplication.datastream.dataengine.impl.DefaultDataEngineFactory) ZkFileNodeStorer(com.bonree.brfs.duplication.filenode.zk.ZkFileNodeStorer) StorageRegionManager(com.bonree.brfs.duplication.storageregion.StorageRegionManager) DefaultStorageRegionManager(com.bonree.brfs.duplication.storageregion.impl.DefaultStorageRegionManager) DefaultFileObjectSyncProcessor(com.bonree.brfs.duplication.datastream.file.sync.DefaultFileObjectSyncProcessor) FileObjectSyncProcessor(com.bonree.brfs.duplication.datastream.file.sync.FileObjectSyncProcessor) ZkFileNodeSinkManager(com.bonree.brfs.duplication.filenode.zk.ZkFileNodeSinkManager) FileNodeSinkManager(com.bonree.brfs.duplication.filenode.FileNodeSinkManager) ExponentialBackoffRetry(org.apache.curator.retry.ExponentialBackoffRetry) AsyncTcpClientGroup(com.bonree.brfs.common.net.tcp.client.AsyncTcpClientGroup) DefaultFileObjectFactory(com.bonree.brfs.duplication.datastream.file.DefaultFileObjectFactory) ClusterResource(com.bonree.brfs.duplication.filenode.duplicates.ClusterResource) RandomFileNodeSinkSelector(com.bonree.brfs.duplication.filenode.zk.RandomFileNodeSinkSelector) UserModel(com.bonree.brfs.authentication.model.UserModel) ServiceManager(com.bonree.brfs.common.service.ServiceManager) DefaultServiceManager(com.bonree.brfs.common.service.impl.DefaultServiceManager) NettyHttpRequestHandler(com.bonree.brfs.common.net.http.netty.NettyHttpRequestHandler) DefaultStorageRegionManager(com.bonree.brfs.duplication.storageregion.impl.DefaultStorageRegionManager) PooledThreadFactory(com.bonree.brfs.common.utils.PooledThreadFactory) CreateStorageRegionMessageHandler(com.bonree.brfs.duplication.storageregion.handler.CreateStorageRegionMessageHandler) ExecutorService(java.util.concurrent.ExecutorService) Service(com.bonree.brfs.common.service.Service) NettyHttpServer(com.bonree.brfs.common.net.http.netty.NettyHttpServer) IOException(java.io.IOException) IDFilePathMaker(com.bonree.brfs.duplication.datastream.IDFilePathMaker) FilePathMaker(com.bonree.brfs.duplication.datastream.FilePathMaker) ReadDataMessageHandler(com.bonree.brfs.duplication.datastream.handler.ReadDataMessageHandler) DefaultDataEngineManager(com.bonree.brfs.duplication.datastream.dataengine.impl.DefaultDataEngineManager) DeleteStorageRegionMessageHandler(com.bonree.brfs.duplication.storageregion.handler.DeleteStorageRegionMessageHandler) IOException(java.io.IOException) DefaultServiceManager(com.bonree.brfs.common.service.impl.DefaultServiceManager) DiskWriter(com.bonree.brfs.duplication.datastream.writer.DiskWriter) ZookeeperPaths(com.bonree.brfs.common.ZookeeperPaths) DeleteDataMessageHandler(com.bonree.brfs.duplication.datastream.handler.DeleteDataMessageHandler) ExecutorService(java.util.concurrent.ExecutorService) LimitServerResource(com.bonree.brfs.resourceschedule.model.LimitServerResource) RetryPolicy(org.apache.curator.RetryPolicy) StorageRegionIdBuilder(com.bonree.brfs.duplication.storageregion.StorageRegionIdBuilder) ZkStorageRegionIdBuilder(com.bonree.brfs.duplication.storageregion.impl.ZkStorageRegionIdBuilder) DuplicateNodeSelector(com.bonree.brfs.duplication.filenode.duplicates.DuplicateNodeSelector) UpdateStorageRegionMessageHandler(com.bonree.brfs.duplication.storageregion.handler.UpdateStorageRegionMessageHandler)

Example 52 with RetryPolicy

use of org.apache.curator.RetryPolicy in project exhibitor by soabase.

the class S3BackupProvider method uploadBackup.

@Override
public UploadResult uploadBackup(Exhibitor exhibitor, BackupMetaData backup, File source, final Map<String, String> configValues) throws Exception {
    List<BackupMetaData> availableBackups = getAvailableBackups(exhibitor, configValues);
    if (availableBackups.contains(backup)) {
        return UploadResult.DUPLICATE;
    }
    RetryPolicy retryPolicy = makeRetryPolicy(configValues);
    Throttle throttle = makeThrottle(configValues);
    String key = toKey(backup, configValues);
    if (source.length() < MIN_S3_PART_SIZE) {
        byte[] bytes = Files.toByteArray(source);
        S3Utils.simpleUploadFile(s3Client, bytes, configValues.get(CONFIG_BUCKET.getKey()), key);
    } else {
        multiPartUpload(source, configValues, retryPolicy, throttle, key);
    }
    UploadResult result = UploadResult.SUCCEEDED;
    for (BackupMetaData existing : availableBackups) {
        if (existing.getName().equals(backup.getName())) {
            deleteBackup(exhibitor, existing, configValues);
            result = UploadResult.REPLACED_OLD_VERSION;
        }
    }
    return result;
}
Also used : BackupMetaData(com.netflix.exhibitor.core.backup.BackupMetaData) RetryPolicy(org.apache.curator.RetryPolicy)

Example 53 with RetryPolicy

use of org.apache.curator.RetryPolicy in project helios by spotify.

the class ZooKeeperMasterModelIntegrationTest method setup.

@Before
public void setup() throws Exception {
    final RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
    final CuratorFramework curator = CuratorFrameworkFactory.newClient(zk.connectString(), retryPolicy);
    curator.start();
    final ZooKeeperClient client = new DefaultZooKeeperClient(curator);
    // TODO (dano): this bootstrapping is essentially duplicated from MasterService,
    // should be moved into ZooKeeperMasterModel?
    client.ensurePath(Paths.configHosts());
    client.ensurePath(Paths.configJobs());
    client.ensurePath(Paths.configJobRefs());
    client.ensurePath(Paths.statusHosts());
    client.ensurePath(Paths.statusMasters());
    client.ensurePath(Paths.historyJobs());
    final ZooKeeperClientProvider zkProvider = new ZooKeeperClientProvider(client, ZooKeeperModelReporter.noop());
    final List<EventSender> eventSenders = ImmutableList.of(eventSender);
    model = new ZooKeeperMasterModel(zkProvider, getClass().getName(), eventSenders, deploymentGroupEventTopic);
}
Also used : CuratorFramework(org.apache.curator.framework.CuratorFramework) ZooKeeperClientProvider(com.spotify.helios.servicescommon.coordination.ZooKeeperClientProvider) ZooKeeperClient(com.spotify.helios.servicescommon.coordination.ZooKeeperClient) DefaultZooKeeperClient(com.spotify.helios.servicescommon.coordination.DefaultZooKeeperClient) ExponentialBackoffRetry(org.apache.curator.retry.ExponentialBackoffRetry) EventSender(com.spotify.helios.servicescommon.EventSender) ZooKeeperMasterModel(com.spotify.helios.master.ZooKeeperMasterModel) DefaultZooKeeperClient(com.spotify.helios.servicescommon.coordination.DefaultZooKeeperClient) RetryPolicy(org.apache.curator.RetryPolicy) Before(org.junit.Before)

Example 54 with RetryPolicy

use of org.apache.curator.RetryPolicy in project helios by spotify.

the class AgentService method setupZookeeperClient.

/**
 * Create a Zookeeper client and create the control and state nodes if needed.
 *
 * @param config The service configuration.
 *
 * @return A zookeeper client.
 */
private ZooKeeperClient setupZookeeperClient(final AgentConfig config, final String id, final CountDownLatch zkRegistrationSignal) {
    ACLProvider aclProvider = null;
    List<AuthInfo> authorization = null;
    final String agentUser = config.getZookeeperAclAgentUser();
    final String agentPassword = config.getZooKeeperAclAgentPassword();
    final String masterUser = config.getZookeeperAclMasterUser();
    final String masterDigest = config.getZooKeeperAclMasterDigest();
    if (!isNullOrEmpty(agentPassword)) {
        if (isNullOrEmpty(agentUser)) {
            throw new HeliosRuntimeException("Agent username must be set if a password is set");
        }
        authorization = Lists.newArrayList(new AuthInfo("digest", String.format("%s:%s", agentUser, agentPassword).getBytes()));
    }
    if (config.isZooKeeperEnableAcls()) {
        if (isNullOrEmpty(agentUser) || isNullOrEmpty(agentPassword)) {
            throw new HeliosRuntimeException("ZooKeeper ACLs enabled but agent username and/or password not set");
        }
        if (isNullOrEmpty(masterUser) || isNullOrEmpty(masterDigest)) {
            throw new HeliosRuntimeException("ZooKeeper ACLs enabled but master username and/or digest not set");
        }
        aclProvider = heliosAclProvider(masterUser, masterDigest, agentUser, digest(agentUser, agentPassword));
    }
    final RetryPolicy zooKeeperRetryPolicy = new ExponentialBackoffRetry(1000, 3);
    final CuratorFramework curator = new CuratorClientFactoryImpl().newClient(config.getZooKeeperConnectionString(), config.getZooKeeperSessionTimeoutMillis(), config.getZooKeeperConnectionTimeoutMillis(), zooKeeperRetryPolicy, aclProvider, authorization);
    final ZooKeeperClient client = new DefaultZooKeeperClient(curator, config.getZooKeeperClusterId());
    client.start();
    // Register the agent
    final AgentZooKeeperRegistrar agentZooKeeperRegistrar = new AgentZooKeeperRegistrar(config.getName(), id, config.getZooKeeperRegistrationTtlMinutes(), new SystemClock());
    zkRegistrar = ZooKeeperRegistrarService.newBuilder().setZooKeeperClient(client).setZooKeeperRegistrar(agentZooKeeperRegistrar).setZkRegistrationSignal(zkRegistrationSignal).build();
    return client;
}
Also used : ACLProvider(org.apache.curator.framework.api.ACLProvider) AuthInfo(org.apache.curator.framework.AuthInfo) SystemClock(com.spotify.helios.common.SystemClock) ExponentialBackoffRetry(org.apache.curator.retry.ExponentialBackoffRetry) CuratorClientFactoryImpl(com.spotify.helios.servicescommon.coordination.CuratorClientFactoryImpl) HeliosRuntimeException(com.spotify.helios.common.HeliosRuntimeException) DefaultZooKeeperClient(com.spotify.helios.servicescommon.coordination.DefaultZooKeeperClient) CuratorFramework(org.apache.curator.framework.CuratorFramework) ZooKeeperClient(com.spotify.helios.servicescommon.coordination.ZooKeeperClient) DefaultZooKeeperClient(com.spotify.helios.servicescommon.coordination.DefaultZooKeeperClient) RetryPolicy(org.apache.curator.RetryPolicy)

Example 55 with RetryPolicy

use of org.apache.curator.RetryPolicy in project metron by apache.

the class ServiceDiscoveryIntegrationTest method setup.

@BeforeEach
public void setup() throws Exception {
    testZkServer = new TestingServer(true);
    zookeeperUrl = testZkServer.getConnectString();
    RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
    client = CuratorFrameworkFactory.newClient(zookeeperUrl, retryPolicy);
    client.start();
    discoverer = new ServiceDiscoverer(client, "/maas/discover");
    discoverer.start();
}
Also used : TestingServer(org.apache.curator.test.TestingServer) ExponentialBackoffRetry(org.apache.curator.retry.ExponentialBackoffRetry) RetryPolicy(org.apache.curator.RetryPolicy) BeforeEach(org.junit.jupiter.api.BeforeEach)

Aggregations

RetryPolicy (org.apache.curator.RetryPolicy)69 ExponentialBackoffRetry (org.apache.curator.retry.ExponentialBackoffRetry)47 CuratorFramework (org.apache.curator.framework.CuratorFramework)42 RetryNTimes (org.apache.curator.retry.RetryNTimes)12 IOException (java.io.IOException)10 ACLProvider (org.apache.curator.framework.api.ACLProvider)7 CuratorFrameworkFactory (org.apache.curator.framework.CuratorFrameworkFactory)6 TestingServer (org.apache.curator.test.TestingServer)5 DefaultZooKeeperClient (com.spotify.helios.servicescommon.coordination.DefaultZooKeeperClient)4 ZooKeeperClient (com.spotify.helios.servicescommon.coordination.ZooKeeperClient)4 SimpleEventListener (org.apache.metron.zookeeper.SimpleEventListener)4 ZKCache (org.apache.metron.zookeeper.ZKCache)4 ACL (org.apache.zookeeper.data.ACL)4 Before (org.junit.Before)4 DefaultServiceManager (com.bonree.brfs.common.service.impl.DefaultServiceManager)3 AuthInfo (org.apache.curator.framework.AuthInfo)3 PathChildrenCache (org.apache.curator.framework.recipes.cache.PathChildrenCache)3 Test (org.junit.Test)3 Service (com.bonree.brfs.common.service.Service)2 ServiceManager (com.bonree.brfs.common.service.ServiceManager)2