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

TM sometimes sets cachegroups to unavailable if all caches are ONLINE instead of REPORTED #6048

Closed
rawlinp opened this issue Jul 21, 2021 · 0 comments · Fixed by #6051
Closed
Assignees
Labels
bug something isn't working as intended high impact impacts the basic function, deployment, or operation of a CDN Traffic Monitor related to Traffic Monitor
Milestone

Comments

@rawlinp
Copy link
Contributor

rawlinp commented Jul 21, 2021

I'm submitting a ...

  • bug report

Traffic Control components affected ...

  • Traffic Monitor

Current behavior:

TM sometimes appears to add cachegroups to the disabledLocations array in its /publish/CrStates API when all caches are set to ONLINE. In the following example, all caches are ONLINE, yet disabledLocations contain cachegroups:

{
    "caches": {
        "cache1": {
            "ipv4Available": true,
            "ipv6Available": false,
            "isAvailable": true
        },
        "cache2": {
            "ipv4Available": true,
            "ipv6Available": false,
            "isAvailable": true
        },
        "cache3": {
            "ipv4Available": true,
            "ipv6Available": false,
            "isAvailable": true
        },
        "cache4": {
            "ipv4Available": true,
            "ipv6Available": false,
            "isAvailable": true
        }
    },
    "deliveryServices": {
        "ds1-red": {
            "disabledLocations": [],
            "isAvailable": false
        },
        "ds2": {
            "disabledLocations": [
                "cg1"
            ],
            "isAvailable": true
        },
        "ds3": {
            "disabledLocations": [
                "cg2"
            ],
            "isAvailable": true
        },
        "ds4-red": {
            "disabledLocations": [],
            "isAvailable": false
        },
        "ds5": {
            "disabledLocations": [
                "cg1"
            ],
            "isAvailable": true
        },
        "ds6": {
            "disabledLocations": [
                "cg2"
            ],
            "isAvailable": true
        }
    }
}

Expected behavior:

Since all the caches are ONLINE, the above example should have no cachegroups in disabledLocations. When a cachegroup is in disabledLocations, that essentially tells TR that all caches in that cachegroup are unavailable.

Minimal reproduction of the problem with instructions:

Set all caches to ONLINE in a CDN with one or more delivery services, snapshot, and request TM's /publish/CrStates API.

Anything else:

I've tried to reproduce this in CiaB, but in CiaB TM doesn't populate the disabledLocations array the same as it does in the environment in which this was observed. Honestly, as this is basically just a premature optimization for Traffic Router, we might just want to change TM to never populate the disabledLocations. Traffic Router will still quickly find that all caches are unavailable in a given cachegroup and try the next closest. Checking disabledLocations probably only saves TR a handful of nanoseconds when routing a request (and only if entire cachegroups are unavailable), so I think we'd be fine if TM never populated it.

@rawlinp rawlinp added bug something isn't working as intended Traffic Monitor related to Traffic Monitor labels Jul 21, 2021
@rawlinp rawlinp changed the title TM sets cachegroups to unavailable if all caches are ONLINE instead of REPORTED TM sometimes sets cachegroups to unavailable if all caches are ONLINE instead of REPORTED Jul 21, 2021
@zrhoffman zrhoffman added this to the 6.0.0 milestone Jul 21, 2021
@mitchell852 mitchell852 added the high impact impacts the basic function, deployment, or operation of a CDN label Jul 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something isn't working as intended high impact impacts the basic function, deployment, or operation of a CDN Traffic Monitor related to Traffic Monitor
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants