confluentinc / terraform-provider-confluent

Terraform Provider for Confluent
Apache License 2.0
27 stars 63 forks source link

S3 sink connector exposes unknown parameter kafka.max.partition.validation.disable #389

Closed jonathanschnabelwhatnot closed 3 months ago

jonathanschnabelwhatnot commented 4 months ago

I have the following S3 sink connector configuration:

resource "confluent_connector" "myosin" {
  environment {
    id = module.kafka.environment.id
  }
  kafka_cluster {
    id = module.kafka.cluster.id
  }

  config_sensitive = {
    "aws.access.key.id"     = aws_iam_access_key.confluent.id
    "aws.secret.access.key" = aws_iam_access_key.confluent.secret
  }

  config_nonsensitive = {
    topics                                   = "mytopic"
    "input.data.format"                      = "JSON"
    "connector.class"                        = "S3_SINK"
    name                                     = "my connector"
    "kafka.auth.mode"                        = "SERVICE_ACCOUNT"
    "kafka.service.account.id"               = ...
    "s3.bucket.name"                         = ...
    "s3.ssea.name"                           = "aws:kms"
    "s3.sse.kms.key.id"                      = ...
    "s3.part.size"                           = "5242880"
    "s3.path.style.access.enabled"           = "true"
    "s3.region"                              = local.region
    "output.data.format"                     = "JSON"
    "json.decimal.format"                    = "NUMERIC"
    "path.format"                            = "YYYY/MM/dd/HH"
    "time.interval"                          = "HOURLY"
    "rotate.schedule.interval.ms"            = "-1"
    "flush.size"                             = "1000"
    "behavior.on.null.values"                = "ignore"
    "timezone"                               = "UTC"
    "subject.name.strategy"                  = "TopicNameStrategy"
    "tombstone.encoded.partition"            = "tombstone"
    "locale"                                 = "en"
    "s3.schema.partition.affix.type"         = "NONE"
    "schema.compatibility"                   = "NONE"
    "store.kafka.keys"                       = "true"
    "value.converter.connect.meta.data"      = "true"
    "store.kafka.headers"                    = "false"
    "s3.object.tagging"                      = "false"
    "value.subject.name.strategy"            = "TopicNameStrategy"
    "max.poll.interval.ms"                   = "60000"
    "max.poll.records"                       = "500"
    "tasks.max"                              = 1
  }
}

The connector deploys correctly, but when I run a subsequent Terraform plan without changing the connector code, it shows changes on the parameter kafka.max.partition.validation.disable.

image

This parameter is not documented and it seems it should not be exposed to users.

Terraform version: 1.8 Confluent provider version: 1.47

channingdong commented 3 months ago

This issue is ack'ed and fix should be contained in the next official release.

linouk23 commented 3 months ago

@jonathanschnabelwhatnot, we deployed a client-side fix for this issue in our latest release, 1.77.0, of the TF Provider 🫡.