-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Labels
BugIncorrect or unexpected behaviorIncorrect or unexpected behavior
Description
Describe the bug
Received the following stack trace in logs:
2023-01-27T18:01:57.584921Z I i.q.c.h.p.JsonQueryProcessorState [89] exec [q='WITH all_transactions AS (
SELECT ts, wallet_address, token_address, sent, received, hash as transaction_id, 'eth' as chain, workspace FROM 'eth_transactions'
UNION ALL
SELECT ts, wallet_address, token_address, sent, received, signature as transaction_id, 'sol' as chain, workspace from 'sol_transactions'
), transactions_90_days_ago AS (
SELECT wallet_address, count() FROM all_transactions WHERE ts BETWEEN dateadd('d', -180, now()) and dateadd('d', -90, now())
), transactions_90_days AS (
SELECT wallet_address, count() FROM all_transactions WHERE ts >= dateadd('d', -90, now())
), balance as (
SELECT wallet_address, balance FROM balance WHERE token_address = ('SOL') LATEST ON ts PARTITION BY wallet_address
), balance_all_tokens_native as (
SELECT wallet_address, balance FROM balance LATEST ON ts PARTITION BY wallet_address
)
SELECT wallet_address, balance FROM balance LATEST ON ts PARTITION BY wallet_address
-- EXPLAIN SELECT * FROM transactions_90_days_ago
-- SELECT wallet_address, chain, transactions_90d
-- FROM all_transactions LATEST ON ts PARTITION BY wallet_address
']
2023-01-27T18:01:57.584947Z I i.q.c.h.p.QueryCache miss [thread=questdb-shared-2, sql=WITH all_transactions AS (
SELECT ts, wallet_address, token_address, sent, received, hash as transaction_id, 'eth' as chain, workspace FROM 'eth_transactions'
UNION ALL
SELECT ts, wallet_address, token_address, sent, received, signature as transaction_id, 'sol' as chain, workspace from 'sol_transactions'
), transactions_90_days_ago AS (
SELECT wallet_address, count() FROM all_transactions WHERE ts BETWEEN dateadd('d', -180, now()) and dateadd('d', -90, now())
), transactions_90_days AS (
SELECT wallet_address, count() FROM all_transactions WHERE ts >= dateadd('d', -90, now())
), balance as (
SELECT wallet_address, balance FROM balance WHERE token_address = ('SOL') LATEST ON ts PARTITION BY wallet_address
), balance_all_tokens_native as (
SELECT wallet_address, balance FROM balance LATEST ON ts PARTITION BY wallet_address
)
SELECT wallet_address, balance FROM balance LATEST ON ts PARTITION BY wallet_address
-- EXPLAIN SELECT * FROM transactions_90_days_ago
-- SELECT wallet_address, chain, transactions_90d
-- FROM all_transactions LATEST ON ts PARTITION BY wallet_address
]
2023-01-27T18:01:57.683972Z C i.q.c.h.p.JsonQueryProcessorState [89] Uh-oh. Error!
java.lang.StackOverflowError
at io.questdb.std.Chars.lowerCaseAsciiHashCode(Chars.java:595)
at io.questdb.std.AbstractLowerCaseAsciiCharSequenceHashSet.keyIndex(AbstractLowerCaseAsciiCharSequenceHashSet.java:65)
at io.questdb.std.LowerCaseAsciiCharSequenceObjHashMap.get(LowerCaseAsciiCharSequenceObjHashMap.java:62)
at io.questdb.griffin.ExpressionParser.parseExpr(ExpressionParser.java:953)
at io.questdb.griffin.SqlParser.expr(SqlParser.java:2132)
at io.questdb.griffin.SqlParser.parseSelectClause(SqlParser.java:1558)
at io.questdb.griffin.SqlParser.parseDml0(SqlParser.java:867)
at io.questdb.griffin.SqlParser.parseDml(SqlParser.java:794)
at io.questdb.griffin.SqlParser.parseAsSubQuery(SqlParser.java:2194)
at io.questdb.griffin.SqlParser.parseAsSubQueryAndExpectClosingBrace(SqlParser.java:350)
at io.questdb.griffin.SqlParser.parseWith(SqlParser.java:1811)
at io.questdb.griffin.SqlParser.parseSelectFrom(SqlParser.java:1685)
at io.questdb.griffin.SqlParser.parseFromClause(SqlParser.java:1088)
at io.questdb.griffin.SqlParser.parseDml0(SqlParser.java:899)
at io.questdb.griffin.SqlParser.parseDml(SqlParser.java:794)
at io.questdb.griffin.SqlParser.parseAsSubQuery(SqlParser.java:2194)
at io.questdb.griffin.SqlParser.parseAsSubQueryAndExpectClosingBrace(SqlParser.java:350)
at io.questdb.griffin.SqlParser.parseWith(SqlParser.java:1811)
at io.questdb.griffin.SqlParser.parseSelectFrom(SqlParser.java:1685)
at io.questdb.griffin.SqlParser.parseFromClause(SqlParser.java:1088)
at io.questdb.griffin.SqlParser.parseDml0(SqlParser.java:899)
at io.questdb.griffin.SqlParser.parseDml(SqlParser.java:794)
at io.questdb.griffin.SqlParser.parseAsSubQuery(SqlParser.java:2194)
at io.questdb.griffin.SqlParser.parseAsSubQueryAndExpectClosingBrace(SqlParser.java:350)
at io.questdb.griffin.SqlParser.parseWith(SqlParser.java:1811)
at io.questdb.griffin.SqlParser.parseSelectFrom(SqlParser.java:1685)
at io.questdb.griffin.SqlParser.parseFromClause(SqlParser.java:1088)
at io.questdb.griffin.SqlParser.parseDml0(SqlParser.java:899)
at io.questdb.griffin.SqlParser.parseDml(SqlParser.java:794)
at io.questdb.griffin.SqlParser.parseAsSubQuery(SqlParser.java:2194)
at io.questdb.griffin.SqlParser.parseAsSubQueryAndExpectClosingBrace(SqlParser.java:350)
at io.questdb.griffin.SqlParser.parseWith(SqlParser.java:1811)
at io.questdb.griffin.SqlParser.parseSelectFrom(SqlParser.java:1685)
at io.questdb.griffin.SqlParser.parseFromClause(SqlParser.java:1088)
at io.questdb.griffin.SqlParser.parseDml0(SqlParser.java:899)
at io.questdb.griffin.SqlParser.parseDml(SqlParser.java:794)
at io.questdb.griffin.SqlParser.parseAsSubQuery(SqlParser.java:2194)
at io.questdb.griffin.SqlParser.parseAsSubQueryAndExpectClosingBrace(SqlParser.java:350)
at io.questdb.griffin.SqlParser.parseWith(SqlParser.java:1811)
at io.questdb.griffin.SqlParser.parseSelectFrom(SqlParser.java:1685)
at io.questdb.griffin.SqlParser.parseFromClause(SqlParser.java:1088)
at io.questdb.griffin.SqlParser.parseDml0(SqlParser.java:899)
at io.questdb.griffin.SqlParser.parseDml(SqlParser.java:794)
at io.questdb.griffin.SqlParser.parseAsSubQuery(SqlParser.java:2194)
at io.questdb.griffin.SqlParser.parseAsSubQueryAndExpectClosingBrace(SqlParser.java:350)
at io.questdb.griffin.SqlParser.parseWith(SqlParser.java:1811)
at io.questdb.griffin.SqlParser.parseSelectFrom(SqlParser.java:1685)
at io.questdb.griffin.SqlParser.parseFromClause(SqlParser.java:1088)
at io.questdb.griffin.SqlParser.parseDml0(SqlParser.java:899)
at io.questdb.griffin.SqlParser.parseDml(SqlParser.java:794)
at io.questdb.griffin.SqlParser.parseAsSubQuery(SqlParser.java:2194)
at io.questdb.griffin.SqlParser.parseAsSubQueryAndExpectClosingBrace(SqlParser.java:350)
at io.questdb.griffin.SqlParser.parseWith(SqlParser.java:1811)
at io.questdb.griffin.SqlParser.parseSelectFrom(SqlParser.java:1685)
at io.questdb.griffin.SqlParser.parseFromClause(SqlParser.java:1088)
at i2023-01-27T18:01:57.685045Z I i.q.c.h.HttpConnectionContext kicked out [fd=89]
2023-01-27T18:01:57.685048Z I http-server scheduling disconnect [fd=89, reason=5]
2023-01-27T18:01:57.685115Z I http-server disconnected [ip=10.2.18.56, fd=89, src=queue]
To reproduce
query that triggered the error:
WITH all_transactions AS (
SELECT ts, wallet_address, token_address, sent, received, hash as transaction_id, 'eth' as chain, workspace FROM 'eth_transactions'
UNION ALL
SELECT ts, wallet_address, token_address, sent, received, signature as transaction_id, 'sol' as chain, workspace from 'sol_transactions'
), transactions_90_days_ago AS (
SELECT wallet_address, count() FROM all_transactions WHERE ts BETWEEN dateadd('d', -180, now()) and dateadd('d', -90, now())
), transactions_90_days AS (
SELECT wallet_address, count() FROM all_transactions WHERE ts >= dateadd('d', -90, now())
), balance as (
SELECT wallet_address, balance FROM balance WHERE token_address = ('SOL') LATEST ON ts PARTITION BY wallet_address
), balance_all_tokens_native as (
SELECT wallet_address, balance FROM balance LATEST ON ts PARTITION BY wallet_address
)
SELECT wallet_address, balance FROM balance LATEST ON ts PARTITION BY wallet_address
-- EXPLAIN SELECT * FROM transactions_90_days_ago
-- SELECT wallet_address, chain, transactions_90d
-- FROM all_transactions LATEST ON ts PARTITION BY wallet_addressExpected Behavior
No response
Environment
- **QuestDB version**: 6.7
- **OS**: linux
- **Browser**: N/AAdditional context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
BugIncorrect or unexpected behaviorIncorrect or unexpected behavior