Environment
- Deploy method: Kubernetes using latest Helm chart
- Olake version: 0.4.1-0.5.1
Description
If you add new table to the list of streams then Olake runs "Clear Destination" for destination folder to remove any files in folder that will be used to store Parquet files for this new table. Its correct and expected, however if this API call to destination fails - then job stuck in "InProgress" state forever.
Steps to reproduce
- Create destination with type Amazon S3 and point it to Google GCS bucket ( its compatible with S3 API)
- Create job that will use this destination
- Add any table to the list of streams
- Run sync, it should finish correctly
- Add new table to the list of streams
- You will see that "Clear Destination" job started. It generated error ( its expected) and it stuck forever ( not expected)
Here is error message generated by worker
failed to clear destination:
failed to drop the streams:
failed to clear S3 files:
failed to clear S3 prefix <source>/<table>:
batch delete failed for filt Path <source>/<table>:
BatchedDeleteIncomplete:
some objects have failed to be deleted. caused by:
failed to perform batch operation on "<source>/<table>/XYZ.parquet" to "tpt_olake": NotImplemented:
A header or query you provided requested a function that is not implemented. status code: 400, request id: ,
host id: failed to perform batch operation on "<source>/<table>/XYZ.parquet" to "tpt_olake": NotImplemented:
A header or query you provided requested a function that is not implemented. status code: 400, request id: , host id:
Expected behavior
Jobs fails, container/process is not running, job status updated to "Failed".
It also would be great to fallback to individual deletes when S3 backend returns NotImplemented for DeleteObjects.
Actual behavior
job stucks in "InProgress" state forever.
Environment
Description
If you add new table to the list of streams then Olake runs "Clear Destination" for destination folder to remove any files in folder that will be used to store Parquet files for this new table. Its correct and expected, however if this API call to destination fails - then job stuck in "InProgress" state forever.
Steps to reproduce
Here is error message generated by worker
Expected behavior
Jobs fails, container/process is not running, job status updated to "Failed".
It also would be great to fallback to individual deletes when S3 backend returns NotImplemented for DeleteObjects.
Actual behavior
job stucks in "InProgress" state forever.