Skip to content

built-in pool mover queues special? all but p2p may be created as named queues #8149

Description

@calestyo

Hey.

While working on my Prometheus exporter, I've noted the following somewhat odd behaviour.

On a normal pool I have e.g.:

$ curl -s http://localhost:3880/api/v1/pools/lcg-lrz-dc44_0/usage | jq '.["poolData"]["detailsData"]["costData"]' 
{
  "label": "Pool Cost Info",
  "mover": {
    "active": 0,
    "maxActive": 513,
    "queued": 0,
    "readers": 0,
    "writers": 0
  },
  "store": {
    "active": 0,
    "maxActive": 0,
    "queued": 0,
    "readers": 0,
    "writers": 0
  },
  "restore": {
    "active": 0,
    "maxActive": 0,
    "queued": 0,
    "readers": 0,
    "writers": 0
  },
  "p2p": {
    "active": 0,
    "maxActive": 10,
    "queued": 0,
    "readers": 0,
    "writers": 0
  },
  "p2pClient": {
    "active": 0,
    "maxActive": 0,
    "queued": 0,
    "readers": 0,
    "writers": 0
  },
  "extendedMoverHash": {
    "dcap": {
      "name": "dcap",
      "active": 0,
      "maxActive": 5,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "webdav.tls": {
      "name": "webdav.tls",
      "active": 0,
      "maxActive": 20,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "ftp": {
      "name": "ftp",
      "active": 0,
      "maxActive": 5,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "dcap.plain": {
      "name": "dcap.plain",
      "active": 0,
      "maxActive": 8,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "webdav.plain": {
      "name": "webdav.plain",
      "active": 0,
      "maxActive": 20,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "root": {
      "name": "root",
      "active": 0,
      "maxActive": 100,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "dcap.gsi": {
      "name": "dcap.gsi",
      "active": 0,
      "maxActive": 15,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "nfs": {
      "name": "nfs",
      "active": 0,
      "maxActive": 200,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "xrootd": {
      "name": "xrootd",
      "active": 0,
      "maxActive": 100,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "regular": {
      "name": "regular",
      "active": 0,
      "maxActive": 20,
      "queued": 0,
      "readers": 0,
      "writers": 0
    },
    "ftp.gsi": {
      "name": "ftp.gsi",
      "active": 0,
      "maxActive": 20,
      "queued": 0,
      "readers": 0,
      "writers": 0
    }
  },
  "defaultQueueName": "regular",
  "space": {
    "total": 17587873251328,
    "free": 17587873251328,
    "precious": 0,
    "removable": 0,
    "lru": 1783725029,
    "gap": 53687091200,
    "breakEven": 0.7
  },
  "moverCostFactor": 0.5
}

If I do now:

mover set max active -queue=p2p 44

it affects the built-in p2p.
and I can't do e.g.

mover set max active -queue=p2pClient 44

(gives an error).

While:

mover queue create p2p -order=LIFO

gives no error, it doesn't cause a custom queue to be created.

But I can in fact create custom queues with names of all the other built-ins (restore, etc.).

It seemed odd to me that only p2p should be so special to be handled different... maybe the others were forgotten?

In general, are custom queues allowed to use the same names as any built-ins? Cause I did quite some effort now in my exporter to handle that.

Cheers,
Chris.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions