1
0
mirror of synced 2025-12-21 02:51:29 -05:00
Commit Graph

8 Commits

Author SHA1 Message Date
devin-ai-integration[bot]
9fa1f55620 feat(source-google-sheets): Add optional flag to read columns with empty headers (#69848)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Alfredo Garcia <freddy.garcia7.fg@gmail.com>
Co-authored-by: Alfredo Garcia <alfredo.garcia@hallmark.edu>
2025-12-03 10:21:33 -06:00
Alfredo Garcia
08c42ced3d Fix(Source Google Sheets): Add error handling for unexpected data in sheets causing 500 responses (#67531)
## What
<!--
* Describe what the change is solving. Link all GitHub issues related to
this change.
-->
OC Issue: https://github.com/airbytehq/oncall/issues/9057

The Google Sheets API is returning a 500 response when requesting the
GridData for certain sheets. This is causing us to fail CHECK for some
connectors. We confirmed with the user that in these situations, the
data in those sheets is unstructured, and they likely don't want to sync
it, but still want to sync other sheets in the spreadsheet.

Due to this, we should be okay with skipping these sheets altogether. 

To detect if it is a real 500 error or bad grid data, we can keep the
existing backoff for 500's. On the last attempt, we will retry with
`"includeGridData=false"` in the parameter. If we get a 200 response,
the sheet is highly likely to have bad/corrupted data. If we still get a
500, then there likely are genuine server errors going on with the API,
and in that case, we will default to the 500 server error being raised.

## How
<!--
* Describe how code changes achieve the solution.
-->
In the manifest.yaml we need to add a custom error handler that can do
this in the `components_resolver_retriever`. The existing error handler
is a DefaultErrorHandler, with multiple response_filters:

[single_sheet_response_error_filters](663615eee6/airbyte-integrations/connectors/source-google-sheets/manifest.yaml (L328-L331));
which use `ExponentialBackoffStrategy`

We cannot refactor this into a CompositeErrorHandler to keep the
existing response_filters, and add on the CustomErrrorHandler due to
lack of support in the CDK
[here](7ab013d412/airbyte_cdk/sources/declarative/declarative_component_schema.yaml (L391-L393)).

Due to this, the existing
[DefaultErrorHandler](663615eee6/airbyte-integrations/connectors/source-google-sheets/manifest.yaml (L234-L239)),
should be refactored into the new custom error handler.

This is done in `GridDataErrorHandler`, existing tests are left
unchanged, indicating the refactoring was done correctly.

We also added some new tests for the 500 error handling.

## Review guide
<!--
1. `x.py`
2. `y.py`
-->

## User Impact
<!--
* What is the end result perceived by the user?
* If there are negative side effects, please list them. 
-->

## Can this PR be safely reverted and rolled back?
<!--
* If unsure, leave it blank.
-->
- [X ] YES 💚
- [ ] NO 

---------

Co-authored-by: maxime.c <maxime@airbyte.io>
2025-10-16 12:27:37 -05:00
Alfredo Garcia
663615eee6 Feat(Source-Google-Sheets): Deduplicate Headers (#63334)
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2025-07-22 11:49:13 -05:00
Christo Grabowski
4beeba5d86 feat(source-google-sheets): migrate connector to manifest-only (#62456)
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2025-07-07 12:15:11 -04:00
Alfredo Garcia
bcd60d3d87 Feat:(Source-Google-Sheets) - Add Stream Name Override Options (#61489) 2025-06-11 12:16:14 -05:00
Aldo Gonzalez
a4f6530386 feat(source-google-sheets): migrate low code (#50843)
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: Serhii Lazebnyi <53845333+lazebnyi@users.noreply.github.com>
Co-authored-by: Serhii Lazebnyi <serhii.lazebnyi@globallogic.com>
2025-01-30 21:10:06 +01:00
Aaron ("AJ") Steers
83ecbe0fc3 CI: apply pre-commit format fix from #49806 (#49852) 2024-12-18 14:05:43 -08:00
Aldo Gonzalez
c9ac3527ee feat(source-google-sheets): add integration tests (#48835)
Co-authored-by: maxi297 <maxime@airbyte.io>
2024-12-11 06:44:57 -06:00