Skip to content

Source Salesforce: add more unsupported bulk entities, fix fallback to rest - #19286

Merged
Denys Davydov (davydov-d) merged 8 commits into
masterfrom
ddavydov/#985-salesforce-fallback-to-rest-api-fix
Nov 15, 2022
Merged

Denys Davydov (davydov-d) merged 8 commits into
masterfrom
ddavydov/#985-salesforce-fallback-to-rest-api-fix

Conversation

@davydov-d

Copy link
Copy Markdown
Contributor

What

https://github.com/airbytehq/oncall/issues/985

How

  • Extend list of unsupported entities by BULK API
  • Bugfix: fallback to REST API if BULK is not supported

@github-actions github-actions Bot added area/connectors Connector related issues area/documentation Improvements or additions to documentation labels Nov 10, 2022
@davydov-d

Denys Davydov (davydov-d) commented Nov 10, 2022 •

Copy link
Copy Markdown
Contributor Author

/test connector=connectors/source-salesforce

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

Name                                 Stmts   Miss  Cover
--------------------------------------------------------
source_salesforce/__init__.py            2      0   100%
source_salesforce/exceptions.py          8      1    88%
source_salesforce/api.py               151     19    87%
source_salesforce/streams.py           311     75    76%
source_salesforce/rate_limiting.py      22      6    73%
source_salesforce/source.py             94     31    67%
source_salesforce/utils.py               8      7    12%
--------------------------------------------------------
TOTAL                                  596    139    77%
Name                                 Stmts   Miss  Cover
--------------------------------------------------------
source_salesforce/utils.py               8      0   100%
source_salesforce/__init__.py            2      0   100%
source_salesforce/source.py             94      4    96%
source_salesforce/api.py               151     14    91%
source_salesforce/streams.py           311     38    88%
source_salesforce/exceptions.py          8      1    88%
source_salesforce/rate_limiting.py      22      3    86%
--------------------------------------------------------
TOTAL                                  596     60    90%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          12      4    67%   16-19
	 source_acceptance_test/config.py                       139      5    96%   87, 93, 235, 239-240
	 source_acceptance_test/conftest.py                     196     92    53%   35, 41-43, 48, 54, 60, 66, 72-74, 93, 98-100, 106-108, 114-115, 120-121, 126, 132, 141-150, 156-161, 176, 200, 231, 237, 243-248, 256-261, 269-282, 287-293, 300-311, 318-334
	 source_acceptance_test/plugin.py                        69     25    64%   22-23, 31, 36, 120-140, 144-148
	 source_acceptance_test/tests/test_core.py              353    110    69%   53, 64-72, 77-84, 88-89, 93-94, 192, 230-247, 256-264, 268-273, 279, 312-317, 355-362, 405-407, 410, 475-483, 495-498, 503, 559-560, 566, 569, 605-615, 628-653
	 source_acceptance_test/tests/test_incremental.py       158     14    91%   52-59, 64-77, 240
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 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       112     50    55%   23-26, 32, 36, 39-68, 71-73, 76-78, 81-83, 86-88, 91-93, 96-114, 148-150
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1516    348    77%

Build Passed

Test summary info:

All Passed

@alafanechere Augustin (alafanechere) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you for the addition list.
For the rest fallback fix I think I'd need a bit more context to understand how it works and got fixed.

@davydov-d

Denys Davydov (davydov-d) commented Nov 15, 2022 •

Copy link
Copy Markdown
Contributor Author

/test connector=connectors/source-salesforce

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

Name                                 Stmts   Miss  Cover
--------------------------------------------------------
source_salesforce/__init__.py            2      0   100%
source_salesforce/exceptions.py          8      1    88%
source_salesforce/api.py               151     19    87%
source_salesforce/streams.py           311     69    78%
source_salesforce/rate_limiting.py      22      6    73%
source_salesforce/source.py             94     31    67%
source_salesforce/utils.py               8      7    12%
--------------------------------------------------------
TOTAL                                  596    133    78%
Name                                 Stmts   Miss  Cover
--------------------------------------------------------
source_salesforce/utils.py               8      0   100%
source_salesforce/__init__.py            2      0   100%
source_salesforce/source.py             94      4    96%
source_salesforce/api.py               151     14    91%
source_salesforce/streams.py           311     38    88%
source_salesforce/exceptions.py          8      1    88%
source_salesforce/rate_limiting.py      22      3    86%
--------------------------------------------------------
TOTAL                                  596     60    90%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          12      4    67%   16-19
	 source_acceptance_test/config.py                       139      5    96%   87, 93, 235, 239-240
	 source_acceptance_test/conftest.py                     196     92    53%   35, 41-43, 48, 54, 60, 66, 72-74, 93, 98-100, 106-108, 114-115, 120-121, 126, 132, 141-150, 156-161, 176, 200, 231, 237, 243-248, 256-261, 269-282, 287-293, 300-311, 318-334
	 source_acceptance_test/plugin.py                        69     25    64%   22-23, 31, 36, 120-140, 144-148
	 source_acceptance_test/tests/test_core.py              394    111    72%   53, 58, 87-95, 100-107, 111-112, 116-117, 293, 331-348, 357-365, 369-374, 380, 413-418, 456-463, 506-508, 511, 576-584, 596-599, 604, 660-661, 667, 670, 706-716, 729-754
	 source_acceptance_test/tests/test_incremental.py       158     14    91%   52-59, 64-77, 240
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 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       112     50    55%   23-26, 32, 36, 39-68, 71-73, 76-78, 81-83, 86-88, 91-93, 96-114, 148-150
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1557    349    78%

