This message was deleted.
# general
s
This message was deleted.
j
The first error means that your select statement is not providing any records for at least one of the time intervals that you are insert into. Is this a REPLACE statement? If so, you need to make sure the timeframes in the OVERWRITE clause actually have data to put in them. If this is an INSERT statement, then the only time I know you would get that error is if your select statement produces no output. If the above info does not help you understand where the problem is, can you post your SQL statement? Thanks. John
v
verified the select statement and it produces results, all stages are logged as completed, but INSERT does not seems to be getting back results..
btw, I was running indexer runner in local and peon’s were getting created local to overlord. changed that to
druid.indexer.runner.type=httpRemote
so MM’s are used, not sure if this has any bearing as I noticed lot of faulty channel exceptions with workorder post requests?
l
What’s the query that you are using? Might happen for first/last aggregations.
v
the query has domain specific info in it, here is something representational. Primarily a custom rollup with LATEST aggregations on strings & the context params are
{"maxNumTasks": 4,"includeSegmentSource": "REALTIME"}
Copy code
INSERT into foo
with domain1 as (select max(__time) as lastUpdatedAt, latest("domain1.dim1") as domain1_dim1, .... from "stream.table" where domain='domain1' group by domain1_id),
with domain2 as (select max(__time) as lastUpdatedAt, latest("domain2.dim1") as domain2_dim1, .... from "stream.table" where domain='domain2' group by domain2_id),
....
select domain1_dim1, domain2_dim1 from domain2 left join domain1 on (domain2.id=domain1.id) group by <all_dimensions> PARTITIONED BY DAY
	CLUSTERED BY domain2_id
btw, we are on v26.0.0
l
Are domain1.dim1 etc numeric?
v
@Laksh Singla they are strings, but yeah the actual query uses latest(dim,maxBytesPerString), so the corrected query is as below.
Copy code
INSERT into foo
with domain1 as (select max(__time) as lastUpdatedAt, latest("domain1.dim1",64) as domain1_dim1, .... from "stream.table" where domain='domain1' group by domain1_id),
with domain2 as (select max(__time) as lastUpdatedAt, latest("domain2.dim1",64) as domain2_dim1, .... from "stream.table" where domain='domain2' group by domain2_id),
....
select domain1_dim1, domain2_dim1 from domain2 left join domain1 on (domain2.id=domain1.id) group by <all_dimensions> PARTITIONED BY DAY
	CLUSTERED BY domain2_id
l
Hmm, can you check if running SELECT with msq (not sql-native) engine produce any results?
Also, might be worthwile breking up the CTEs and running them on their own to see what data they produce. The top suspects I am thinking is the join key being null, which is leading to the join not producing any result on MSQ
Copy code
domain1_id
What is this key? (expression and the column type)
v
tried the query with
sql-native
and returns 1 expected result in ~3secs, and executed the same with sql-msq-task, and the task completes in ~55s with no results. join’s seem to be working fine.
btw, these queries are against a streaming datasource and we have
“includeSegmentSource”: “REALTIME”
set in the context. Also, noticing the same query succeeds at times with results and intermittently returns no results (with task succeeding though).