Vector: Error loading valid config with nightly-debian

Created on 15 Sep 2020  路  4Comments  路  Source: timberio/vector

Vector Version

vector 0.11.0 (g68a5c43 x86_64-unknown-linux-gnu 2020-09-11)

Vector Configuration File

[sources.kafka]
    type = "kafka"
    bootstrap_servers = "logging-kafka-bootstrap.logging-kafka:9092"
    group_id = "test-vector"
    topics = ["test-vector"]

[transforms.kafka_parser]
    type = "json_parser"
    inputs = ["kafka"]
    field = "message"
    drop_invalid = true

[transforms.splitting_gerrys]
    inputs = [ "kafka_parser" ]
    type = "swimlanes"

    [transforms.splitting_gerrys.lanes.only_gerrys]
        type = "check_fields"
        "host.eq" = "gerry"

    [transforms.splitting_gerrys.lanes.no_gerrys]
        type = "check_fields"
        "host.neq" = "gerry"

[sinks.only_loves_gerry]
    inputs = [ "splitting_gerrys.only_gerrys" ]
    type = "console"
    encoding.codec = "json"

[sinks.hates_gerry]
    inputs = [ "splitting_gerrys.no_gerrys" ]
    type = "console"
    encoding.codec = "json"

Debug Output

Expected Behavior


Properly load configuration, vector validate passes the config locally (v0.10.0)

Actual Behavior

Sep 15 15:23:00.036  INFO vector: Log level "info" is enabled.
Sep 15 15:23:00.037 TRACE mio::poll: registering with poller
Sep 15 15:23:00.040  INFO vector: Loading configs. path=["/etc/vector/vector.toml"]
Sep 15 15:23:00.043  WARN vector::config::compiler: Transform "splitting_gerrys" has no consumers
Sep 15 15:23:00.043 ERROR vector: Configuration error: Input "splitting_gerrys.only_gerrys" for sink "only_loves_gerry" doesn't exist.
Sep 15 15:23:00.043 ERROR vector: Configuration error: Input "splitting_gerrys.no_gerrys" for sink "hates_gerry" doesn't exist.

Example Data

Additional Context

References

config swimlanes bug

All 4 comments

I think the problem might be the name itself. Changing splitting_gerrys.only_gerrys -> only_gerrys and splitting_gerrys.no_gerrys -> no_gerrys should resolve that.

[sources.kafka]
    type = "kafka"
    bootstrap_servers = "logging-kafka-bootstrap.logging-kafka:9092"
    group_id = "test-vector"
    topics = ["test-vector"]

[transforms.kafka_parser]
    type = "json_parser"
    inputs = ["kafka"]
    field = "message"
    drop_invalid = true

[transforms.splitting_gerrys]
    inputs = [ "kafka_parser" ]
    type = "swimlanes"

    [transforms.splitting_gerrys.lanes.only_gerrys]
        type = "check_fields"
        "host.eq" = "gerry"

    [transforms.splitting_gerrys.lanes.no_gerrys]
        type = "check_fields"
        "host.neq" = "gerry"

[sinks.only_loves_gerry]
    inputs = [ "only_gerrys" ]
    type = "console"
    encoding.codec = "json"

[sinks.hates_gerry]
    inputs = [ "no_gerrys" ]
    type = "console"
    encoding.codec = "json"

Gets the same error unfortunately:

Sep 15 16:06:52.591  INFO vector: Log level "info" is enabled.
Sep 15 16:06:52.592 TRACE mio::poll: registering with poller
Sep 15 16:06:52.593  INFO vector: Loading configs. path=["/etc/vector/vector.toml"]
Sep 15 16:06:52.596  WARN vector::config::compiler: Transform "splitting_gerrys" has no consumers
Sep 15 16:06:52.597 ERROR vector: Configuration error: Input "only_gerrys" for sink "only_loves_gerry" doesn't exist.
Sep 15 16:06:52.597 ERROR vector: Configuration error: Input "no_gerrys" for sink "hates_gerry" doesn't exist.

The original transform.lane naming was correct, but this was broken somewhat recently in the config loading refactor. I've pushed a fix in #3894.

Thanks @lukesteensen!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

LucioFranco picture LucioFranco  路  3Comments

lewisthompson picture lewisthompson  路  3Comments

leebenson picture leebenson  路  3Comments

binarylogic picture binarylogic  路  3Comments

LucioFranco picture LucioFranco  路  3Comments