Skip to content

cells: announce correct domain role on outbound core tunnels - #8268

Open
kofemann wants to merge 1 commit into
11.2from
issue8008-11.2
Open

kofemann wants to merge 1 commit into
11.2from
issue8008-11.2

Conversation

@kofemann

Copy link
Copy Markdown
Member

Motivation:
Since commit 5021255 ("cells: simplify initialization of LocationManagerConnector") the connector is created without cell arguments. However, those arguments were forwarded to LocationMgrTunnel, which reads the role option passed from batch files. Thus, it always fall-backed to SATELLITE. As a result, a core domain that connects to another core domain announces itself as a satellite. The connecting core installs a default route to its peer, and the accepting core allows forwarding of messages received through that tunnel. Messages published to a topic are then delivered by every core domain along the default route chain, e.g. billing records show up two or three times in setups with multiple core domains.

Modification:
Pass the domain role explicitly to LocationManagerConnector and from there to LocationMgrTunnel through a dedicated constructor, instead of relying on forwarded cell arguments. Add unit test to cover the regression.

Result:
Core domains no longer install default routes to other core domains and messages sent to a topic are delivered only once. No more duplicate billing records in setups with multiple core domains.

Issue: #8008
Acked-by: Marina Sahakyan
Target: master, 12.0, 11.2, 11.1, 11.0
Require-book: no
Require-notes: yes
(cherry picked from commit 3c3ff60)

Motivation:
Since commit 5021255 ("cells: simplify initialization of
LocationManagerConnector") the connector is created without cell
arguments. However, those arguments were forwarded to LocationMgrTunnel,
which reads the `role` option passed from batch files. Thus, it always
fall-backed to SATELLITE. As a result, a core domain that connects to
another core domain announces itself as a satellite. The connecting core
installs a default route to its peer, and the accepting core allows
forwarding of messages received through that tunnel. Messages published
to a topic are then delivered by every core domain along the default
route chain, e.g. billing records show up two or three times in setups
with multiple core domains.

Modification:
Pass the domain role explicitly to LocationManagerConnector and from
there to LocationMgrTunnel through a dedicated constructor, instead of
relying on forwarded cell arguments. Add unit test to cover the
regression.

Result:
Core domains no longer install default routes to other core domains and
messages sent to a topic are delivered only once. No more duplicate
billing records in setups with multiple core domains.

Issue: #8008
Acked-by: Marina Sahakyan
Target: master, 12.0, 11.2, 11.1, 11.0
Require-book: no
Require-notes: yes
(cherry picked from commit 3c3ff60)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
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.

1 participant