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

source-postgres:just throw a warning if a cursor column contains null value #20192

Merged
merged 9 commits into from
Dec 12, 2022

Conversation

subodh1810
Copy link
Contributor

@subodh1810 subodh1810 requested review from rodireich and edgao December 7, 2022 16:48
@subodh1810 subodh1810 self-assigned this Dec 7, 2022
@subodh1810
Copy link
Contributor Author

subodh1810 commented Dec 7, 2022

/test connector=connectors/source-postgres

🕑 connectors/source-postgres https://github.com/airbytehq/airbyte/actions/runs/3640985122
❌ connectors/source-postgres https://github.com/airbytehq/airbyte/actions/runs/3640985122
🐛 https://gradle.com/s/irabazze3d6we

Build Failed

Test summary info:

Could not find result summary

@github-actions
Copy link
Contributor

github-actions bot commented Dec 7, 2022

Affected Connector Report

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to do the following as needed:

  • Run integration tests
  • Bump connector or module version
  • Add changelog
  • Publish the new version

❌ Sources (25)

Connector Version Changelog Publish
source-alloydb 1.0.32
(changelog missing)
source-alloydb-strict-encrypt 1.0.32 🔵
(ignored)
🔵
(ignored)
source-bigquery 0.2.3
source-clickhouse 0.1.14
source-clickhouse-strict-encrypt 0.1.14 🔵
(ignored)
🔵
(ignored)
source-cockroachdb 0.1.18
source-cockroachdb-strict-encrypt 0.1.18 🔵
(ignored)
🔵
(ignored)
source-db2 0.1.16
source-db2-strict-encrypt 0.1.16 🔵
(ignored)
🔵
(ignored)
source-dynamodb 0.1.0
source-jdbc 0.3.5
(doc not found)

(not in seed)
source-mongodb-strict-encrypt 0.1.19 🔵
(ignored)
🔵
(ignored)
source-mongodb-v2 0.1.19
source-mssql 0.4.25
source-mssql-strict-encrypt 0.4.25 🔵
(ignored)
🔵
(ignored)
source-mysql 1.0.15
source-mysql-strict-encrypt 1.0.15 🔵
(ignored)
🔵
(ignored)
source-oracle 0.3.21
source-oracle-strict-encrypt 0.3.21 🔵
(ignored)
🔵
(ignored)
source-postgres 1.0.32
source-postgres-strict-encrypt 1.0.32 🔵
(ignored)
🔵
(ignored)
source-redshift 0.3.15
source-scaffold-java-jdbc 0.1.0
(doc not found)

(not in seed)
source-snowflake 0.1.26
source-tidb 0.2.1
  • See "Actionable Items" below for how to resolve warnings and errors.

✅ Destinations (0)

Connector Version Changelog Publish
  • See "Actionable Items" below for how to resolve warnings and errors.

✅ Other Modules (0)

Actionable Items

(click to expand)

Category Status Actionable Item
Version
mismatch
The version of the connector is different from its normal variant. Please bump the version of the connector.

doc not found
The connector does not seem to have a documentation file. This can be normal (e.g. basic connector like source-jdbc is not published or documented). Please double-check to make sure that it is not a bug.
Changelog
doc not found
The connector does not seem to have a documentation file. This can be normal (e.g. basic connector like source-jdbc is not published or documented). Please double-check to make sure that it is not a bug.

changelog missing
There is no chnagelog for the current version of the connector. If you are the author of the current version, please add a changelog.
Publish
not in seed
The connector is not in the seed file (e.g. source_definitions.yaml), so its publication status cannot be checked. This can be normal (e.g. some connectors are cloud-specific, and only listed in the cloud seed file). Please double-check to make sure that it is not a bug.

diff seed version
The connector exists in the seed file, but the latest version is not listed there. This usually means that the latest version is not published. Please use the /publish command to publish the latest version.

}
}

