feat: add Iceberg table tag management UI and API#4164
Open
fightBoxing wants to merge 51 commits intoapache:masterfrom
Open
feat: add Iceberg table tag management UI and API#4164fightBoxing wants to merge 51 commits intoapache:masterfrom
fightBoxing wants to merge 51 commits intoapache:masterfrom
Conversation
* [AMORO-2960] Support paimon s3 based catalog * trigger ci
* [AMORO-2941] Complete translations for amoro dashboard * [AMORO-2941] Format code * [AMORO-2941] Optimize translations
…pache#2975) Fix jar plugin configuration for apache release
…pache#2985) * Add NOTICE-binary & LICENSE-binary files * Remove useless plugin * Rollback dependency change * Fix rat plugin check rules
…ache#2976) * Add check rules for iceberg and paimon shade guava clesses * Remove duplicate checking rule
Fix amoro docker image build ci
(cherry picked from commit 94b2298) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
(cherry picked from commit f5d2e85) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
(cherry picked from commit a550103) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
* Tag dangling delete snapshot commits * make maintain commits public * Re-gen table metastore java code via thrift (cherry picked from commit 7066300) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…pache#3077) (cherry picked from commit 3659610) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
Load log4j2.xml under AMORO_CONF_DIR first (cherry picked from commit bc0034a) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…fore LeaderLatch closing (apache#3133) [AMORO-3132][Bug]:High available service should not curator client before LeaderLatch closing apache#3132 (cherry picked from commit 79f1bea) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…ingful (apache#3129) (cherry picked from commit 2bf68a1) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…tor` thread pool (apache#3142) (cherry picked from commit a8b2ff5) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
) [AMORO-3145] Filter out info log for CodecPool Currently there will be many logs for (de)compressor from CodecPool, and seems there is no other meaningful info log from this class, so we change the log level from CodecPool from info to warn to filter out these logs This only affect the local optimizer, and user need to change the configuration if they use flink/spark optimzier. (cherry picked from commit b52f64d) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
improvement: optimize log print Co-authored-by: 王涛 <wangtao@HIH-L-10114.local> (cherry picked from commit 7081bbc) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
* Avoid optimization state blocking in planning * modify the optimizing status in memory * fix conflict and rollback configuration (cherry picked from commit 292111f) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
* [AMORO-3110] Avoid optimization status blocking in running * format * Ignore the exception when it occurs and do not perform a rollback (cherry picked from commit 9877c20) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
extract error message in optimizers (cherry picked from commit 5adbfbf) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…er (apache#3223) Do not throw exception when retry task in optimizer keeper (cherry picked from commit a2bc71a) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
* Amoro-3196: Fix scheduling hungry issue * Apply spotless --------- Co-authored-by: majin.nathan <majin.nathan@bytedance.com> (cherry picked from commit 5027abe) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
Fix wrong javadoc for TableRuntimeRefreshExecutor (cherry picked from commit 1db63a6) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
fix typo in managing-optimizers.md (cherry picked from commit fafb3f4) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
Fix optimizer keeper unregister npe Co-authored-by: majin.nathan <majin.nathan@bytedance.com> (cherry picked from commit 3e17628) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
apache#3175) * rewrite multiple delete ids * update comments * replace shade guava with google * replace `computeIfAbsent` with `putIfAbsent` to void projecting schema every time (cherry picked from commit 6982a32) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…ss (apache#3229) Rewrite pos delete files not written by optimizing (cherry picked from commit a181281) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
(cherry picked from commit 1d9de04) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…ed size for 0.7 (apache#3304) * [AMORO-3303] Optimize the final tarball to keep it within the specified size for 0.7 * fixup! [AMORO-3303] Optimize the final tarball to keep it within the specified size for 0.7 * fixup! [AMORO-3303] Optimize the final tarball to keep it within the specified size for 0.7
…e#3088) * Fix amoro image tag error * Add latest tag configuration for docker image ci * Fix latest tag configuration for dcoker image * Fix latest tag configuration for dcoker image * Fix latest tag configuration for dcoker image * Fix latest tag configuration for dcoker image * Fix latest tag configuration for dcoker image * Fix latest tag configuration for dcoker image * Rollback changes for test (cherry picked from commit 0e8fa55) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
(cherry picked from commit 587270e) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
… in the filter (apache#3240) * [AMORO-3239] Fix stack overflow caused by reading too many partitions in the filter * [AMORO-3239] Add the "ignore-filter-partition-count" parameter * move parameter "optimizer.ignore-filter-partition-count" to "self-optimizing.skip-filter-partition-count" * move parameter "self-optimizing.skip-filter-partition-count" to "refresh-tables.max-pending-partition-count"
Exclude hadoop-client-api dependency (cherry picked from commit b6a3549) Signed-off-by: zhoujinsong <zhoujinsong0505@163.com>
…apache#3331) Co-authored-by: 张文领 <zhangwl9@chinatelecom.cn>
- Backend: Add createTag/deleteTag API endpoints in TableController - Backend: Add createTag/deleteTag interface in FormatTableDescriptor - Backend: Implement tag operations in MixedAndIcebergTableDescriptor using Iceberg TableOperations - Backend: Add unsupported exception for Paimon in PaimonTableDescriptor - Backend: Register /tags routes in DashboardServer and ServerTableDescriptor - Frontend: Add Create Tag dialog with tag name and snapshot ID inputs in Selector.vue - Frontend: Add Delete Tag confirmation dialog in Selector.vue - Frontend: Add createTag/deleteTag API calls in table.service.ts - Frontend: Add i18n translations for tag operations in en.ts and zh.ts - Fix: Use plain text input for snapshotId to avoid JS number precision loss for large IDs
- Replace Chinese Javadoc with English in FormatTableDescriptor and TableController - Replace Chinese comments with English in table.service.ts and Selector.vue - Replace Map<String, Object> unchecked cast with CreateTagRequest DTO in TableController - Simplify createTag builder logic to avoid duplicate SnapshotRef construction - Eliminate duplicate base.ref(tagName) call in deleteTag using local variable
Contributor
|
@fightBoxing Thank you for your contribution. You need to trigger CI after rebasing the branch to proceed to the review stage. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
createTaganddeleteTagAPI endpoints for Iceberg tables (POST/DELETE /ams/v1/tables/catalogs/{catalog}/dbs/{db}/tables/{table}/tags)MixedAndIcebergTableDescriptorusing IcebergTableMetadataAPICreateTagRequestDTO inTableControllerto replace unsafeMap<String, Object>deserializationcreateTag/deleteTagservice functions in frontendtable.service.tsSelector.vuewith snapshot ID and optional max-ref-age inputsFormatTableDescriptorinterface andServerTableDescriptorwith tag management methodsTest Plan