[ https://issues.apache.org/jira/browse/IGNITE-20880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Orlov updated IGNITE-20880: -------------------------------------- Fix Version/s: 3.0.0-beta2 > Some TPC-H queries hang > ----------------------- > > Key: IGNITE-20880 > URL: https://issues.apache.org/jira/browse/IGNITE-20880 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Ivan Artiukhov > Assignee: Konstantin Orlov > Priority: Major > Labels: ignite-3, ignite3_performance > Fix For: 3.0.0-beta2 > > Attachments: logs.zip > > Time Spent: 1h 20m > Remaining Estimate: 0h > > Apache Ignite 3, rev. 8d6264af0edb9752e2239f9b686abe5580056862 (Nov 16 2023) > Benchmark: > [https://github.com/cmu-db/benchbase/tree/main/src/main/java/com/oltpbenchmark/benchmarks/tpch] > > h1. Setup > * 1 Ignite 3 server node, raft.fsync = false > * TPC-H with scale factor = 0.1 > h1. Steps > # Start an Ignite 3 node > # Run benchbase with {{-s 1 --create=true --load=true --execute=false}} to > preload data > # Observe via the benchbase log that the data was successfully loaded > # Run {{benchbase with -s 1 --create=false --load=false --execute=true}} to > run the benchmark > h1. Expected result > The benchmark finishes after warmup + duration time > h1. Actual result > The benchmark hangs on Q21 query: > > {noformat} > SELECT > cntrycode, > COUNT(*) AS numcust, > SUM(c_acctbal) AS totacctbal > FROM > ( > SELECT > SUBSTRING(c_phone FROM 1 FOR 2) AS cntrycode, > c_acctbal > FROM > customer > WHERE > SUBSTRING(c_phone FROM 1 FOR 2) IN (?, ?, ?, ?, ?, ?, ?) > AND c_acctbal > > ( > SELECT > AVG(c_acctbal) > FROM > customer > WHERE > c_acctbal > 0.00 > AND SUBSTRING(c_phone FROM 1 FOR 2) IN (?, ?, ?, ?, ?, ?, ?) > ) > AND NOT EXISTS > ( > SELECT > * > FROM > orders > WHERE > o_custkey = c_custkey > ) > ) > AS custsale > GROUP BY > cntrycode > ORDER BY > cntrycode > {noformat} > > Hung client thread: > > {noformat} > "TPCHWorker<000>" #61 prio=5 os_prio=0 cpu=13.83ms elapsed=3064.60s > allocated=2668K defined_classes=46 tid=0x00007f9c4d2d73b0 nid=0x2703 waiting > on condition [0x00007f9b662fd000] > java.lang.Thread.State: WAITING (parking) > at jdk.internal.misc.Unsafe.park(java.base@17.0.7/Native Method) > - parking to wait for <0x00000006347cb998> (a > java.util.concurrent.CompletableFuture$Signaller) > at > java.util.concurrent.locks.LockSupport.park(java.base@17.0.7/LockSupport.java:211) > at > java.util.concurrent.CompletableFuture$Signaller.block(java.base@17.0.7/CompletableFuture.java:1864) > at > java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.7/ForkJoinPool.java:3463) > at > java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.7/ForkJoinPool.java:3434) > at > java.util.concurrent.CompletableFuture.waitingGet(java.base@17.0.7/CompletableFuture.java:1898) > at > java.util.concurrent.CompletableFuture.get(java.base@17.0.7/CompletableFuture.java:2072) > at > org.apache.ignite.internal.jdbc.JdbcStatement.execute0(JdbcStatement.java:139) > at > org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeWithArguments(JdbcPreparedStatement.java:765) > at > org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:116) > at > com.oltpbenchmark.benchmarks.tpch.procedures.GenericQuery.run(GenericQuery.java:39) > at > com.oltpbenchmark.benchmarks.tpch.TPCHWorker.executeWork(TPCHWorker.java:44) > at com.oltpbenchmark.api.Worker.doWork(Worker.java:416) > at com.oltpbenchmark.api.Worker.run(Worker.java:282) > at java.lang.Thread.run(java.base@17.0.7/Thread.java:833){noformat} > Logs, configs: > > [^logs.zip] -- This message was sent by Atlassian Jira (v8.20.10#820010)