This is an automated email from the ASF dual-hosted git repository.
jinsongzhou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/amoro.git
The following commit(s) were added to refs/heads/master by this push:
new 9b3318d3e [AMORO-3029] Fix table record calculating with empty table
(#3030)
9b3318d3e is described below
commit 9b3318d3e88582169c561f62c14e3cea11a08bd7
Author: ZhouJinsong <[email protected]>
AuthorDate: Fri Jul 12 15:17:58 2024 +0800
[AMORO-3029] Fix table record calculating with empty table (#3030)
Fix table record calculating with empty table
---
.../amoro/server/dashboard/DashboardServer.java | 1 +
.../dashboard/MixedAndIcebergTableDescriptor.java | 28 +++++++++++++---------
2 files changed, 18 insertions(+), 11 deletions(-)
diff --git
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/DashboardServer.java
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/DashboardServer.java
index c3b848c79..6d8c98407 100644
---
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/DashboardServer.java
+++
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/DashboardServer.java
@@ -368,6 +368,7 @@ public class DashboardServer {
"/ams/v1/versionInfo",
"/ams/v1/login",
"/ams/v1/health/status",
+ "/ams/v1/login/current",
"/",
"/overview",
"/introduce",
diff --git
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java
index bc456a0d6..4434304f0 100644
---
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java
+++
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java
@@ -176,23 +176,29 @@ public class MixedAndIcebergTableDescriptor extends
PersistentBase
}
private long getRecordsOfTable(MixedTable mixedTable) {
- long totalRecords;
+ long totalRecords = 0L;
if (mixedTable.isKeyedTable()) {
Snapshot changeSnapshot =
SnapshotUtil.latestSnapshot(mixedTable.asKeyedTable().changeTable(),
null);
Snapshot baseSnapshot =
SnapshotUtil.latestSnapshot(mixedTable.asKeyedTable().baseTable(),
null);
- totalRecords =
- PropertyUtil.propertyAsLong(
- changeSnapshot.summary(),
SnapshotSummary.TOTAL_RECORDS_PROP, 0L)
- + PropertyUtil.propertyAsLong(
- baseSnapshot.summary(), SnapshotSummary.TOTAL_RECORDS_PROP,
0L);
+ if (changeSnapshot != null) {
+ totalRecords +=
+ PropertyUtil.propertyAsLong(
+ changeSnapshot.summary(), SnapshotSummary.TOTAL_RECORDS_PROP,
0L);
+ }
+ if (baseSnapshot != null) {
+ totalRecords +=
+ PropertyUtil.propertyAsLong(
+ baseSnapshot.summary(), SnapshotSummary.TOTAL_RECORDS_PROP,
0L);
+ }
} else {
- totalRecords =
- PropertyUtil.propertyAsLong(
- SnapshotUtil.latestSnapshot(mixedTable.asUnkeyedTable(),
null).summary(),
- SnapshotSummary.TOTAL_RECORDS_PROP,
- 0L);
+ Snapshot latestSnapshot =
SnapshotUtil.latestSnapshot(mixedTable.asUnkeyedTable(), null);
+ if (latestSnapshot != null) {
+ totalRecords =
+ PropertyUtil.propertyAsLong(
+ latestSnapshot.summary(), SnapshotSummary.TOTAL_RECORDS_PROP,
0L);
+ }
}
return totalRecords;
}