[
https://issues.apache.org/jira/browse/DRILL-5260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15881262#comment-15881262
]
ASF GitHub Bot commented on DRILL-5260:
---------------------------------------
Github user sohami commented on a diff in the pull request:
https://github.com/apache/drill/pull/753#discussion_r102610181
--- Diff:
exec/java-exec/src/test/java/org/apache/drill/test/ProfileParser.java ---
@@ -42,44 +48,207 @@
public class ProfileParser {
JsonObject profile;
+ String query;
List<String> plans;
+ List<OpDefInfo> operations;
+ Map<Integer,FragInfo> fragments = new HashMap<>();
+ private List<OpDefInfo> topoOrder;
public ProfileParser( File file ) throws IOException {
try (FileReader fileReader = new FileReader(file);
JsonReader reader = Json.createReader(fileReader)) {
profile = (JsonObject) reader.read();
}
+
+ parse();
+ }
+
+ private void parse() {
+ parseQuery();
+ parsePlans();
+ buildFrags();
+ parseFragProfiles();
+ mapOpProfiles();
+ aggregateOpers();
+ buildTree();
+ }
+
+ private void parseQuery() {
+ query = profile.getString("query");
+ query = query.replace("//n", "\n");
+ }
+
+ /**
+ * Parse a text version of the plan as it appears in the JSON
+ * query profile.
+ */
+
+ private static class PlanParser {
+
+ List<String> plans = new ArrayList<>();
+ List<OpDefInfo> operations = new ArrayList<>();
+ List<OpDefInfo> sorted = new ArrayList<>();
+
+ public void parsePlans(String plan) {
+ plans = new ArrayList<>( );
+ String parts[] = plan.split("\n");
+ for (String part : parts) {
+ plans.add(part);
+ OpDefInfo opDef = new OpDefInfo( part );
+ operations.add(opDef);
+ }
+ sortList();
+ }
+
+ public void sortList() {
--- End diff --
can be private.
> Refinements to new "Cluster Fixture" test framework
> ---------------------------------------------------
>
> Key: DRILL-5260
> URL: https://issues.apache.org/jira/browse/DRILL-5260
> Project: Apache Drill
> Issue Type: Improvement
> Affects Versions: 1.10
> Reporter: Paul Rogers
> Assignee: Paul Rogers
> Priority: Minor
> Fix For: 1.10
>
>
> Roll-up of a number of enhancements to the cluster fixture framework.
> * Config option to suppress printing of CSV and other output. (Allows
> printing for single tests, not printing when running from Maven.)
> * Parsing of query profiles to extract plan and run time information.
> * Fix bug in log fixture when enabling logging for a package.
> * Improved ZK support.
> * Set up the new CTTAS default temporary workspace for tests.
> * Revise TestDrillbitResiliance to use the new framework.
> * Revise TestWindowFrame to to use the new framework.
> * Revise TestMergeJoinWithSchemaChanges to use the new framework.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)