<#2986 Meltano should print a warning if any of th...
# meltano-repo-activity
g
#2986 Meltano should print a warning if any of these are missing from capabilities: (`state`, `discover`, (`catalog` XOR `properties`)) Issue created by MeltyBot Related: • #7265 Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/3052 Originally created by @aaronsteers on 2021-11-09 010715 --- There are enough instances of expensive debug operations at this point (most recently today), that I think we should be printing an explicit warning message whenever any of these capabilities are not found in `discovery.yml`: 1. If
state
capability is not declared, then during `meltano elt`: • > Warning: Capability 'state' is not declared for
{tap-name}
. Incremental sync bookmarks will be disabled as a result. 2. If
discover
capability is not declared, then during
meltano elt
and `meltano invoke`:
• > Warning: Capability 'discover' is not declared for
{tap-name}
. Proceeding without catalog discovery. • UPDATE (2023-02-03): This rarely is an issue. Discovered catalogs are only really needed if
catalog
is needed, and then specifically for
selection
and
metatata
, or
catalog
overrides in yaml or at the CLI. 3. If neither
catalog
nor
properties
capability is declared, then during
meltano invoke
and `meltano etl`: • > Warning: Capabilities
catalog
and
properties
are both undeclared for
{tap-name}
. Catalog and selection features are disabled. • UPDATE (2023-02-03): • If we don't today fail, we should do so: when
catalog
or
properties
are undefined and the user requests any of the following capabilities:
selection
,
metadata
, or
catalog
overrides. All of these should fail with a clear error message that the operation cannot be performed because
catalog
and/or
properties
is not a supported capability. • Since
selection
and
metadata
overrides require a discovered catalog (or a manually provided one), we should fail if
catalog
is not defined and if a manually-created catalog file is not provided in yaml or at the CLI. 4. During
add --custom
, set default capabilities to
discover,state,catalog
rather than
[]
. 5. Warn if
capabilities
is fully empty, during
meltano invoke
and perhaps also during
meltano install
. • UPDATE (2023-02-03): • Yes, and we should also presume that "no capabilities defined" is equivalent to the default set
[discover,state,catalog]
and not the empty set
[]
. 6.
--dump
commands should fail immediately with a clear message about missing declared capabilities. 1.
--dump=catalog
should fail hard for missing
discover
, should warn for missing
catalog
. 2.
--dump=state
should fail hard for missing
state
. I think these should probably print even when
--log-level=debug
is not set. meltano/meltano