'json_schema'.'properties' are not defined for stream - normalization failed

  • Is this your first time deploying Airbyte?: Yes
  • OS Version / Instance: Ubuntu, 20.04 LTS / Google e2-standard-2
  • Memory / Disk: 50Gb
  • Deployment: Docker
  • Airbyte Version: 0.40.10
  • Source name/version: Own Source (Plenigo)
  • Destination name/version: BigQuery
  • Step: Normalization

Hi,
I am trying to establish a connection between our software-as-a-service platform and our Google BigQuery dataset. The connector should retrieve data via an API interface and write it to a Google BigQuery table. Without additional normalization, the data is successfully written to the _airbyte_raw_incremental_transaction_stream table. However, as soon as the normalization is activated, I get the error that the ‘properties’ field of the JSON schema cannot be processed. The records of the API interface are not modeled and the received records should match the specified schema aswell.

Here is the log file from the failed sync:
error_logs.txt (147.0 KB)

Since I have no further details, I assume that the error can be traced back to this line:

2022-10-07 08:52:33 e[42mnormalizatione[0m > KeyError: “‘json_schema’.‘properties’ are not defined for stream incremental_transaction_stream”

The JSON schema, which is stored in secrets/configure_catalog.json (source), is structured as follows:

{
  "streams": [
    {
      "destination_sync_mode": "append",
      "sync_mode": "incremental",
      "stream": {
        "name": "incremental_transaction_stream",
        "json_schema": {
          "type": "object",
          "required": [
            "transactionId",
            "paymentProvider",
            "customerId"
          ],
          "properties": {
            "transactionId": {
              "type": "number"
            },
            "plenigoTransactionId": {
              "type": "string"
            },
            "changedDate": {
              "type": "string"
            },
            "transactionDate": {
              "type": "string"
            },
            "fulfillmentDate": {
              "type": "string"
            },
            "paymentProvider": {
              "type": "string"
            },
            "paymentMethod": {
              "type": "string"
            },
            "paymentAction": {
              "type": "string"
            },
            "paymentStatus": {
              "type": "string"
            },
            "customerId": {
              "type": "string"
            },
            "amount": {
              "type": "number"
            },
            "currency": {
              "type": "string"
            },
            "pspTransactionId": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "errorMessage": {
              "type": "string"
            },
            "errorCode": {
              "type": "string"
            }
          }
        },
        "supported_sync_modes": [
          "full_refresh",
          "incremental"
        ],
        "source_defined_cursor": true,
        "default_cursor_field": [
          "startTime"
        ],
        "source_defined_primary_key": [
          [
            "transactionId"
          ]
        ]
      }
    }
  ]
}

Please could someone assist me on this issue. Thanks for your help!

Hello there! You are receiving this message because none of your fellow community members has stepped in to respond to your topic post. (If you are a community member and you are reading this response, feel free to jump in if you have the answer!) As a result, the Community Assistance Team has been made aware of this topic and will be investigating and responding as quickly as possible.
Some important considerations that will help your to get your issue solved faster:

  • It is best to use our topic creation template; if you haven’t yet, we recommend posting a followup with the requested information. With that information the team will be able to more quickly search for similar issues with connectors and the platform and troubleshoot more quickly your specific question or problem.
  • Make sure to upload the complete log file; a common investigation roadblock is that sometimes the error for the issue happens well before the problem is surfaced to the user, and so having the tail of the log is less useful than having the whole log to scan through.
  • Be as descriptive and specific as possible; when investigating it is extremely valuable to know what steps were taken to encounter the issue, what version of connector / platform / Java / Python / docker / k8s was used, etc. The more context supplied, the quicker the investigation can start on your topic and the faster we can drive towards an answer.
  • We in the Community Assistance Team are glad you’ve made yourself part of our community, and we’ll do our best to answer your questions and resolve the problems as quickly as possible. Expect to hear from a specific team member as soon as possible.

Thank you for your time and attention.
Best,
The Community Assistance Team

We were able to fix the issue by resetting our environment and rebuilding everything from scratch. Apparently, the source image was not updated regularly, preventing the bugs from getting fixed. We are now working on integrating the latest Docker image into Airbyte. Thanks for the help!

Glad you hear you found the solution, thanks for posting it here in case other users are looking for answers later!