if (!tablesWithInvalidCursorToWarnAbout.isEmpty()) {
LOGGER.warn(InvalidCursorInfoUtil.getInvalidCursorConfigMessage(tablesWithInvalidCursor));
Copy link
Contributor

Choose a reason for hiding this comment

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

This is going to break tests

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ahan! once I will figure out which tests are breaking I will ignore them and add a todo. Does that work?

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure
It should be tableWithNullValueCursorShouldThrowException and createTableWithNullValueCursor in PostgresSourceTest

@rodireich rodireich self-requested a review December 7, 2022 16:51
@rodireich
Copy link
Contributor

How are we going to notice workspaces that have this issue?
The issue discussed on planning: for visibility, a warning won't be collected in sentry, right?

@bleonard bleonard added the team/db-dw-sources Backlog for Database and Data Warehouse Sources team label Dec 7, 2022
Copy link
Contributor

@edgao edgao left a comment

Choose a reason for hiding this comment

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

@rodireich cloud will throw the connector logs into gcp logs, so we can look for the warning message. e.g. https://airbytehq-team.slack.com/archives/C04DZ1KD6R4/p1670427949994619?thread_ts=1670427696.000979&cid=C04DZ1KD6R4

}
}

if (!tablesWithInvalidCursorToWarnAbout.isEmpty()) {
LOGGER.warn(InvalidCursorInfoUtil.getInvalidCursorConfigMessage(tablesWithInvalidCursor));
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe worth adding an easily-queryable message

Suggested change
LOGGER.warn(InvalidCursorInfoUtil.getInvalidCursorConfigMessage(tablesWithInvalidCursor));
LOGGER.warn("source-postgres detected null cursor value " + InvalidCursorInfoUtil.getInvalidCursorConfigMessage(tablesWithInvalidCursor));

@subodh1810 subodh1810 requested a review from a team as a code owner December 8, 2022 15:33
@subodh1810
Copy link
Contributor Author

subodh1810 commented Dec 8, 2022

/test connector=connectors/source-postgres

🕑 connectors/source-postgres https://github.com/airbytehq/airbyte/actions/runs/3649736216
❌ connectors/source-postgres https://github.com/airbytehq/airbyte/actions/runs/3649736216
🐛 https://gradle.com/s/3iajrob56hyrc

Build Failed

Test summary info:

Could not find result summary

@subodh1810 subodh1810 requested a review from edgao December 8, 2022 15:34
@subodh1810 subodh1810 temporarily deployed to more-secrets December 8, 2022 15:35 — with GitHub Actions Inactive
@subodh1810 subodh1810 temporarily deployed to more-secrets December 8, 2022 15:36 — with GitHub Actions Inactive
Copy link
Contributor

@edgao edgao left a comment

Choose a reason for hiding this comment

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

:shipit: pending test success

@edgao
Copy link
Contributor

edgao commented Dec 8, 2022

it looks like the tests are still failing even though they're @Ignore-ed? maybe easier to just comment them out :(

PostgresSourceTest > viewWithNullValueCursorShouldThrowException() FAILED
    java.lang.AssertionError: 
    Expecting actual not to be null
        at io.airbyte.integrations.source.***.PostgresSourceTest.viewWithNullValueCursorShouldThrowException(PostgresSourceTest.java:602)

PostgresSourceTest > tableWithNullValueCursorShouldThrowException() FAILED
    java.lang.AssertionError: 
    Expecting actual not to be null
        at io.airbyte.integrations.source.***.PostgresSourceTest.tableWithNullValueCursorShouldThrowException(PostgresSourceTest.java:560)

@subodh1810 subodh1810 temporarily deployed to more-secrets December 9, 2022 10:18 — with GitHub Actions Inactive
@subodh1810 subodh1810 temporarily deployed to more-secrets December 9, 2022 10:19 — with GitHub Actions Inactive
@subodh1810
Copy link
Contributor Author

subodh1810 commented Dec 9, 2022

/test connector=connectors/source-postgres

🕑 connectors/source-postgres https://github.com/airbytehq/airbyte/actions/runs/3656518534
✅ connectors/source-postgres https://github.com/airbytehq/airbyte/actions/runs/3656518534
Python tests coverage:

	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          12      4    67%   16-19
	 source_acceptance_test/config.py                       140      5    96%   87, 93, 238, 242-243
	 source_acceptance_test/conftest.py                     208     92    56%   36, 42-44, 49, 54, 77, 83, 89-91, 110, 115-117, 123-125, 131-132, 137-138, 143, 149, 158-167, 173-178, 193, 217, 248, 254, 262-267, 275-280, 288-301, 306-312, 319-330, 337-353
	 source_acceptance_test/plugin.py                        69     25    64%   22-23, 31, 36, 120-140, 144-148
	 source_acceptance_test/tests/test_core.py              398    111    72%   53, 58, 87-95, 100-107, 111-112, 116-117, 299, 337-354, 363-371, 375-380, 386, 419-424, 462-469, 512-514, 517, 582-590, 602-605, 610, 666-667, 673, 676, 712-722, 735-760
	 source_acceptance_test/tests/test_incremental.py       158     14    91%   52-59, 64-77, 240
	 source_acceptance_test/utils/asserts.py                 39      2    95%   62-63
	 source_acceptance_test/utils/common.py                  94     10    89%   16-17, 32-38, 72, 75
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       133     33    75%   24-27, 46-47, 50-54, 57-58, 73-75, 78-80, 83-85, 88-90, 93-95, 124-125, 159-161, 208
	 source_acceptance_test/utils/json_schema_helper.py     107     13    88%   30-31, 38, 41, 65-68, 96, 120, 192-194
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1599    332    79%

Build Passed

Test summary info:

=========================== short test summary info ============================
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:63: Skipping TestConnection.test_check: not found in the config.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:63: Skipping TestDiscovery.test_discover: not found in the config.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:63: Skipping TestBasicRead.test_read: not found in the config.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:63: Skipping TestFullRefresh.test_sequential_reads: not found in the config.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:63: Skipping TestIncremental.test_two_sequential_reads: not found in the config.
================= 14 passed, 5 skipped, 21 warnings in 33.26s ==================

@subodh1810
Copy link
Contributor Author

subodh1810 commented Dec 12, 2022

/publish connector=connectors/source-postgres-strict-encrypt

🕑 Publishing the following connectors:
connectors/source-postgres-strict-encrypt
https://github.com/airbytehq/airbyte/actions/runs/3674758085


Connector Did it publish? Were definitions generated?
connectors/source-postgres-strict-encrypt

if you have connectors that successfully published but failed definition generation, follow step 4 here ▶️

@subodh1810
Copy link
Contributor Author

subodh1810 commented Dec 12, 2022

/publish connector=connectors/source-postgres

🕑 Publishing the following connectors:
connectors/source-postgres
https://github.com/airbytehq/airbyte/actions/runs/3674759974


Connector Did it publish? Were definitions generated?
connectors/source-postgres

if you have connectors that successfully published but failed definition generation, follow step 4 here ▶️

@subodh1810
Copy link
Contributor Author

subodh1810 commented Dec 12, 2022

/publish connector=connectors/source-alloydb-strict-encrypt

🕑 Publishing the following connectors:
connectors/source-alloydb-strict-encrypt
https://github.com/airbytehq/airbyte/actions/runs/3674761633


Connector Did it publish? Were definitions generated?
connectors/source-alloydb-strict-encrypt

if you have connectors that successfully published but failed definition generation, follow step 4 here ▶️

@subodh1810
Copy link
Contributor Author

subodh1810 commented Dec 12, 2022

/publish connector=connectors/source-alloydb

🕑 Publishing the following connectors:
connectors/source-alloydb
https://github.com/airbytehq/airbyte/actions/runs/3674762992


Connector Did it publish? Were definitions generated?
connectors/source-alloydb

if you have connectors that successfully published but failed definition generation, follow step 4 here ▶️

@subodh1810 subodh1810 temporarily deployed to more-secrets December 12, 2022 10:15 — with GitHub Actions Inactive
@subodh1810 subodh1810 temporarily deployed to more-secrets December 12, 2022 10:15 — with GitHub Actions Inactive
@octavia-squidington-iii octavia-squidington-iii temporarily deployed to more-secrets December 12, 2022 10:26 — with GitHub Actions Inactive
@octavia-squidington-iii octavia-squidington-iii temporarily deployed to more-secrets December 12, 2022 10:27 — with GitHub Actions Inactive
@subodh1810 subodh1810 merged commit a3708eb into master Dec 12, 2022
@subodh1810 subodh1810 deleted the just_warn_postgres_null_value_cursor branch December 12, 2022 11:09
@subodh1810 subodh1810 temporarily deployed to more-secrets December 12, 2022 11:10 — with GitHub Actions Inactive
@subodh1810 subodh1810 temporarily deployed to more-secrets December 12, 2022 11:10 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants