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

   ### What happened?
   
   <img width="1837" height="880" alt="Image" 
src="https://github.com/user-attachments/assets/17894b53-6c3b-4548-81f7-b6300a94f27a";
 />
   
   ### Affects Versions
   
   master
   
   ### What table formats are you seeing the problem on?
   
   _No response_
   
   ### What engines are you seeing the problem on?
   
   _No response_
   
   ### How to reproduce
   
   _No response_
   
   ### Relevant log output
   
   ```shell
   04:05:12.085 ERROR org.apache.amoro.server.DefaultOptimizingService: 
OptimizerGroupKeeper has encountered a problem.
   java.lang.RuntimeException: No resources available
        at 
org.apache.amoro.server.TestOptimizerGroupKeeper$MockOptimizerContainer.doScaleOut(TestOptimizerGroupKeeper.java:359)
 ~[test-classes/:?]
        at 
org.apache.amoro.server.manager.AbstractOptimizerContainer.requestResource(AbstractOptimizerContainer.java:62)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizerGroupKeeper.processTask(DefaultOptimizingService.java:834)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizerGroupKeeper.processTask(DefaultOptimizingService.java:775)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$AbstractKeeper.run(DefaultOptimizingService.java:571)
 [classes/:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
   04:05:12.106 ERROR org.apache.amoro.server.DefaultOptimizingService: 
OptimizerGroupKeeper has encountered a problem.
   java.lang.RuntimeException: No resources available
        at 
org.apache.amoro.server.TestOptimizerGroupKeeper$MockOptimizerContainer.doScaleOut(TestOptimizerGroupKeeper.java:359)
 ~[test-classes/:?]
        at 
org.apache.amoro.server.manager.AbstractOptimizerContainer.requestResource(AbstractOptimizerContainer.java:62)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizerGroupKeeper.processTask(DefaultOptimizingService.java:834)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizerGroupKeeper.processTask(DefaultOptimizingService.java:775)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$AbstractKeeper.run(DefaultOptimizingService.java:571)
 [classes/:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
   04:05:12.136 ERROR org.apache.amoro.server.DefaultOptimizingService: 
OptimizerGroupKeeper has encountered a problem.
   java.lang.RuntimeException: No resources available
        at 
org.apache.amoro.server.TestOptimizerGroupKeeper$MockOptimizerContainer.doScaleOut(TestOptimizerGroupKeeper.java:359)
 ~[test-classes/:?]
        at 
org.apache.amoro.server.manager.AbstractOptimizerContainer.requestResource(AbstractOptimizerContainer.java:62)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizerGroupKeeper.processTask(DefaultOptimizingService.java:834)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$OptimizerGroupKeeper.processTask(DefaultOptimizingService.java:775)
 ~[classes/:?]
        at 
org.apache.amoro.server.DefaultOptimizingService$AbstractKeeper.run(DefaultOptimizingService.java:571)
 [classes/:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
   04:05:12.176 WARN org.apache.amoro.server.DefaultOptimizingService: Resource 
Group:test-keeper-group-3, creating optimizer 4 times in a row, optimizers 
still below min-parallel:2, will reset min-parallel to 0
   04:05:12.212 INFO org.apache.amoro.server.DefaultOptimizingService: 
Optimizer OptimizerInstance{token=75daf489-b854-4d50-a398-4efaf817b84d, 
startTime=1774843511411, touchTime=1774843511412} has been expired, unregister 
it
   04:05:12.279 INFO org.apache.amoro.server.catalog.DefaultCatalogManager: 
Dispose catalog: test_catalog
   04:05:12.279 WARN org.apache.amoro.server.DefaultOptimizingService: 
ResourceGroup:test-keeper-group-3 may have been deleted, stop keeping it
   Error:  Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 
1.046 s <<< FAILURE! - in org.apache.amoro.server.TestOptimizerGroupKeeper
   Error:  
TestOptimizerGroupKeeper.testMinParallelismResetToOptimizerParallelWhenNoMoreResource
  Time elapsed: 0.228 s  <<< FAILURE!
   org.opentest4j.AssertionFailedError: test-keeper-group-4:max scale-out 
attempts should be exhausted when no resources available ==> expected: <3> but 
was: <5>
        at 
org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
        at 
org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
        at 
org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
        at 
org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
        at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:576)
        at 
org.apache.amoro.server.TestOptimizerGroupKeeper.testMinParallelismResetToOptimizerParallelWhenNoMoreResource(TestOptimizerGroupKeeper.java:302)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at 
org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at 
org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
        at 
org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
        at 
org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
        at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
        at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
        at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
        at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
        at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
        at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
        at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
        at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
        at 
org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
        at 
org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:55)
        at 
org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:223)
        at 
org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:175)
        at 
org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:139)
        at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:456)
        at 
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:169)
        at 
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:595)
        at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:581)
   ```
   
   ### Anything else
   
   _No response_
   
   ### 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