Build Passed

Test summary info:

All Passed

@davydov-d

Denys Davydov (davydov-d) commented Nov 15, 2022 •

Copy link
Copy Markdown
Contributor Author

/test connector=connectors/source-salesforce

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

Name                                 Stmts   Miss  Cover
--------------------------------------------------------
source_salesforce/__init__.py            2      0   100%
source_salesforce/exceptions.py          8      1    88%
source_salesforce/api.py               151     19    87%
source_salesforce/streams.py           311     69    78%
source_salesforce/rate_limiting.py      22      6    73%
source_salesforce/source.py             94     31    67%
source_salesforce/utils.py               8      7    12%
--------------------------------------------------------
TOTAL                                  596    133    78%
Name                                 Stmts   Miss  Cover
--------------------------------------------------------
source_salesforce/utils.py               8      0   100%
source_salesforce/__init__.py            2      0   100%
source_salesforce/source.py             94      4    96%
source_salesforce/api.py               151     14    91%
source_salesforce/streams.py           311     38    88%
source_salesforce/exceptions.py          8      1    88%
source_salesforce/rate_limiting.py      22      3    86%
--------------------------------------------------------
TOTAL                                  596     60    90%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          12      4    67%   16-19
	 source_acceptance_test/config.py                       139      5    96%   87, 93, 235, 239-240
	 source_acceptance_test/conftest.py                     196     92    53%   35, 41-43, 48, 54, 60, 66, 72-74, 93, 98-100, 106-108, 114-115, 120-121, 126, 132, 141-150, 156-161, 176, 200, 231, 237, 243-248, 256-261, 269-282, 287-293, 300-311, 318-334
	 source_acceptance_test/plugin.py                        69     25    64%   22-23, 31, 36, 120-140, 144-148
	 source_acceptance_test/tests/test_core.py              394    111    72%   53, 58, 87-95, 100-107, 111-112, 116-117, 293, 331-348, 357-365, 369-374, 380, 413-418, 456-463, 506-508, 511, 576-584, 596-599, 604, 660-661, 667, 670, 706-716, 729-754
	 source_acceptance_test/tests/test_incremental.py       158     14    91%   52-59, 64-77, 240
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 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       112     50    55%   23-26, 32, 36, 39-68, 71-73, 76-78, 81-83, 86-88, 91-93, 96-114, 148-150
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1557    349    78%

Build Passed

Test summary info:

All Passed

@davydov-d

Denys Davydov (davydov-d) commented Nov 15, 2022 •

Copy link
Copy Markdown
Contributor Author

/publish connector=connectors/source-salesforce

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


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

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

"CaseTeamMember",
"AttachedContentDocument",
"AggregateResult",
"AccountHistory",

@PierreKerschgens Pierre Kerschgens (PierreKerschgens) Nov 23, 2022 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hi!
Since this connector version I'm having trouble getting data from AccountHistory table. The table has been added to 'UNSUPPORTED_BULK_API_SALESFORCE_OBJECTS' list.

Airbyte doesn't fail the sync job even though I'm not receiving data. I only found this in all of my logs:

2022-11-15 17:45:06 �[44msource�[0m > Syncing stream: AccountHistory 
2022-11-15 17:47:07 �[44msource�[0m > [{"message":"Your query request was running for too long.","errorCode":"QUERY_TIMEOUT"}]
2022-11-15 17:47:07 �[44msource�[0m > Cannot receive data for stream 'AccountHistory', error message: 'Your query request was running for too long.'
2022-11-15 17:47:07 �[44msource�[0m > Read 0 records from AccountHistory stream
2022-11-15 17:47:07 �[44msource�[0m > Finished syncing AccountHistory

After downgrading the Salesforce connector from 1.0.26 to the prior version 1.0.25 I'm able to get data from AccountHistory again.

Some context to that error: #17503

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

hi Pierre Kerschgens (@PierreKerschgens) thanks for the feedback! I prepared a PR to fix this: #19869

Akash Kulkarni (akashkulk) pushed a commit that referenced this pull request Dec 2, 2022
…o rest (#19286)

* #985 source salesforce: add more unsupported bulk entities, fix fallback to rest

* #985 source salesforce: upd changelog

* #985 source salesforce - add docstring for a test

* #985 source Salesforce: bump version

* #985 source salesforce: move SATs to high level strictness

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>

This branch was previously deployed

1 inactive deployment
more-secrets — 197a5212 Deployed Nov 15, 2022 by octavia-squidington-iii
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 connectors/source/salesforce

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants