/** * Returns a new Raft server builder using the default host:port. * <p> * The server will be constructed at 0.0.0.0:8700. * * @return The server builder. */ static Builder builder() { try { InetAddress address = InetAddress.getByName("0.0.0.0"); return builder(MemberId.from(address.getHostName())); } catch (UnknownHostException e) { throw new ConfigurationException("Cannot configure local node", e); } }
/** * Creates a Raft server. */ private RaftServer createServer(RaftMember member) { RaftServerProtocol protocol; if (USE_NETTY) { Address address = Address.from(++port); MessagingService messagingManager = new NettyMessagingService("test", address, new MessagingConfig()).start().join(); messagingServices.add(messagingManager); addressMap.put(member.memberId(), address); protocol = new RaftServerMessagingProtocol(messagingManager, PROTOCOL_SERIALIZER, addressMap::get); } else { protocol = protocolFactory.newServerProtocol(member.memberId()); } RaftServer.Builder builder = RaftServer.builder(member.memberId()) .withProtocol(protocol) .withStorage(RaftStorage.builder() .withStorageLevel(StorageLevel.DISK) .withDirectory(new File(String.format("target/fuzz-logs/%s", member.memberId()))) .withNamespace(STORAGE_NAMESPACE) .withMaxSegmentSize(1024 * 1024) .build()); RaftServer server = builder.build(); servers.add(server); return server; }
RaftServer.Builder builder = RaftServer.builder(member.id()) .withProtocol(protocol) .withThreadModel(ThreadModel.SHARED_THREAD_POOL)
private RaftServer buildServer() { return RaftServer.builder(localMemberId) .withName(partition.name()) .withMembershipService(membershipService) .withProtocol(new RaftServerCommunicator( partition.name(), Serializer.using(RaftNamespaces.RAFT_PROTOCOL), clusterCommunicator)) .withPrimitiveTypes(primitiveTypes) .withElectionTimeout(Duration.ofMillis(ELECTION_TIMEOUT_MILLIS)) .withHeartbeatInterval(Duration.ofMillis(HEARTBEAT_INTERVAL_MILLIS)) .withStorage(RaftStorage.builder() .withPrefix(partition.name()) .withDirectory(partition.dataDirectory()) .withStorageLevel(config.getStorageConfig().getLevel()) .withMaxSegmentSize((int) config.getStorageConfig().getSegmentSize().bytes()) .withMaxEntrySize((int) config.getStorageConfig().getMaxEntrySize().bytes()) .withFlushOnCommit(config.getStorageConfig().isFlushOnCommit()) .withDynamicCompaction(config.getCompactionConfig().isDynamic()) .withFreeDiskBuffer(config.getCompactionConfig().getFreeDiskBuffer()) .withFreeMemoryBuffer(config.getCompactionConfig().getFreeMemoryBuffer()) .withNamespace(RaftNamespaces.RAFT_STORAGE) .build()) .withThreadContextFactory(threadContextFactory) .build(); }