Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Java] Cluster interface config. #1290

Merged
merged 6 commits into from
Mar 4, 2022

Conversation

vyazelenko
Copy link
Contributor

@vyazelenko vyazelenko commented Feb 21, 2022

This PR makes it possible to configure interface params for all of the Cluster channels. To that end it:

  • Replaces all of the ad hoc channels used for defining destinations with the call to ChannelUri#createDestinationUri.
  • Adds two new configuration properties aeron.cluster.follower.catchup.channel and aeron.cluster.leader.archive.control.channel. The former is used to create the replay channel when doing a catch up on the follower node. And the latter is used for creating a control request channel to the leader archive.
  • Adds an egressChannel configuration option to the ConsensusModule which is using the same configuration property as the AeronCluster (i.e. aeron.cluster.egress.channel). When the egressChannel is not defined then response channel from the leader to the client is based on the responseChannel sent by the client. However if it defined then it is used a basis for the response channel, i.e. if the client responseChannel contains an endpoint parameter then it will be used to set/substitute the value in the egressChannel of the leader node and otherwise leader's egressChannel is used as is.

@mikeb01
Copy link
Contributor

mikeb01 commented Feb 28, 2022

Is it possible to write a system test showing the interface configuration? Perhaps this could fall into the cluster topology tests?

…r the dedicated channels or channel templates.
…oid an ad hoc channel creation and re-use the `interface` param and the `media` of the source channel.
…ion as this results in an exception being thrown, e.g. `java.lang.IllegalArgumentException: matching tag=35 has explicit endpoint or control: aeron:udp?tags=35,36|interface=10.42.0.0/24|control-mode=manual|session-id=-197116438|alias=log|group=true|rejoin=false <> aeron:udp?tags=35,36|interface=10.42.0.0/24|control-mode=manual|session-id=-197116438|alias=log|group=true|rejoin=false`.
@mjpt777 mjpt777 merged commit b51e9f6 into real-logic:master Mar 4, 2022
@vyazelenko vyazelenko deleted the cluster-interface-config branch March 23, 2022 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants