trinodb/trino

Frequency getting error about faulttolerant in trino coordinator

HueTruc opened this issue · 0 comments

After I start the cluster in fault-tolerant mode and accept some queries, the coordinator frequently log this error: Error processing pending acquires: bound must be positive

2024-12-09T08:18:01.937Z	ERROR	bin-packing-node-allocator	io.trino.execution.scheduler.faulttolerant.BinPackingNodeAllocatorService	Error processing pending acquires
java.lang.IllegalArgumentException: bound must be positive
	at java.base/java.util.Random.nextInt(Random.java:551)
	at java.base/java.util.concurrent.ThreadLocalRandom.nextInt(ThreadLocalRandom.java:453)
	at io.trino.execution.scheduler.faulttolerant.BinPackingNodeAllocatorService.pendingAcquiresIterator(BinPackingNodeAllocatorService.java:360)
	at io.trino.execution.scheduler.faulttolerant.BinPackingNodeAllocatorService.processPendingAcquires(BinPackingNodeAllocatorService.java:263)
	at io.trino.execution.scheduler.faulttolerant.BinPackingNodeAllocatorService.processPendingAcquires(BinPackingNodeAllocatorService.java:252)
	at io.trino.execution.scheduler.faulttolerant.BinPackingNodeAllocatorService.lambda$start$0(BinPackingNodeAllocatorService.java:185)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1575)

Trino version: 461
jvm.config:

    -server
    -Xmx22G
    -XX:+UseG1GC
    -XX:G1HeapRegionSize=32M
    -XX:+ExplicitGCInvokesConcurrent
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+ExitOnOutOfMemoryError
    -Djdk.attach.allowAttachSelf=true
    -XX:ReservedCodeCacheSize=512M
    -XX:PerMethodRecompilationCutoff=10000
    -XX:PerBytecodeRecompilationCutoff=10000
    -Djdk.nio.maxCachedBufferSize=2000000
    -XX:+UnlockDiagnosticVMOptions
    -Djava.security.manager=allow
    # Allow loading dynamic agent used by JOL
    -XX:+EnableDynamicAgentLoading
    -XX:+UseGCOverheadLimit
    -XX:+UseAESCTRIntrinsics
    -Dlogback.configurationFile=/etc/trino/trino-ranger-plugin-logback.xml