[ 
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)

Reply via email to