Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firebolt Source: adding new column types #21842

Closed
wants to merge 10 commits into from

Conversation

ptiurin
Copy link
Contributor

@ptiurin ptiurin commented Jan 25, 2023

What

Adding support for the new column types in Firebolt: PGDate, TimestampTZ, TimestampNTZ and Boolean.

How

By parsing the source table schema, parsing column types and converting them to appropriate airbyte types.

Recommended reading order

  1. airbyte-integrations/connectors/source-firebolt/source_firebolt/utils.py
  2. airbyte-integrations/connectors/source-firebolt/unit_tests/test_firebolt_source.py

Pre-merge Checklist

Expand the relevant checklist and delete the others.

Updating a connector

Community member or Airbyter

  • Grant edit access to maintainers (instructions)
  • Secrets in the connector's spec are annotated with airbyte_secret
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Code reviews completed
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • Changelog updated in docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
  • PR name follows PR naming conventions

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • If new credentials are required for use in CI, add them to GSM. Instructions.
  • /test connector=connectors/<name> command is passing
  • New Connector version released on Dockerhub and connector version bumped by running the /publish command described here

Tests

Unit

image

Integration

image

Acceptance

Test session starts (platform: darwin, Python 3.9.12, pytest 7.1.3, pytest-sugar 0.9.4)
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/.hypothesis/examples')
rootdir: /Users/petrotiurin/Development/airbyte_bool, configfile: pytest.ini
plugins: sugar-0.9.4, asyncio-0.18.3, anyio-3.5.0, requests-mock-1.9.3, mock-3.6.1, timeout-1.4.2, hypothesis-6.54.5, cov-3.0.0
asyncio: mode=legacy
collecting ... {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}
{"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}

airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py::test_check_fails ✓ 3% ▍ {"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 1 rows in 1.7739310264587402 seconds."}}

airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py::test_check_succeeds ✓ 6% ▋ {"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 1 rows in 0.5176651477813721 seconds."}}
{"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 0 rows in 17.144484758377075 seconds."}}
{"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 1 rows in 0.2694091796875 seconds."}}
{"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 404 rows in 0.4536869525909424 seconds."}}

airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py::test_discover ✓ 9% ▉ {"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 2 rows in 0.3405768871307373 seconds."}}

airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py::test_read ✓ 12% █▎ {"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 2 rows in 0.3409700393676758 seconds."}}

