cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ariel Weisberg (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-7544) Allow storage port to be configurable per node
Date Wed, 07 Feb 2018 17:39:00 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-7544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ariel Weisberg updated CASSANDRA-7544:
--------------------------------------
    Status: Patch Available  (was: Reopened)

RE replicatingNodes this has always been unsafe. Previously it was iterated in {{StringUtils.join}}
I'm not sure if we should throw CME if it occurs or just ignore concurrent modifications.
This is only used by nodetool for monitoring, but it might be used in an automated fashion.

Proposed changes here https://github.com/aweisberg/cassandra/tree/cassandra-7544-fixes

I went with iterating it safely, but throwing CME if CME is detected. We need to iterate safely
even if we intend to throw CME.

> Allow storage port to be configurable per node
> ----------------------------------------------
>
>                 Key: CASSANDRA-7544
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7544
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sam Overton
>            Assignee: Ariel Weisberg
>            Priority: Major
>             Fix For: 4.0
>
>
> Currently storage_port must be configured identically on all nodes in a cluster and it
is assumed that this is the case when connecting to a remote node.
> This prevents running in any environment that requires multiple nodes to be able to bind
to the same network interface, such as with many automatic provisioning/deployment frameworks.
> The current solutions seems to be
> * use a separate network interface for each node deployed to the same box. This puts
a big requirement on IP allocation at large scale.
> * allow multiple clusters to be provisioned from the same resource pool, but restrict
allocation to a maximum of one node per host from each cluster, assuming each cluster is running
on a different storage port.
> It would make operations much simpler in these kind of environments if the environment
provisioning the resources could assign the ports to be used when bringing up a new node on
shared hardware.
> The changes required would be at least the following:
> 1. configure seeds as IP:port instead of just IP
> 2. gossip the storage port as part of a node's ApplicationState
> 3. refer internally to nodes by hostID instead of IP, since there will be multiple nodes
with the same IP
> (1) & (2) are mostly trivial and I already have a patch for these. The bulk of the
work to enable this is (3), and I would structure this as a separate pre-requisite patch.




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message