Ivan Artiukhov created IGNITE-20880:
---------------------------------------
Summary: 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
Attachments: logs.zip
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([email protected]/Native Method)
- parking to wait for <0x00000006347cb998> (a
java.util.concurrent.CompletableFuture$Signaller)
at
java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:211)
at
java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1864)
at
java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3463)
at
java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3434)
at
java.util.concurrent.CompletableFuture.waitingGet([email protected]/CompletableFuture.java:1898)
at
java.util.concurrent.CompletableFuture.get([email protected]/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([email protected]/Thread.java:833){noformat}
Logs, configs:
[^logs.zip]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)