{"type": "LOG", "log": {"level": "INFO", "message": "Query fetched 1 rows in 0.4870479106903076 seconds."}}
airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py::test_view_read ✓ 15% █▌ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_config_match_spec[inputs0] ✓ 18% █▊ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_match_expected[inputs0] ✓ 21% ██▎ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_docker_env[inputs0] ✓ 24% ██▌ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_enum_usage[inputs0] ✓ 27% ██▊ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_oneof_usage[inputs0] ✓ 30% ███
../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_required[inputs0] ✓ 33% ███▍
../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_optional[inputs0] ✓ 36% ███▋
../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_has_secret[inputs0] ✓ 39% ███▉
../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_secret_never_in_the_output[inputs0] ✓ 42% ████▎ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_secret_is_properly_marked[inputs0] ✓ 45% ████▋ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_defined_refs_exist_in_json_spec_file[inputs0] ✓ 48% ████▉ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_oauth_flow_parameters[inputs0] ✓ 52% █████▎ {"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/anyio/backends/trio.py:164: TrioDeprecationWarning: trio.MultiError is deprecated since Trio 0.22.0; use BaseExceptionGroup (on Python 3.11 and later) or exceptiongroup.BaseExceptionGroup (earlier versions) instead (https://github.com/python-trio/trio/issues/2211)\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/anyio/backends/trio.py:164: TrioDeprecationWarning: trio.MultiError is deprecated since Trio 0.22.0; use BaseExceptionGroup (on Python 3.11 and later) or exceptiongroup.BaseExceptionGroup (earlier versions) instead (https://github.com/python-trio/trio/issues/2211)\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output class ExceptionGroup(BaseExceptionGroup, trio.MultiError):\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= class ExceptionGroup(BaseExceptionGroup, trio.MultiError):\n; pos=2; lineno=1; colno=3)"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_backward_compatibility[inputs0] s 55% █████▌ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_additional_properties_is_true[inputs0] ✓ 58% █████▊ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestConnection.test_check[inputs0] ✓ 61% ██████▏ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/integration_tests/invalid_config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestConnection.test_check[inputs1] ✓ 64% ██████▍ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_discover[inputs0] ✓ 67% ██████▋ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_cursors_exist_in_schema[inputs0] ✓ 70% ███████ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_refs_exist_in_schema[inputs0] ✓ 73% ███████▍ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_keyword_exist_in_schema[inputs0-allOf] ✓ 76% ███████▋ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_keyword_exist_in_schema[inputs0-not] ✓ 79% ███████▉ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_primary_keys_exist_in_schema[inputs0] ✓ 82% ████████▎ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_streams_has_sync_modes[inputs0] ✓ 85% ████████▌ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_additional_properties_is_true[inputs0] ✓ 88% ████████▊ {"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/anyio/backends/trio.py:164: TrioDeprecationWarning: trio.MultiError is deprecated since Trio 0.22.0; use BaseExceptionGroup (on Python 3.11 and later) or exceptiongroup.BaseExceptionGroup (earlier versions) instead (https://github.com/python-trio/trio/issues/2211)\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/anyio/backends/trio.py:164: TrioDeprecationWarning: trio.MultiError is deprecated since Trio 0.22.0; use BaseExceptionGroup (on Python 3.11 and later) or exceptiongroup.BaseExceptionGroup (earlier versions) instead (https://github.com/python-trio/trio/issues/2211)\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output class ExceptionGroup(BaseExceptionGroup, trio.MultiError):\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= class ExceptionGroup(BaseExceptionGroup, trio.MultiError):\n; pos=2; lineno=1; colno=3)"}}

―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― TestDiscovery.test_backward_compatibility[inputs0] ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

