apache / apache/paimon

[Bug] use starrocks[Paimon Catalog] query Paimon[FilesystemCatalog-S3] failed

Open
#4,688 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
3.4k
Forks
1.4k
Avg merge
1d 11h
Merged PRs (30d)
396

Description

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar.

### Paimon version

paimon 0.9.0

### Compute Engine

starrocks 3.2.12/3.3.7

### Minimal reproduce step

1. Building Paimon Table Based on AWS S3 Compatibility Object Storage, Paimon Catalog DDL is as follows:
![image](https://github.com/user-attachments/assets/432859ec-0056-4f22-a9ae-cb63daf324db)
2. Create Paimon Catalog in Starrocks:
![image](https://github.com/user-attachments/assets/57821020-9bf8-45b9-9739-39451b83d112)
3. Querying Paimon Catalog Data Table in Starrocks
![image](https://github.com/user-attachments/assets/a9033947-f648-41f7-ac0f-9293e49afc00)
4. Query failed with the following error message
![image](https://github.com/user-attachments/assets/258be259-0b48-4be7-805e-1e498f05854f)

### What doesn't meet your expectations?

fragment_executor.cpp:183] Prepare(): query_id=cd5b43d6-b7c7-11ef-910f-564ab30c5f0c fragment_instance_id=cd5b43d6-b7c7-11ef-910f-564ab30c5f0e is_stream_pipeline=0 backend_num=1
E1211 21:57:10.449843 441 scan_operator.cpp:434] scan fragment cd5b43d6-b7c7-11ef-910f-564ab30c5f0e driver 0 Scan tasks error: IO error: BE access S3 file failed, SdkResponseCode=403, SdkErrorType=22, SdkErrorMessage=The request signature we calculated does not match the signature you provided. Check your key and signing method.: file = s3://paimons3/datalake/ods.db/table/dt=20240927/hh=18/bucket-0/data-3af7b53b-99c5-4c4a-b259-fceba56caee0-1.parquet
be/src/connector/hive_connector.cpp:129 _init_scanner(state)
be/src/exec/pipeline/scan/connector_scan_operator.cpp:758 _data_source->open(state)
be/src/exec/pipeline/scan/connector_scan_operator.cpp:785 _open_data_source(state, &mem_alloc_failed)
E1211 21:57:10.450788 449 scan_operator.cpp:434] scan fragment cd5b43d6-b7c7-11ef-910f-564ab30c5f0e driver 1 Scan tasks error: IO error: BE access S3 file failed, SdkResponseCode=403, SdkErrorType=22, SdkErrorMessage=The request signature we calculated does not match the signature you provided. Check your key and signing method.: file = s3://paimons3/datalake/ods.db/table/dt=20240927/hh=18/bucket-0/data-3af7b53b-99c5-4c4a-b259-fceba56caee0-0.parquet
be/src/connector/hive_connector.cpp:129 _init_scanner(state)

### Anything else?

1. Paimon table storage uses AWS S3 compatible object storage,and it has been confirmed that AK/SK is correct
2. According to current testing, starrocks 3.1.15 + Paimon 0.9.0 does not have this issue
3. Using the same set of AWS S3 compatible object storage, Starrocks can query its own internal table (using this object storage) normally, but when Starrocks queries the Paimon table (also stored using this object storage) through the Paimon catalog, it will fail

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the S3 access failure in be/src/connector/hive_connector.cpp:129 and the scan paths named in be/src/exec/pipeline/scan/connector_scan_operator.cpp and fragment_executor.cpp. Compare Paimon catalog reads in StarRocks 3.1.15 with 3.2.12/3.3.7, focusing on the signature mismatch for S3-compatible storage. Done means querying the Paimon table succeeds with the same storage and credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.