/** * Test case for https://issues.apache.org/jira/browse/ZOOKEEPER-2847 */ @Test public void testClientAddrFromClientPort() throws IOException, ConfigException { long serverId = 1; QuorumPeerConfig quorumPeerConfig = new MockQuorumPeerConfig(serverId); Properties zkProp = getDefaultZKProperties(); int clientPort = 12345; zkProp.setProperty("clientPort", Integer.toString(clientPort)); zkProp.setProperty("server.1", "127.0.0.1:2889:3889:participant"); quorumPeerConfig.parseProperties(zkProp); QuorumServer qs = quorumPeerConfig.getQuorumVerifier().getAllMembers().get(serverId); InetSocketAddress expectedAddress = new InetSocketAddress("0.0.0.0", clientPort); assertEquals(expectedAddress, quorumPeerConfig.getClientPortAddress()); assertEquals(quorumPeerConfig.getClientPortAddress(), qs.clientAddr); }
private void startDistributed() throws IOException { logger.info("Starting Embedded ZooKeeper Peer"); try { transactionLog = new FileTxnSnapLog(new File(quorumPeerConfig.getDataLogDir()), new File(quorumPeerConfig.getDataDir())); connectionFactory = ServerCnxnFactory.createFactory(); connectionFactory.configure(quorumPeerConfig.getClientPortAddress(), quorumPeerConfig.getMaxClientCnxns()); quorumPeer = new QuorumPeer(); quorumPeer.setClientPortAddress(quorumPeerConfig.getClientPortAddress()); quorumPeer.setTxnFactory(new FileTxnSnapLog(new File(quorumPeerConfig.getDataLogDir()), new File(quorumPeerConfig.getDataDir()))); quorumPeer.setQuorumPeers(quorumPeerConfig.getServers()); quorumPeer.setElectionType(quorumPeerConfig.getElectionAlg()); quorumPeer.setMyid(quorumPeerConfig.getServerId()); quorumPeer.setTickTime(quorumPeerConfig.getTickTime()); quorumPeer.setMinSessionTimeout(quorumPeerConfig.getMinSessionTimeout()); quorumPeer.setMaxSessionTimeout(quorumPeerConfig.getMaxSessionTimeout()); quorumPeer.setInitLimit(quorumPeerConfig.getInitLimit()); quorumPeer.setSyncLimit(quorumPeerConfig.getSyncLimit()); quorumPeer.setQuorumVerifier(quorumPeerConfig.getQuorumVerifier()); quorumPeer.setCnxnFactory(connectionFactory); quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory())); quorumPeer.setLearnerType(quorumPeerConfig.getPeerType()); quorumPeer.setSyncEnabled(quorumPeerConfig.getSyncEnabled()); quorumPeer.setQuorumListenOnAllIPs(quorumPeerConfig.getQuorumListenOnAllIPs()); quorumPeer.start(); } catch (final IOException ioe) { throw new IOException("Failed to start embedded ZooKeeper Peer", ioe); } catch (final Exception e) { throw new RuntimeException("Failed to start embedded ZooKeeper Peer", e); } }
@Override public void runFromConfig(QuorumPeerConfig config) throws IOException, AdminServerException { quorumPeer = new CustomQuorumPeer(config.getQuorumVerifier().getAllMembers(), config.getDataDir(), config.getDataLogDir(), config.getClientPortAddress().getPort(), config.getElectionAlg(), config.getServerId(), config.getTickTime(), config.getInitLimit(), config.getSyncLimit()); quorumPeer.setConfigFileName(config.getConfigFilename()); quorumPeer.start(); try { quorumPeer.join(); } catch (InterruptedException e) { LOG.warn("Quorum Peer interrupted", e); } } }
quorumPeer.setQuorumListenOnAllIPs(config.getQuorumListenOnAllIPs()); quorumPeer.setCnxnFactory(cnxnFactory); quorumPeer.setQuorumVerifier(config.getQuorumVerifier()); quorumPeer.setClientPortAddress(config.getClientPortAddress()); quorumPeer.setMinSessionTimeout(config.getMinSessionTimeout());
quorumPeer.setConfigFileName(config.getConfigFilename()); quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory())); quorumPeer.setQuorumVerifier(config.getQuorumVerifier(), false); if (config.getLastSeenQuorumVerifier()!=null) { quorumPeer.setLastSeenQuorumVerifier(config.getLastSeenQuorumVerifier(), false);
false, cnxnFactory, peerConfig.getQuorumVerifier() ); quorumPeer.setMinSessionTimeout(peerConfig.getMinSessionTimeout());
quorumPeer.setInitLimit(peerConfig.getInitLimit()); quorumPeer.setSyncLimit(peerConfig.getSyncLimit()); quorumPeer.setQuorumVerifier(peerConfig.getQuorumVerifier()); quorumPeer.setCnxnFactory(cnxnFactory); quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory()));
quorumPeer.setInitLimit(config.getInitLimit()); quorumPeer.setSyncLimit(config.getSyncLimit()); quorumPeer.setQuorumVerifier(config.getQuorumVerifier()); quorumPeer.setCnxnFactory(cnxnFactory); quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory()));
EmbeddedZooKeeper(QuorumPeerConfig zkCfg) throws IOException { cnxnFactory = createCnxnFactory(zkCfg); setTxnFactory(new FileTxnSnapLog(zkCfg.getDataLogDir(), zkCfg.getDataDir())); enableLocalSessions(zkCfg.areLocalSessionsEnabled()); enableLocalSessionsUpgrading(zkCfg.isLocalSessionsUpgradingEnabled()); setElectionType(zkCfg.getElectionAlg()); setMyid(zkCfg.getServerId()); setTickTime(zkCfg.getTickTime()); setMinSessionTimeout(zkCfg.getMinSessionTimeout()); setMaxSessionTimeout(zkCfg.getMaxSessionTimeout()); setInitLimit(zkCfg.getInitLimit()); setSyncLimit(zkCfg.getSyncLimit()); setConfigFileName(zkCfg.getConfigFilename()); setZKDatabase(new ZKDatabase(getTxnFactory())); setQuorumVerifier(zkCfg.getQuorumVerifier(), false); if (zkCfg.getLastSeenQuorumVerifier() != null) { setLastSeenQuorumVerifier(zkCfg.getLastSeenQuorumVerifier(), false); } initConfigInZKDatabase(); setCnxnFactory(cnxnFactory); setLearnerType(zkCfg.getPeerType()); setSyncEnabled(zkCfg.getSyncEnabled()); setQuorumListenOnAllIPs(zkCfg.getQuorumListenOnAllIPs()); configureSasl(); purgeManager = new DatadirCleanupManager(zkCfg.getDataDir(), zkCfg.getDataLogDir(), zkCfg.getSnapRetainCount(), zkCfg.getPurgeInterval()); }
EmbeddedZooKeeper(QuorumPeerConfig zkCfg) throws IOException { cnxnFactory = createCnxnFactory(zkCfg); setTxnFactory(new FileTxnSnapLog(zkCfg.getDataLogDir(), zkCfg.getDataDir())); enableLocalSessions(zkCfg.areLocalSessionsEnabled()); enableLocalSessionsUpgrading(zkCfg.isLocalSessionsUpgradingEnabled()); setElectionType(zkCfg.getElectionAlg()); setMyid(zkCfg.getServerId()); setTickTime(zkCfg.getTickTime()); setMinSessionTimeout(zkCfg.getMinSessionTimeout()); setMaxSessionTimeout(zkCfg.getMaxSessionTimeout()); setInitLimit(zkCfg.getInitLimit()); setSyncLimit(zkCfg.getSyncLimit()); setConfigFileName(zkCfg.getConfigFilename()); setZKDatabase(new ZKDatabase(getTxnFactory())); setQuorumVerifier(zkCfg.getQuorumVerifier(), false); if (zkCfg.getLastSeenQuorumVerifier() != null) { setLastSeenQuorumVerifier(zkCfg.getLastSeenQuorumVerifier(), false); } initConfigInZKDatabase(); setCnxnFactory(cnxnFactory); setLearnerType(zkCfg.getPeerType()); setSyncEnabled(zkCfg.getSyncEnabled()); setQuorumListenOnAllIPs(zkCfg.getQuorumListenOnAllIPs()); configureSasl(); purgeManager = new DatadirCleanupManager(zkCfg.getDataDir(), zkCfg.getDataLogDir(), zkCfg.getSnapRetainCount(), zkCfg.getPurgeInterval()); }
EmbeddedZooKeeper(QuorumPeerConfig zkCfg) throws IOException { cnxnFactory = createCnxnFactory(zkCfg); setTxnFactory(new FileTxnSnapLog(zkCfg.getDataLogDir(), zkCfg.getDataDir())); enableLocalSessions(zkCfg.areLocalSessionsEnabled()); enableLocalSessionsUpgrading(zkCfg.isLocalSessionsUpgradingEnabled()); setElectionType(zkCfg.getElectionAlg()); setMyid(zkCfg.getServerId()); setTickTime(zkCfg.getTickTime()); setMinSessionTimeout(zkCfg.getMinSessionTimeout()); setMaxSessionTimeout(zkCfg.getMaxSessionTimeout()); setInitLimit(zkCfg.getInitLimit()); setSyncLimit(zkCfg.getSyncLimit()); setConfigFileName(zkCfg.getConfigFilename()); setZKDatabase(new ZKDatabase(getTxnFactory())); setQuorumVerifier(zkCfg.getQuorumVerifier(), false); if (zkCfg.getLastSeenQuorumVerifier() != null) { setLastSeenQuorumVerifier(zkCfg.getLastSeenQuorumVerifier(), false); } initConfigInZKDatabase(); setCnxnFactory(cnxnFactory); setLearnerType(zkCfg.getPeerType()); setSyncEnabled(zkCfg.getSyncEnabled()); setQuorumListenOnAllIPs(zkCfg.getQuorumListenOnAllIPs()); configureSasl(); purgeManager = new DatadirCleanupManager(zkCfg.getDataDir(), zkCfg.getDataLogDir(), zkCfg.getSnapRetainCount(), zkCfg.getPurgeInterval()); }