Исключение в Kafka REST Proxy: «Регистрируемая схема несовместима с более ранней схемой» при попытке опубликовать запись с помощью схемы с обнуляемым ключом - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь отправить это сообщение в Kafka Rest:

{
  "key_schema": "[\"null\",\"long\"]",
  "value_schema": "{\"type\":\"record\",\"name\":\"GVEDGE_FI_INVOICE_TX_INFO_V2\",\"namespace\":\"com.vistajet.gvedge.infrastructure.kafka.connector\",\"fields\":[{\"name\":\"XID\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"ID\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"INVOICE_CHANGE_COUNT\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"INVOICE_DETAIL_CHANGE_COUNT\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"ADDITIONAL_INVL_CHANGE_COUNT\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"COST_ALLOCATION_CHANGE_COUNT\",\"type\":[\"null\",\"long\"],\"default\":null}],\"connect.name\":\"com.vistajet.gvedge.infrastructure.kafka.connector.GVEDGE_FI_INVOICE_TX_INFO_V2\"}",
  "records": [
    {
      "key": {
        "long": 140766
      },
      "value": {
        "XID": {
          "long": 29524623
        },
        "ID": {
          "long": 140766
        },
        "INVOICE_CHANGE_COUNT": {
          "long": 1
        },
        "INVOICE_DETAIL_CHANGE_COUNT": {
          "long": 0
        },
        "ADDITIONAL_INVL_CHANGE_COUNT": {
          "long": 0
        },
        "COST_ALLOCATION_CHANGE_COUNT": {
          "long": 0
        }
      }
    }
  ]
}

и у меня есть следующая ошибка в rest-proxy.log:

[2019-04-11 14: 25: 58,991] ОШИБКА Необработанное исключение, приводящее к ответу внутренней ошибки сервера (io.confluent.rest.exceptions.GenericExceptionMapper: 38) org.apache.kafka.common.errors.SerializationException: Ошибка регистрации схемы Avro:"long" Причины: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: регистрируемая схема несовместима с более ранней схемой;код ошибки: 409

Почему это происходит ???Я не могу понять, почему

"key": {
        "long": 140766
      }

инициирует создание новой схемы? ...

Кстати

"key": null

работает нормально.

...