Skip to content

Commit

Permalink
core-edge: pull out server_id and name from ha cluster config
Browse files Browse the repository at this point in the history
  • Loading branch information
martinfurmanski committed May 20, 2016
1 parent 87aacca commit e968bdf
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 29 deletions.
5 changes: 0 additions & 5 deletions enterprise/core-edge/pom.xml
Expand Up @@ -50,11 +50,6 @@
<artifactId>neo4j-com</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-cluster</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>org.neo4j</groupId>
Expand Down
Expand Up @@ -23,7 +23,6 @@
import com.hazelcast.client.config.ClientConfig;
import com.hazelcast.core.HazelcastInstance;

import org.neo4j.cluster.ClusterSettings;
import org.neo4j.coreedge.server.AdvertisedSocketAddress;
import org.neo4j.coreedge.server.CoreEdgeClusterSettings;
import org.neo4j.kernel.configuration.Config;
Expand All @@ -42,7 +41,7 @@ public HazelcastInstance connectToHazelcast()
{
ClientConfig clientConfig = new ClientConfig();

clientConfig.getGroupConfig().setName( config.get( ClusterSettings.cluster_name ) );
clientConfig.getGroupConfig().setName( config.get( CoreEdgeClusterSettings.cluster_name ) );

for ( AdvertisedSocketAddress address : config.get( CoreEdgeClusterSettings.initial_core_cluster_members ) )
{
Expand Down
Expand Up @@ -37,7 +37,6 @@
import com.hazelcast.core.MembershipListener;
import com.hazelcast.instance.GroupProperties;

import org.neo4j.cluster.ClusterSettings;
import org.neo4j.coreedge.server.CoreEdgeClusterSettings;
import org.neo4j.coreedge.server.AdvertisedSocketAddress;
import org.neo4j.coreedge.server.ListenSocketAddress;
Expand All @@ -51,7 +50,6 @@ class HazelcastServerLifecycle extends LifecycleAdapter
implements CoreTopologyService, ReadOnlyTopologyService
{
private static final String CLUSTER_SERVER = "cluster_server";
private static final String SERVER_ID = "server_id";

static final String TRANSACTION_SERVER = "transaction_server";
static final String RAFT_SERVER = "raft_server";
Expand Down Expand Up @@ -146,18 +144,18 @@ private HazelcastInstance createHazelcastInstance()
ListenSocketAddress address = config.get( CoreEdgeClusterSettings.cluster_listen_address );
networkConfig.setPort( address.socketAddress().getPort() );
networkConfig.setJoin( joinConfig );
String instanceName = String.valueOf( config.get( ClusterSettings.server_id ).toIntegerIndex() );
int serverId = config.get( CoreEdgeClusterSettings.server_id );

com.hazelcast.config.Config c = new com.hazelcast.config.Config( instanceName );
com.hazelcast.config.Config c = new com.hazelcast.config.Config( String.valueOf( serverId ) );
c.setProperty( GroupProperties.PROP_INITIAL_MIN_CLUSTER_SIZE,
String.valueOf( minimumClusterSizeThatCanTolerateOneFaultForExpectedClusterSize() ) );
c.setProperty( GroupProperties.PROP_LOGGING_TYPE, "none" );

c.setNetworkConfig( networkConfig );
c.getGroupConfig().setName( config.get( ClusterSettings.cluster_name ) );
c.getGroupConfig().setName( config.get( CoreEdgeClusterSettings.cluster_name ) );

MemberAttributeConfig memberAttributeConfig = new MemberAttributeConfig();
memberAttributeConfig.setIntAttribute( SERVER_ID, config.get( ClusterSettings.server_id ).toIntegerIndex() );
memberAttributeConfig.setIntAttribute( CoreEdgeClusterSettings.server_id.name(), serverId );

memberAttributeConfig.setStringAttribute( CLUSTER_SERVER, address.toString() );

Expand Down
Expand Up @@ -25,15 +25,19 @@

import org.neo4j.graphdb.config.Setting;
import org.neo4j.graphdb.factory.Description;
import org.neo4j.kernel.configuration.Internal;

import static org.neo4j.kernel.configuration.Settings.ANY;
import static org.neo4j.kernel.configuration.Settings.BOOLEAN;
import static org.neo4j.kernel.configuration.Settings.BYTES;
import static org.neo4j.kernel.configuration.Settings.DURATION;
import static org.neo4j.kernel.configuration.Settings.INTEGER;
import static org.neo4j.kernel.configuration.Settings.MANDATORY;
import static org.neo4j.kernel.configuration.Settings.STRING;
import static org.neo4j.kernel.configuration.Settings.TRUE;
import static org.neo4j.kernel.configuration.Settings.illegalValueMessage;
import static org.neo4j.kernel.configuration.Settings.list;
import static org.neo4j.kernel.configuration.Settings.matches;
import static org.neo4j.kernel.configuration.Settings.min;
import static org.neo4j.kernel.configuration.Settings.setting;

Expand Down Expand Up @@ -205,4 +209,12 @@ public String toString()

@Description( "Interval of pulling updates from cores." )
public static final Setting<Long> pull_interval = setting( "core_edge.pull_interval", DURATION, "1s" );

@Description( "Id for a cluster instance. Must be unique within the cluster." )
public static final Setting<Integer> server_id = setting( "core_edge.server_id", INTEGER, MANDATORY );

@Description( "The name of the core cluster." )
@Internal
public static final Setting<String> cluster_name = setting( "core_edge.cluster_name", STRING, "core-cluster",
illegalValueMessage( "must be a valid cluster name", matches( ANY ) ) );
}
Expand Up @@ -36,21 +36,17 @@
import java.util.function.BiConsumer;
import java.util.function.IntFunction;

import org.neo4j.cluster.ClusterSettings;
import org.neo4j.cluster.InstanceId;
import org.neo4j.coreedge.raft.replication.id.IdGenerationException;
import org.neo4j.coreedge.raft.roles.Role;
import org.neo4j.coreedge.server.AdvertisedSocketAddress;
import org.neo4j.coreedge.server.CoreEdgeClusterSettings;
import org.neo4j.coreedge.server.core.CoreGraphDatabase;
import org.neo4j.coreedge.server.edge.EdgeGraphDatabase;
import org.neo4j.dbms.DatabaseManagementSystemSettings;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.TransactionFailureException;
import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.kernel.GraphDatabaseDependencies;
import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.impl.factory.GraphDatabaseFacade;
import org.neo4j.kernel.impl.store.format.standard.StandardV3_0;

Expand Down Expand Up @@ -179,8 +175,8 @@ private Map<String,String> serverParams( String serverType, int serverId, String
{
Map<String,String> params = stringMap();
params.put( "dbms.mode", serverType );
params.put( ClusterSettings.cluster_name.name(), CLUSTER_NAME );
params.put( ClusterSettings.server_id.name(), String.valueOf( serverId ) );
params.put( CoreEdgeClusterSettings.cluster_name.name(), CLUSTER_NAME );
params.put( CoreEdgeClusterSettings.server_id.name(), String.valueOf( serverId ) );
params.put( CoreEdgeClusterSettings.initial_core_cluster_members.name(), initialHosts );
return params;
}
Expand Down Expand Up @@ -351,7 +347,7 @@ public CoreGraphDatabase getCoreServerById( int serverId )
{
for ( CoreGraphDatabase coreServer : coreServers )
{
if ( serverIdFor( coreServer ).toIntegerIndex() == serverId )
if ( serverIdFor( coreServer ) == serverId )
{
return coreServer;
}
Expand All @@ -363,7 +359,7 @@ public EdgeGraphDatabase getEdgeServerById( int serverId )
{
for ( EdgeGraphDatabase edgeServer : edgeServers )
{
if ( serverIdFor( edgeServer ).toIntegerIndex() == serverId )
if ( serverIdFor( edgeServer ) == serverId )
{
return edgeServer;
}
Expand Down Expand Up @@ -396,7 +392,7 @@ public void removeEdgeServerWithServerId( int serverId )
EdgeGraphDatabase serverToRemove = null;
for ( EdgeGraphDatabase edgeServer : edgeServers )
{
if ( serverIdFor( edgeServer ).toIntegerIndex() == serverId )
if ( serverIdFor( edgeServer ) == serverId )
{
edgeServer.shutdown();
serverToRemove = edgeServer;
Expand Down Expand Up @@ -438,10 +434,10 @@ public void addEdgeServerWithFileLocation( int serverId )
edgeServers.add( startEdgeServer( serverId, advertisedAddresses, stringMap(), emptyMap(), StandardV3_0.NAME ) );
}

private InstanceId serverIdFor( GraphDatabaseFacade graphDatabaseFacade )
private int serverIdFor( GraphDatabaseFacade graphDatabaseFacade )
{
return graphDatabaseFacade.getDependencyResolver().resolveDependency( Config.class )
.get( ClusterSettings.server_id );
.get( CoreEdgeClusterSettings.server_id );
}

public Set<CoreGraphDatabase> coreServers()
Expand Down
Expand Up @@ -22,7 +22,6 @@
import java.util.ArrayList;
import java.util.Set;

import org.neo4j.cluster.InstanceId;
import org.neo4j.coreedge.server.BoltAddress;
import org.neo4j.coreedge.server.CoreMember;
import org.neo4j.helpers.collection.Iterables;
Expand Down
Expand Up @@ -23,7 +23,6 @@
import java.util.TreeSet;
import java.util.concurrent.CopyOnWriteArraySet;

import org.neo4j.cluster.InstanceId;
import org.neo4j.coreedge.server.BoltAddress;
import org.neo4j.coreedge.server.CoreMember;
import org.neo4j.kernel.configuration.Config;
Expand Down Expand Up @@ -96,7 +95,7 @@ else if ( port1 == port2 )
} );

@Override
public CoreTopologyService coreDiscoveryService( Config config )
public CoreTopologyService coreDiscoveryService( Config config, LogProvider logProvider )
{
return new TestOnlyCoreTopologyService( config, this );
}
Expand Down
Expand Up @@ -19,8 +19,6 @@
*/
package org.neo4j.coreedge.discovery;

import org.neo4j.cluster.ClusterSettings;
import org.neo4j.cluster.InstanceId;
import org.neo4j.coreedge.server.AdvertisedSocketAddress;
import org.neo4j.coreedge.server.BoltAddress;
import org.neo4j.coreedge.server.edge.EnterpriseEdgeEditionModule;
Expand Down
Expand Up @@ -220,6 +220,9 @@ core_edge.raft_log_header_cache_size=10
core_edge.raft_messages_log_enable=true
core_edge.pull_interval=1s

core_edge.server_id=
core_edge.cluster_name=cluster-name

#*****************************************************************
# Miscellaneous configuration
#*****************************************************************
Expand Down

0 comments on commit e968bdf

Please sign in to comment.