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

Full Exports: improve error handling during Bigquery load phase #6

Open
heldchen opened this issue Jan 10, 2022 · 3 comments
Open

Full Exports: improve error handling during Bigquery load phase #6

heldchen opened this issue Jan 10, 2022 · 3 comments

Comments

@heldchen
Copy link

during the bigquery data load the full export returns a meaningless error when the data could not be loaded:

Start of Boxalino Data Integration (DI) ...

Fatal error: Uncaught Boxalino\DataIntegrationDoc\Service\ErrorHandler\FailDocLoadException: Doc Load failed. Exception: Client error: `POST https://boxalino-di-full-xxx-ew.a.run.app/load/bq` resulted in a `400 Bad Request` response:
"Fail to load gs:\/\/prod_rtux-data-integration_xxx\/doc_order_F_20220109192640.json to BQ with exception: (truncated...)
 in /var/www/xxx/src/www/vendor/boxalino/data-integration-doc-php/src/Service/Flow/LoadBqTrait.php:40
Stack trace:
#0 /var/www/xxx/src/www/vendor/boxalino/data-integration-magento2/Service/Document/DiIntegrateTrait.php(62): Boxalino\DataIntegrationDoc\Service\Integration\Doc\DocOrder->loadBq()
#1 /var/www/xxx/src/www/vendor/boxalino/data-integration-magento2/Service/Document/DiIntegrateTrait.php(97): Boxalino\DataIntegration\Service\Document\Order\DocHandler->integrate()
#2 /var/www/xxx/src/www/vendor/boxalino/data-integration-magento2/Service/Document/DiIntegrateTrait.php(52): Boxalino\DataIntegration\Service\Document\O in /var/www/xxx/src/www/vendor/boxalino/data-integration-doc-php/src/Service/Flow/LoadBqTrait.php on line 40
  • please expose the underlying data error/exception
  • please add an (optional, opt-in) mode that ignores bad records (this is already possible using manual data loads in the bq gui)
@dannegwork
Copy link
Collaborator

please add an (optional, opt-in) mode that ignores bad records (this is already possible using manual data loads in the bq gui)

This is something to be reviewed at a later stage.
We recognize the value for "test" loads, howether there are more valuable integration options which are not allowed to fail. Most integrators never review the status of their data export (be it done via plugins or self-developed), allowing bad records to be skipped would wrongly lead to the idea that everything is fine in their integration.

@heldchen
Copy link
Author

heldchen commented Jan 18, 2022

sure. but as discussed with sylvain we won't implement a data filter on our side, and adding it to the exporter itself might slow things down. so exposing the ignore-errornous-rows BQ load option as an opt-in export mode would solve this for now. and this is not in regards of test-loads, but the production exports.

@dannegwork
Copy link
Collaborator

we won't implement a data filter on our side
This is not needed :) There will be a data format sanitization (it was a WIP update in the plugin as is)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants