Aireed opened a new issue, #3490:
URL: https://github.com/apache/amoro/issues/3490

   ### What happened?
   
   
   
   
   ```
   2025-03-28 15:21:39,774 ERROR [resource-group-watcher-0] 
[org.apache.amoro.server.DefaultOptimizingService] [] - Sync optimizer groups 
failed, will retry later.
   org.apache.amoro.exception.PersistenceException: 
java.lang.IllegalArgumentException: Metric is already been registered.
        at 
org.apache.amoro.exception.AmoroRuntimeException.wrap(AmoroRuntimeException.java:141)
 ~[amoro-common-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.persistence.PersistentBase.doAsTransaction(PersistentBase.java:95)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.DefaultOptimizingService.createResourceGroup(DefaultOptimizingService.java:330)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizingConfigWatcher.lambda$syncGroups$0(DefaultOptimizingService.java:568)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_152]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizingConfigWatcher.syncGroups(DefaultOptimizingService.java:559)
 [amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizingConfigWatcher.run(DefaultOptimizingService.java:549)
 [amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
[?:1.8.0_152]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
[?:1.8.0_152]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
 [?:1.8.0_152]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
 [?:1.8.0_152]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_152]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_152]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
   Caused by: java.lang.IllegalArgumentException: Metric is already been 
registered.
        at 
org.apache.amoro.shade.guava32.com.google.common.base.Preconditions.checkArgument(Preconditions.java:143)
 
~[amoro-shade-guava-32-32.1.1-jre-0.7.0-incubating.jar:32.1.1-jre-0.7.0-incubating]
        at 
org.apache.amoro.server.metrics.MetricRegistry.lambda$register$1(MetricRegistry.java:91)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
java.util.concurrent.ConcurrentHashMap.computeIfPresent(ConcurrentHashMap.java:1769)
 ~[?:1.8.0_152]
        at 
org.apache.amoro.server.metrics.MetricRegistry.register(MetricRegistry.java:82) 
~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.optimizing.OptimizerGroupMetrics.registerMetric(OptimizerGroupMetrics.java:121)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.optimizing.OptimizerGroupMetrics.register(OptimizerGroupMetrics.java:126)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.optimizing.OptimizingQueue.<init>(OptimizingQueue.java:112)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
org.apache.amoro.server.DefaultOptimizingService.lambda$createResourceGroup$16(DefaultOptimizingService.java:332)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        at 
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) 
~[?:1.8.0_152]
        at 
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) 
~[?:1.8.0_152]
        at 
org.apache.amoro.server.persistence.PersistentBase.doAsTransaction(PersistentBase.java:91)
 ~[amoro-ams-0.8-SNAPSHOT.jar:0.8-SNAPSHOT]
        ... 12 more
   ```
   
   ### Affects Versions
   
   master
   
   ### What table formats are you seeing the problem on?
   
   Iceberg
   
   ### What engines are you seeing the problem on?
   
   AMS
   
   ### How to reproduce
   
   deploy ams and start it
   
   ### Relevant log output
   
   ```shell
   
   ```
   
   ### Anything else
   
   i though we need add check here,   we need to create group only when group 
dosn't exist
   
![Image](https://github.com/user-attachments/assets/d04eb262-3e5f-43dc-a85c-22426aaf9c6b)
   
   ### Are you willing to submit a PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's Code of Conduct


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to