You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Kunal Khatua (JIRA)" <ji...@apache.org> on 2018/02/28 21:50:00 UTC
[jira] [Created] (DRILL-6197) Duplicate entries in inputProfiles of
minor fragments for specific operators
Kunal Khatua created DRILL-6197:
-----------------------------------
Summary: Duplicate entries in inputProfiles of minor fragments for specific operators
Key: DRILL-6197
URL: https://issues.apache.org/jira/browse/DRILL-6197
Project: Apache Drill
Issue Type: Bug
Components: Execution - Monitoring
Affects Versions: 1.12.0
Reporter: Kunal Khatua
Assignee: Kunal Khatua
Fix For: 1.13.0
Minor fragments for the following operators show duplicate entries of the inputProfile ({{org.apache.drill.exec.ops.OperatorStats}} instance) when viewed in the Profile UI.
e.g
{code:json}
{
...
"query": "select * from sys.version",
...
[ ...
{
"inputProfile": [{
"records": 0,
"batches": 0,
"schemas": 0
}],
"operatorId": 0,
"operatorType": 13,
"setupNanos": 0,
"processNanos": 0,
"peakLocalMemoryAllocated": 27131904,
"waitNanos": 0
},
{
"inputProfile": [{
"records": 1,
"batches": 1,
"schemas": 1
}],
"operatorId": 0,
"operatorType": 13,
"setupNanos": 0,
"processNanos": 752448,
"peakLocalMemoryAllocated": 27131904,
"metric": [{
"metricId": 0,
"longValue": 178
}],
"waitNanos": 889492
}]
...
}
{code}
{{operatorType: 13}} is the screen operator, for which there can be only one inputProfile.
It turns out that by default, all minor fragments' operators are provide a list of inputProfiles by {{org.apache.drill.exec.ops.FragmentStats.newOperatorStats(OpProfileDef, BufferAllocator)}}. However, for the following 4 operators, the {{org.apache.drill.exec.physical.impl.BaseRootExec}} constructors also inject {{OperatorStats}}.
{code:java}
org.apache.drill.exec.proto.beans.CoreOperatorType.SCREEN
org.apache.drill.exec.proto.beans.CoreOperatorType.SINGLE_SENDER
org.apache.drill.exec.proto.beans.CoreOperatorType.BROADCAST_SENDER
org.apache.drill.exec.proto.beans.CoreOperatorType.HASH_PARTITION_SENDER
{code}
All updates to the inputProfiles are done by the latter, while the former only reports zero values.
The workaround is to have {{org.apache.drill.exec.ops.FragmentStats}} skip injecting the {{org.apache.drill.exec.ops.OperatorStats}} instance for these operators
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)