diff --git a/amoro-ams/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java b/amoro-ams/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java index 1bacd81a13..6d499259a6 100644 --- a/amoro-ams/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java +++ b/amoro-ams/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java @@ -717,10 +717,13 @@ private ServerTableMeta getServerTableMeta(MixedTable table) { .map(item -> buildColumnInfoFromPartitionSpec(table.spec().schema(), item)) .collect(Collectors.toList())); } + } else { + serverTableMeta.setPkList( + serverTableMeta.getSchema().stream() + .filter(s -> table.schema().identifierFieldNames().contains(s.getField())) + .collect(Collectors.toList())); } - if (serverTableMeta.getPkList() == null) { - serverTableMeta.setPkList(new ArrayList<>()); - } + return serverTableMeta; }