Skip to content

Add reasonable defaults to cta.schedulerdb.disable_(user|repack)_requests

Summary

If these configuration entries are missing in cta-frontend-xrootd.conf cta-frontend crashes with an exception.

See https://gitlab.cern.ch/cta/operations/-/issues/1651

This means that upgrading the frontend to cta 5.11.6 with a configuration file that worked for a previous CTA version will crash the frontend with no explanation.

This issue was already there with the previous opposite configuration: cta.schedulerdb.enable_(user|repack)_requests, but this must be fixed to provide a reasonable migration path toward the new config entry.

We really should track CTA SSI xrootd options that are missing a reasonable default.

Here default must be false for both of them (with a note about this in the provided cta-frontend-xrootd.conf.example:

# Allow schedulerdb queuing for
# repack requests: enabled by default
# cta.schedulerdb.disable_repack_requests false
# user requests: enabled by default
# cta.schedulerdb.disable_user_requests false

We should separately improve how we manage our example file and communicate defaults, but we should not provide an example config file that does not work.

Steps to reproduce

Remove these 2 lines and restart cta-frontend.

What is the current bug behaviour?

It crashes

What is the expected correct behaviour?

It should not

Relevant logs and/or screenshots

Obscure useless logs:

++++++ ssi initialization started.
=====> ssi.svclib libXrdSsiCta.so 
Config Configuring standalone server.
250408 12:00:32 2415781 ssi_XrdSsiCtaServiceProvider: pid:2415781 tid:140710024223808 XrdSsiCtaServiceProvider() constructor
250408 12:00:32 2415781 ssi_XrdSsiCtaServiceProvider: pid:2415781 tid:140710024223808 Called Init(/etc/cta/cta-frontend-xrootd.conf,)
250408 12:00:33 2415781 ssi_XrdSsiCtaServiceProvider: pid:2415781 tid:140710024223808 XrdSsiCtaServiceProvider::Init(): std::exception bad optional access
250408 12:00:33 2415781 ssi_Config: Provider initialization failed.
------ ssi initialization failed.
250408 12:00:33 2415781 XrootdConfig: Unable to load file system via libXrdSsi.so
250408 12:00:33 2415781 XrootdConfig: Unable to load base file system using libXrdSsi.so
------ xroot protocol initialization failed.
250408 12:00:33 2415781 XrdProtocol: Protocol xroot could not be loaded
------ xrootd cta@ctapreproductionfrontend12.cern.ch:10955 initialization failed.