apache / amoro

Apache Amoro (incubating) is a Lakehouse management system built on open data lake formats.
https://amoro.apache.org/
Apache License 2.0
874 stars 290 forks source link

[Hotfix] Use `propertyAsLong` instead of `propertyAsInt` for `total-records` #3284

Closed zhongqishang closed 1 month ago

zhongqishang commented 1 month ago

Why are the changes needed?

2024-10-21 14:35:12,212 ERROR [async-table-runtime-refresh-executor-0] [org.apache.amoro.server.table.executor.TableRuntimeRefreshExecutor] [] - Refreshing table iceberg.xxx.xxx(tableId=198) failed.
java.lang.NumberFormatException: For input string: "2498622972"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:1.8.0_392]
        at java.lang.Integer.parseInt(Integer.java:583) ~[?:1.8.0_392]
        at java.lang.Integer.parseInt(Integer.java:615) ~[?:1.8.0_392]
        at org.apache.iceberg.util.PropertyUtil.propertyAsInt(PropertyUtil.java:64) ~[iceberg-core-1.4.3.jar:?]
        at org.apache.amoro.server.optimizing.plan.OptimizingEvaluator$PendingInput.<init>(OptimizingEvaluator.java:239) ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at org.apache.amoro.server.optimizing.plan.OptimizingEvaluator.getPendingInput(OptimizingEvaluator.java:191) ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at org.apache.amoro.server.table.executor.TableRuntimeRefreshExecutor.tryEvaluatingPendingInput(TableRuntimeRefreshExecutor.java:66) ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at org.apache.amoro.server.table.executor.TableRuntimeRefreshExecutor.execute(TableRuntimeRefreshExecutor.java:96) ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at org.apache.amoro.server.table.executor.BaseTableExecutor.executeTask(BaseTableExecutor.java:82) ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at org.apache.amoro.server.table.executor.BaseTableExecutor.lambda$scheduleIfNecessary$2(BaseTableExecutor.java:93) ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_392]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_392]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_392]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_392]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_392]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_392]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_392]

Brief change log

How was this patch tested?

Documentation