self = <source_acceptance_test.tests.test_core.TestDiscovery object at 0x115dc6a90>, skip_backward_compatibility_tests = False
discovered_catalog = {'_1_prefix_startwith_number_scd': AirbyteStream(name='_1_prefix_startwith_number_scd', json_schema={'type': 'object',...fresh'>], source_defined_cursor=None, default_cursor_field=None, source_defined_primary_key=None, namespace=None), ...}
previous_discovered_catalog = {'_1_prefix_startwith_number_scd': AirbyteStream(name='_1_prefix_startwith_number_scd', json_schema={'type': 'object',...fresh'>], source_defined_cursor=None, default_cursor_field=None, source_defined_primary_key=None, namespace=None), ...}

@pytest.mark.default_timeout(60)
@pytest.mark.backward_compatibility
def test_backward_compatibility(
    self,
    skip_backward_compatibility_tests: bool,
    discovered_catalog: MutableMapping[str, AirbyteStream],
    previous_discovered_catalog: MutableMapping[str, AirbyteStream],
):
    """Check if the current catalog is backward_compatible with the previous one."""
    assert isinstance(discovered_catalog, MutableMapping) and isinstance(previous_discovered_catalog, MutableMapping)
    checker = CatalogDiffChecker(previous_discovered_catalog, discovered_catalog)
  checker.assert_is_backward_compatible()

../../../../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:472:


../../../../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/utils/backward_compatibility.py:228: in assert_is_backward_compatible
self.check_if_value_of_type_field_changed(self.streams_json_schemas_diff)
../../../../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/utils/backward_compatibility.py:60: in check_if_value_of_type_field_changed
self._raise_error("The'type' field value was changed.", diff)


self = <source_acceptance_test.utils.backward_compatibility.CatalogDiffChecker object at 0x116235e50>, message = "The'type' field value was changed."
diff = {'values_changed': [<root['airbyte_integration_wiakojfogc']['properties']['column7']['type'][1] t1:'integer', t2:'boolean'>, <root['airbyte_integration_oxduebcbbx']['properties']['column7']['type'][1] t1:'integer', t2:'boolean'>]}

def _raise_error(self, message: str, diff: DeepDiff):
  raise NonBackwardCompatibleError(f"{message}. Diff: {diff.pretty()}", self.context)

E source_acceptance_test.utils.backward_compatibility.NonBackwardCompatibleError: BackwardIncompatibilityContext.DISCOVER - The'type' field value was changed.. Diff: Item root['airbyte_integration_wiakojfogc']['properties']['column7']['type'][1] removed from iterable.
E Item root['airbyte_integration_oxduebcbbx']['properties']['column7']['type'][1] removed from iterable.

../../../../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/utils/backward_compatibility.py:38: NonBackwardCompatibleError
------------------------------------------------------------------------------------ Captured log setup ------------------------------------------------------------------------------------
INFO root:conftest.py:70 Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version.
WARNING root:connector_runner.py:125 Unable to parse connector's output /usr/local/lib/python3.9/site-packages/anyio/_backends/_trio.py:164: TrioDeprecationWarning: trio.MultiError is deprecated since Trio 0.22.0; use BaseExceptionGroup (on Python 3.11 and later) or exceptiongroup.BaseExceptionGroup (earlier versions) instead (python-trio/trio#2211)
, error: 1 validation error for AirbyteMessage
root
Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/anyio/_backends/_trio.py:164: TrioDeprecationWarning: trio.MultiError is deprecated since Trio 0.22.0; use BaseExceptionGroup (on Python 3.11 and later) or exceptiongroup.BaseExceptionGroup (earlier versions) instead (python-trio/trio#2211)
; pos=0; lineno=1; colno=1)
WARNING root:connector_runner.py:125 Unable to parse connector's output class ExceptionGroup(BaseExceptionGroup, trio.MultiError):
, error: 1 validation error for AirbyteMessage
root
Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= class ExceptionGroup(BaseExceptionGroup, trio.MultiError):
; pos=2; lineno=1; colno=3)

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_backward_compatibility[inputs0] ⨯ 91% █████████▏{"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "INFO", "message": "The configured catalog is built from a custom configured catalog."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Actual records for stream airbyte_acceptance_table:"}}
{"type": "LOG", "log": {"level": "INFO", "message": "[\n {\n "column1": "my_value",\n "column2": 221,\n "column3": "2021-01-01T20:10:22",\n "column4": 1.214,\n "column5": [\n 1,\n 2,\n 3\n ]\n },\n {\n "column1": "my_value2",\n "column2": 222,\n "column3": "2021-01-02T22:10:22",\n "column5": [\n 1,\n 2,\n null\n ]\n }\n]"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Expected records for stream airbyte_acceptance_table:"}}
{"type": "LOG", "log": {"level": "INFO", "message": "[\n {\n "column1": "my_value",\n "column2": 221,\n "column3": "2021-01-01T20:10:22",\n "column4": 1.214,\n "column5": [\n 1,\n 2,\n 3\n ]\n },\n {\n "column1": "my_value2",\n "column2": 222,\n "column3": "2021-01-02T22:10:22",\n "column5": [\n 1,\n 2,\n null\n ]\n }\n]"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestBasicRead.test_read[inputs0] ✓ 94% █████████▌{"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}
{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container failed, code 1, error:\n{"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": 1674652120690.044, "error": {"message": "Something went wrong in the connector. See the logs for more details.", "internal_message": "2 validation errors for ConfiguredAirbyteCatalog\nstreams -> 0 -> sync_mode\n value is not a valid enumeration member; permitted: 'full_refresh', 'incremental' (type=type_error.enum; enum_values=[<SyncMode.full_refresh: 'full_refresh'>, <SyncMode.incremental: 'incremental'>])\nstreams -> 0 -> destination_sync_mode\n value is not a valid enumeration member; permitted: 'append', 'overwrite', 'append_dedup' (type=type_error.enum; enum_values=[<DestinationSyncMode.append: 'append'>, <DestinationSyncMode.overwrite: 'overwrite'>, <DestinationSyncMode.append_dedup: 'append_dedup'>])", "stack_trace": "Traceback (most recent call last):\n File \"/airbyte/integration_code/main.py\", line 13, in \n launch(source, sys.argv[1:])\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py\", line 131, in launch\n for message in source_entrypoint.run(parsed_args):\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py\", line 119, in run\n config_catalog = self.source.read_catalog(parsed_args.catalog)\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/source.py\", line 89, in read_catalog\n return ConfiguredAirbyteCatalog.parse_obj(self._read_json_file(catalog_path))\n File \"/usr/local/lib/python3.9/site-packages/pydantic/main.py\", line 521, in parse_obj\n return cls(**obj)\n File \"/usr/local/lib/python3.9/site-packages/pydantic/main.py\", line 341, in init\n raise validation_error\npydantic.error_wrappers.ValidationError: 2 validation errors for ConfiguredAirbyteCatalog\nstreams -> 0 -> sync_mode\n value is not a valid enumeration member; permitted: 'full_refresh', 'incremental' (type=type_error.enum; enum_values=[<SyncMode.full_refresh: 'full_refresh'>, <SyncMode.incremental: 'incremental'>])\nstreams -> 0 -> destination_sync_mode\n value is not a valid enumeration member; permitted: 'append', 'overwrite', 'append_dedup' (type=type_error.enum; enum_values=[<DestinationSyncMode.append: 'append'>, <DestinationSyncMode.overwrite: 'overwrite'>, <DestinationSyncMode.append_dedup: 'append_dedup'>])\n", "failure_type": "system_error"}}}\n"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestBasicRead.test_airbyte_trace_message_on_failure[inputs0] ✓ 97% █████████▊{"type": "LOG", "log": {"level": "INFO", "message": "Using /Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt/secrets/config.json as configuration. It is the most recent version."}}
{"type": "LOG", "log": {"level": "INFO", "message": "The configured catalog is built from a custom configured catalog."}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output /usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n, error: 1 validation error for AirbyteMessage\n__root\n Expecting value: line 1 column 1 (char 0) (type=value_error.jsondecode; msg=Expecting value; doc=/usr/local/lib/python3.9/site-packages/trio/core/multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.\n; pos=0; lineno=1; colno=1)"}}
{"type": "LOG", "log": {"level": "WARN", "message": "Unable to parse connector's output warnings.warn(\n, error: 1 validation error for AirbyteMessage\n__root
\n Expecting value: line 1 column 3 (char 2) (type=value_error.jsondecode; msg=Expecting value; doc= warnings.warn(\n; pos=2; lineno=1; colno=3)"}}

../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_full_refresh.py::TestFullRefresh.test_sequential_reads[inputs0] ✓ 100% ██████████
{"type": "LOG", "log": {"level": "INFO", "message": "/Users/petrotiurin/Development/airbyte_bool/airbyte-integrations/connectors/source-firebolt - SAT run - 9245131 - FAILED"}}

===================================================================================== warnings summary =====================================================================================
../../../../../miniconda3/envs/airbyte_connector/lib/python3.9/site-packages/pytest_asyncio/plugin.py:191
/Users/petrotiurin/miniconda3/envs/airbyte_connector/lib/python3.9/site-packages/pytest_asyncio/plugin.py:191: DeprecationWarning: The 'asyncio_mode' default value will change to 'strict' in future, please explicitly use 'asyncio_mode=strict' or 'asyncio_mode=auto' in pytest configuration file.
config.issue_config_time_warning(LEGACY_MODE, stacklevel=2)

../../../../../miniconda3/envs/airbyte_connector/lib/python3.9/site-packages/trio/_core/_multierror.py:511
/Users/petrotiurin/miniconda3/envs/airbyte_connector/lib/python3.9/site-packages/trio/_core/_multierror.py:511: RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks.
warnings.warn(

../../../../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/config.py:258: 28 warnings
airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py: 1 warning
/Users/petrotiurin/Development/airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/config.py:258: DeprecationWarning: The 'warn' function is deprecated, use 'warning' instead
logging.warn("The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format.")

airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py: 1 warning
test_core.py: 25 warnings
test_full_refresh.py: 1 warning
/Users/petrotiurin/miniconda3/envs/airbyte_connector/lib/python3.9/site-packages/docker/utils/utils.py:52: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
s1 = StrictVersion(v1)

airbyte-integrations/connectors/source-firebolt/integration_tests/integration_test.py: 1 warning
test_core.py: 25 warnings
test_full_refresh.py: 1 warning
/Users/petrotiurin/miniconda3/envs/airbyte_connector/lib/python3.9/site-packages/docker/utils/utils.py:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
s2 = StrictVersion(v2)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================================================================= short test summary info ==================================================================================
SKIPPED [1] ../../../../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/plugin.py:63: Skipping TestIncremental.test_two_sequential_reads: not found in the config.
SKIPPED [1] ../../../../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:94: The previous and actual specifications are identical.
FAILED ../../../test_core.py::TestDiscovery::test_backward_compatibility[inputs0] - source_acceptance_test.utils.backward_compatibility.NonBackwardCompatibleError: BackwardIncompatibili...

Results (55.10s):
31 passed
1 failed
- ../airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:461 TestDiscovery.test_backward_compatibility[inputs0]
1 skipped

@ptiurin
Copy link
Contributor Author

ptiurin commented Jan 25, 2023

Backwards compatibility acceptance test is failing since this change correctly specifies boolean columns as {"type": "boolean"}. Should I bump the major version here for this change?

@sh4sh
Copy link
Contributor

sh4sh commented Apr 18, 2023

/test connector=connectors/source-firebolt

🕑 connectors/source-firebolt https://github.com/airbytehq/airbyte/actions/runs/4735503672
❌ connectors/source-firebolt https://github.com/airbytehq/airbyte/actions/runs/4735503672
🐛 https://gradle.com/s/zxogsx2trj2xs

Build Failed

Test summary info:

	 =========================== short test summary info ============================
	 ERROR integration_tests/integration_test.py::test_discover - firebolt.utils.e...
	 ERROR integration_tests/integration_test.py::test_read - firebolt.utils.excep...
	 ERROR integration_tests/integration_test.py::test_view_read - firebolt.utils....
	 FAILED integration_tests/integration_test.py::test_check_succeeds - Assertion...
	 �[31m=============== �[31m�[1m1 failed�[0m, �[32m1 passed�[0m, �[33m1 warning�[0m, �[31m�[1m3 errors�[0m�[31m in 1.99s�[0m�[31m ===============�[0m

Copy link
Contributor

@sajarin sajarin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes, can you also bump the metadata.yaml file and add a line to the changelog?

@ptiurin
Copy link
Contributor Author

ptiurin commented Jul 17, 2023

Thanks for the changes, can you also bump the metadata.yaml file and add a line to the changelog?

Done. Added a changelog as well.

@sh4sh
Copy link
Contributor

sh4sh commented Jul 18, 2023

Backwards compatibility acceptance test is failing since this change correctly specifies boolean columns as {"type": "boolean"}. Should I bump the major version here for this change?

Sorry for missing this comment @ptiurin - yes, I think you're correct it would be a Major version change. You can go ahead and bump to 1.0.0 in Dockerfile and metadata.yaml

ptiurin and others added 3 commits July 20, 2023 09:13
Co-authored-by: sh4sh <6833405+sh4sh@users.noreply.github.com>
Co-authored-by: sh4sh <6833405+sh4sh@users.noreply.github.com>
@octavia-squidington-iii octavia-squidington-iii added the area/documentation Improvements or additions to documentation label Jul 20, 2023
@sh4sh sh4sh mentioned this pull request Aug 2, 2023
@marcosmarxm
Copy link
Member

Merged at #29771

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/connectors Connector related issues area/documentation Improvements or additions to documentation community connectors/source/firebolt team/tse Technical Support Engineers
Projects
Development

Successfully merging this pull request may close these issues.

None yet

7 participants