Print

Print


Some context:

The EOS headnode (MGM) operates as a manager (redirector). There are usually 3 MGMs, one active and two passive, they are hidden under a common alias.
The passive MGMs are always redirecting to the active one.

The active MGM is chosen by RAFT consensus algorithm. So for example if the currently active MGM goes down, the two remaining MGMs will elect another active MGM from among themselves. If the former MGM comes back it will automatically go to passive mode.

Consider following scenario:

  1. The client tries to send a request to the MGM using the common alias. It resolves the alias into 3 IP addresses. Let’s say it chooses an IP address that corresponds
    to a passive MGM. As a result, the client creates a Channel associated to the common alias that has an open physical connection to a passive MGM.

  2. The passive MGM will redirect the client to the active MGM and the request will be further redirected to a data server.

  3. Now imagine the client sends another request to the MGM using the common alias, the request will follow exactly the same path: it will first go to the passive MGM, then it will be redirected to the active MGM, and so on …

The desired behaviour:

If a redirector belongs to a common alias X, and it redirects the client to another server that also belongs to the same common alias X, the Channel corresponding to the second redirector should be relabeled with X.

To illustrate this with an example:

Let’s say we have a common alias alias.cern.ch, and two hosts behind it active.cern.ch (IP-active) and passive.cern.ch (IP-passive). The client sends a request to alias.cern.ch and the first address it tries is IP-passive. As a result a Channel is created: “alias.cern.ch” -> physical connection to IP-passive.
The server now redirects the client to active.cern.ch at this point since IP-active belongs to the same alias as the server redirecting to it, we would like to remap the channels so that ‘alias.cern.ch’ -> physical connection to IP-active.
This way next time the client sends a request to alias.cern.ch it will go directly to the active redirector.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/1267", "url": "https://github.com/xrootd/xrootd/issues/1267", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1