ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey Kornev <andrewkor...@hotmail.com>
Subject Misleading query duration metrics
Date Wed, 08 Nov 2017 17:27:13 GMT
(Changed the subject to maybe make people actually read the posting.)

Anyway, if somebody (who knows that code) could take a quick look to see if the duration is
indeed computed correctly (or not), that would be greatly appreciated!

Thanks
Andrey

________________________________________
From: Andrey Kornev <andrewkornev@hotmail.com>
Sent: Sunday, November 5, 2017 12:17 PM
To: dev@ignite.apache.org
Subject: Query duration metrics

Hi,

It appears as if the query duration metric is a bit misleading.

GridQueryProcessor.executeQuery() doesn't actually "run" the query. It simply delegates query
execution to a closure passed in as a parameter. The closure may or may not actually execute
the query. In some (all?) cases, the closure simply creates and returns an Iterable (how does
IgniteH2Indexing.runQueryTwoStep, for example). Actual query execution happens at some point
later when user instantiates an Iterator from the Iterable. What's in fact recorded (by GridQueryProcessor
on line 2477) as the "query duration" is just the query parsing stage as well as some query's
AST manipulation logic that tries to convert the regular regular query to a map/reduce style
query. So, it's basically a "prepare statement duration" that is currently reported as "query
duration".

Am I missing something?

Thanks
Andrey

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message