-
Notifications
You must be signed in to change notification settings - Fork 289
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
[AMORO-3301] Support OSS for iceberg in InternalCatalog #3306
base: master
Are you sure you want to change the base?
Conversation
Thank you for your contribution. As far as I know, the current S3 protocol can also use Ali Cloud OSS object storage. Is iceberg storage support added here? By the way, we should make OSS optional at compile time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is best to have screenshots or unit tests to verify that the functionality is correct ~
I don't understand how to use Ali Cloud OSS object storage with the S3 protocol? |
cc @shouwangyw |
CI is Failing |
But this might not be intuitive |
I have fixed the ci |
Of course this is a compromise. I would like to ask if we can have a compilation switch to compile the OSS part when we needed? As object storage support increases, compiling all by default will increase Amoro's binary installation package |
yes, I can choose whether to package aliyun sdk by scope |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution, I left a few comments. and suggest include documentation about this feature
README.md
Outdated
@@ -117,6 +117,7 @@ Amoro is built using Maven with JDK 8 and JDK 17(only for `amoro-format-mixed/am | |||
* Build and skip tests: `mvn clean package -DskipTests` | |||
* Build and skip dashboard: `mvn clean package -Pskip-dashboard-build` | |||
* Build and disable disk storage, RocksDB will NOT be introduced to avoid memory overflow: `mvn clean package -DskipTests -Pno-extented-disk-storage` | |||
* Build and disable aliyun sdk: `mvn clean package -DskipTests -Pno-aliyun-sdk` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recommend not compiling Aliyun OSS by default, if the user wants to use it can use -Paliyun-oss-sdk
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3306 +/- ##
============================================
- Coverage 30.17% 22.54% -7.63%
+ Complexity 3840 2312 -1528
============================================
Files 580 397 -183
Lines 48020 38201 -9819
Branches 6207 5437 -770
============================================
- Hits 14488 8611 -5877
+ Misses 32542 28863 -3679
+ Partials 990 727 -263
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shouwangyw Thanks for the contribution!
The PR looks good to me in general, I left a question, PTAL when you are free.
# | ||
|
||
### get catalog config | ||
GET http://localhost:1630/api/iceberg/rest/v1/config?warehouse=iceberg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure what is the usage of this new file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is for easy testing of HTTP interfaces in a local environment, and the 'HTTP Client' plugin can be installed in IDEA.
Why are the changes needed?
Close #3301.
Brief change log
How was this patch tested?
Add some test cases that check the changes thoroughly including negative and positive cases if possible
Add screenshots for manual tests if appropriate
Run test locally before making a pull request
Documentation