You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by el...@apache.org on 2017/09/12 18:20:29 UTC
[1/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Repository: phoenix
Updated Branches:
refs/heads/4.x-HBase-0.98 3aec050f7 -> 4004ed17f
refs/heads/4.x-HBase-1.1 ef6e5366d -> 050a35382
refs/heads/4.x-HBase-1.2 149eddcdc -> f8100caa6
refs/heads/master 1d4025a57 -> 4ee35057c
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
new file mode 100644
index 0000000..ab24c41
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
@@ -0,0 +1,676 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE dataModelResult
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<ns3:dataModelResult xmlns:ns2="org.apache.phoenix.pherf.configuration.DataModel" xmlns:ns3="org.apache.phoenix.pherf.result" zookeeper="localhost:2181/hbase" name="test_scenario">
+ <scenarioResult name="myscenario" rowCount="50" tableName="PHERF.USER_DEFINED_TEST">
+ <dataOverride>
+ <column>
+ <dataSequence>RANDOM</dataSequence>
+ <length>10</length>
+ <maxValue>-2147483648</maxValue>
+ <minValue>-2147483648</minValue>
+ <name>&name;</name>
+ <nullChance>-2147483648</nullChance>
+ <precision>-2147483648</precision>
+ <type>VARCHAR</type>
+ <useCurrentDate>false</useCurrentDate>
+ <userDefined>true</userDefined>
+ </column>
+ </dataOverride>
+ <phoenixProperties>
+ <entry>
+ <key>phoenix.schema.isNamespaceMappingEnabled</key>
+ <value>false</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.serialization</key>
+ <value>PROTOBUF</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.http.port</key>
+ <value>8765</value>
+ </entry>
+ </phoenixProperties>
+ <writeParams executionDurationInMs="9223372036854775807">
+ <batchSize>-9223372036854775808</batchSize>
+ <threadSleepDuration>-9223372036854775808</threadSleepDuration>
+ <writerThreadCount>-2147483648</writerThreadCount>
+ </writeParams>
+ <querySetResult concurrency="1-3" executionDurationInMs="5000" executionType="SERIAL" numberOfExecutions="100">
+ <queryResults expectedAggregateRowCount="50" id="q1" statement="select count(*) from PHERF.USER_DEFINED_TEST">
+ <threadTimes threadName="1,1">
+ <runTimesInMs elapsedDurationInMs="37" resultRowCount="50" startTime="2017-09-08T19:27:41.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.691-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:41.709-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.731-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.767-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.784-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:41.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:41.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.836-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.852-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.865-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.909-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.924-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.941-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.959-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.008-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.025-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.037-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.057-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.066-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.075-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.082-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.092-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.103-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.169-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.206-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.227-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.239-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.251-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.260-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.278-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.298-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.342-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.358-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.366-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.375-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.395-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.404-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.413-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.422-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.433-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.443-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.461-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.470-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.493-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.504-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.514-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.521-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.529-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.548-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.571-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.581-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.589-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.606-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.615-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.624-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.643-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.664-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.821-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.830-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.838-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.850-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.861-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,2">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.884-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.917-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:42.928-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.942-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.964-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.982-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.990-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.998-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.040-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.051-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.061-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.076-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.101-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.150-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.158-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.203-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.213-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.282-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.346-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.399-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.412-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.506-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.601-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.660-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.673-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.728-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.741-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.755-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.778-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.340-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.349-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.359-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.414-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.432-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.441-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.448-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.458-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.473-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.481-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.508-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.517-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.524-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.540-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.548-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,2">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.872-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.885-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.907-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.918-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.929-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.936-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.945-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:42.973-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:42.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="33" resultRowCount="50" startTime="2017-09-08T19:27:43.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.050-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.062-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.070-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.091-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.100-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.131-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.141-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.151-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.176-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.185-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.194-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:43.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.210-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.238-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.247-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.283-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.320-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.345-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.369-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.411-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.425-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.451-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.507-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.553-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.584-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.600-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.661-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.727-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.742-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.754-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.776-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="51" resultRowCount="50" startTime="2017-09-08T19:27:43.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.236-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.243-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.250-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.257-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.265-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.275-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.284-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.294-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:44.301-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.330-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.339-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.351-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.377-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.394-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,3">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.672-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.688-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.890-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.904-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.919-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.933-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.949-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.986-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.031-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="29" resultRowCount="50" startTime="2017-09-08T19:27:45.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.168-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:45.254-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.300-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:45.307-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:45.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.520-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.543-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.562-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.605-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.640-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.648-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.662-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.669-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.679-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.694-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.705-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.716-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.722-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.730-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.736-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.743-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.756-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.768-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.774-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.780-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.786-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.792-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.805-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.816-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.832-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,3">
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.724-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.834-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.883-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.896-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.922-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.939-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.953-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.984-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.032-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="27" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.122-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.220-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="36" resultRowCount="50" startTime="2017-09-08T19:27:45.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.299-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.089-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.097-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.106-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.113-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.119-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.144-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.160-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.166-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.183-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.199-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.207-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.244-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.322-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.397-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.403-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.426-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.463-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.477-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.502-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="3,3">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.557-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.636-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.712-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.806-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.870-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.887-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.902-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.916-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.931-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.947-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.963-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.985-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45-04:00"/>
+ <runTimesInMs elapsedDurationInMs="19" resultRowCount="50" startTime="2017-09-08T19:27:45.015-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.034-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.064-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="35" resultRowCount="50" startTime="2017-09-08T19:27:45.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.290-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="23" resultRowCount="50" startTime="2017-09-08T19:27:46.102-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:46.125-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.145-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:46.201-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.323-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.427-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.475-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.484-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.494-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.509-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.516-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.525-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.533-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.544-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.604-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ </threadTimes>
+ </queryResults>
+ </querySetResult>
+ </scenarioResult>
+</ns3:dataModelResult>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
new file mode 100644
index 0000000..e8528f3
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE datamodel
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<datamodel>
+ <datamapping>
+ <column>
+ <!-- This column type defines what will generally happen to VARCHAR fields unless they are explicitly defined or overridden elsewhere -->
+ <type>VARCHAR</type>
+ <dataSequence>RANDOM</dataSequence>
+ <length>15</length>
+ <name>&name;</name>
+ </column>
+ </datamapping>
+ <scenarios>
+ <!-- Scenario level DDL that is dynamically executed before the Write Workload is run.
+ This pattern is really useful when you want to write data to multi-tenant view and the tenant id is
+ tightly bound to the scenario. In such cases you can't create the view through the data model flow.
+ The value of the tableName attribute is name of the view that is dynamically created based on the DDL
+ in the ddl attribute. Queries accessing the View will need to manually make sure Pherf was run with the -l option at
+ least once.
+ -->
+ <scenario tableName="PHERF.TEST_MT_VIEW" tenantId="abcdefghijklmno"
+ ddl="CREATE VIEW IF NOT EXISTS PHERF.TEST_MT_VIEW (field1 VARCHAR) AS SELECT * FROM PHERF.TEST_MULTI_TENANT_TABLE"
+ rowCount="100" name="testMTDdlWriteScenario">
+ </scenario>
+
+ </scenarios>
+</datamodel>
[7/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Posted by el...@apache.org.
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
new file mode 100644
index 0000000..ab24c41
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
@@ -0,0 +1,676 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE dataModelResult
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<ns3:dataModelResult xmlns:ns2="org.apache.phoenix.pherf.configuration.DataModel" xmlns:ns3="org.apache.phoenix.pherf.result" zookeeper="localhost:2181/hbase" name="test_scenario">
+ <scenarioResult name="myscenario" rowCount="50" tableName="PHERF.USER_DEFINED_TEST">
+ <dataOverride>
+ <column>
+ <dataSequence>RANDOM</dataSequence>
+ <length>10</length>
+ <maxValue>-2147483648</maxValue>
+ <minValue>-2147483648</minValue>
+ <name>&name;</name>
+ <nullChance>-2147483648</nullChance>
+ <precision>-2147483648</precision>
+ <type>VARCHAR</type>
+ <useCurrentDate>false</useCurrentDate>
+ <userDefined>true</userDefined>
+ </column>
+ </dataOverride>
+ <phoenixProperties>
+ <entry>
+ <key>phoenix.schema.isNamespaceMappingEnabled</key>
+ <value>false</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.serialization</key>
+ <value>PROTOBUF</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.http.port</key>
+ <value>8765</value>
+ </entry>
+ </phoenixProperties>
+ <writeParams executionDurationInMs="9223372036854775807">
+ <batchSize>-9223372036854775808</batchSize>
+ <threadSleepDuration>-9223372036854775808</threadSleepDuration>
+ <writerThreadCount>-2147483648</writerThreadCount>
+ </writeParams>
+ <querySetResult concurrency="1-3" executionDurationInMs="5000" executionType="SERIAL" numberOfExecutions="100">
+ <queryResults expectedAggregateRowCount="50" id="q1" statement="select count(*) from PHERF.USER_DEFINED_TEST">
+ <threadTimes threadName="1,1">
+ <runTimesInMs elapsedDurationInMs="37" resultRowCount="50" startTime="2017-09-08T19:27:41.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.691-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:41.709-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.731-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.767-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.784-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:41.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:41.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.836-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.852-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.865-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.909-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.924-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.941-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.959-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.008-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.025-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.037-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.057-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.066-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.075-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.082-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.092-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.103-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.169-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.206-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.227-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.239-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.251-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.260-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.278-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.298-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.342-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.358-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.366-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.375-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.395-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.404-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.413-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.422-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.433-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.443-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.461-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.470-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.493-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.504-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.514-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.521-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.529-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.548-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.571-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.581-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.589-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.606-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.615-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.624-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.643-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.664-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.821-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.830-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.838-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.850-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.861-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,2">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.884-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.917-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:42.928-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.942-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.964-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.982-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.990-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.998-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.040-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.051-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.061-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.076-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.101-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.150-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.158-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.203-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.213-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.282-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.346-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.399-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.412-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.506-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.601-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.660-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.673-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.728-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.741-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.755-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.778-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.340-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.349-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.359-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.414-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.432-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.441-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.448-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.458-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.473-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.481-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.508-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.517-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.524-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.540-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.548-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,2">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.872-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.885-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.907-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.918-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.929-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.936-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.945-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:42.973-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:42.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="33" resultRowCount="50" startTime="2017-09-08T19:27:43.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.050-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.062-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.070-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.091-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.100-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.131-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.141-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.151-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.176-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.185-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.194-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:43.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.210-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.238-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.247-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.283-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.320-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.345-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.369-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.411-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.425-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.451-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.507-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.553-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.584-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.600-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.661-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.727-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.742-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.754-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.776-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="51" resultRowCount="50" startTime="2017-09-08T19:27:43.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.236-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.243-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.250-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.257-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.265-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.275-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.284-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.294-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:44.301-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.330-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.339-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.351-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.377-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.394-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,3">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.672-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.688-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.890-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.904-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.919-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.933-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.949-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.986-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.031-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="29" resultRowCount="50" startTime="2017-09-08T19:27:45.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.168-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:45.254-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.300-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:45.307-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:45.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.520-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.543-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.562-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.605-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.640-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.648-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.662-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.669-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.679-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.694-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.705-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.716-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.722-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.730-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.736-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.743-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.756-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.768-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.774-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.780-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.786-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.792-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.805-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.816-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.832-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,3">
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.724-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.834-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.883-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.896-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.922-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.939-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.953-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.984-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.032-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="27" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.122-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.220-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="36" resultRowCount="50" startTime="2017-09-08T19:27:45.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.299-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.089-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.097-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.106-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.113-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.119-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.144-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.160-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.166-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.183-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.199-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.207-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.244-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.322-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.397-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.403-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.426-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.463-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.477-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.502-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="3,3">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.557-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.636-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.712-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.806-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.870-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.887-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.902-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.916-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.931-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.947-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.963-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.985-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45-04:00"/>
+ <runTimesInMs elapsedDurationInMs="19" resultRowCount="50" startTime="2017-09-08T19:27:45.015-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.034-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.064-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="35" resultRowCount="50" startTime="2017-09-08T19:27:45.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.290-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="23" resultRowCount="50" startTime="2017-09-08T19:27:46.102-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:46.125-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.145-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:46.201-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.323-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.427-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.475-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.484-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.494-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.509-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.516-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.525-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.533-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.544-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.604-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ </threadTimes>
+ </queryResults>
+ </querySetResult>
+ </scenarioResult>
+</ns3:dataModelResult>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
new file mode 100644
index 0000000..e8528f3
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE datamodel
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<datamodel>
+ <datamapping>
+ <column>
+ <!-- This column type defines what will generally happen to VARCHAR fields unless they are explicitly defined or overridden elsewhere -->
+ <type>VARCHAR</type>
+ <dataSequence>RANDOM</dataSequence>
+ <length>15</length>
+ <name>&name;</name>
+ </column>
+ </datamapping>
+ <scenarios>
+ <!-- Scenario level DDL that is dynamically executed before the Write Workload is run.
+ This pattern is really useful when you want to write data to multi-tenant view and the tenant id is
+ tightly bound to the scenario. In such cases you can't create the view through the data model flow.
+ The value of the tableName attribute is name of the view that is dynamically created based on the DDL
+ in the ddl attribute. Queries accessing the View will need to manually make sure Pherf was run with the -l option at
+ least once.
+ -->
+ <scenario tableName="PHERF.TEST_MT_VIEW" tenantId="abcdefghijklmno"
+ ddl="CREATE VIEW IF NOT EXISTS PHERF.TEST_MT_VIEW (field1 VARCHAR) AS SELECT * FROM PHERF.TEST_MULTI_TENANT_TABLE"
+ rowCount="100" name="testMTDdlWriteScenario">
+ </scenario>
+
+ </scenarios>
+</datamodel>
[4/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Posted by el...@apache.org.
PHOENIX-4188 Disable inline-DTDs in Pherf XML records
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/f8100caa
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/f8100caa
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/f8100caa
Branch: refs/heads/4.x-HBase-1.2
Commit: f8100caa6b8c747a535fa2b7e138456dc17bc18c
Parents: 149eddc
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 8 22:50:25 2017 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Tue Sep 12 13:40:06 2017 -0400
----------------------------------------------------------------------
.../config/scenario/user_defined_scenario.xml | 4 +-
phoenix-pherf/pom.xml | 4 +
.../pherf/configuration/XMLConfigParser.java | 15 +-
.../pherf/result/impl/XMLResultHandler.java | 17 +-
.../phoenix/pherf/ConfigurationParserTest.java | 5 +-
.../phoenix/pherf/XMLConfigParserTest.java | 53 ++
.../pherf/result/impl/XMLResultHandlerTest.java | 53 ++
.../resources/malicious_results_with_dtd.xml | 676 +++++++++++++++++++
.../scenario/malicious_scenario_with_dtd.xml | 48 ++
9 files changed, 863 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/config/scenario/user_defined_scenario.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/config/scenario/user_defined_scenario.xml b/phoenix-pherf/config/scenario/user_defined_scenario.xml
index e54d76a..6435e29 100644
--- a/phoenix-pherf/config/scenario/user_defined_scenario.xml
+++ b/phoenix-pherf/config/scenario/user_defined_scenario.xml
@@ -82,7 +82,7 @@
<maxValue>2019-09-15 11:00:00.000</maxValue>
</datavalue>
<datavalue distribution="10">
- <value>2019-09-19 00:01:00</value>
+ <value>2019-09-19 00:01:00.000</value>
</datavalue>
<datavalue distribution="10">
<minValue>2019-09-22 00:01:00.000</minValue>
@@ -131,4 +131,4 @@
</querySet>
</scenario>
</scenarios>
-</datamodel>
\ No newline at end of file
+</datamodel>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/pom.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 3128785..9fc3541 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -219,6 +219,10 @@
<include>com.googlecode.java-diff-utils:diffutils</include>
<include>org.apache.commons:commons-lang3</include>
<include>org.apache.commons:commons-math3</include>
+ <include>commons-cli:commons-cli</include>
+ <include>joda-time:joda-time</include>
+ <include>org.apache.commons:commons-csv</include>
+ <include>commons-lang:commons-lang</include>
</includes>
</artifactSet>
<filters>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
index 93dc94c..f3ec12f 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
@@ -29,6 +29,10 @@ import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
import org.apache.phoenix.pherf.PherfConstants;
import org.apache.phoenix.pherf.exception.FileLoaderException;
@@ -108,16 +112,19 @@ public class XMLConfigParser {
* @param file Name of File
* @return {@link org.apache.phoenix.pherf.configuration.DataModel} Returns DataModel from
* XML configuration
- * @throws JAXBException
*/
// TODO Remove static calls
- public static DataModel readDataModel(Path file) throws JAXBException {
+ public static DataModel readDataModel(Path file) throws JAXBException, XMLStreamException {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModel.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
String fName = PherfConstants.RESOURCE_SCENARIO + "/" + file.getFileName().toString();
logger.info("Open config file: " + fName);
- return (DataModel) jaxbUnmarshaller
- .unmarshal(XMLConfigParser.class.getResourceAsStream(fName));
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(
+ new StreamSource(XMLConfigParser.class.getResourceAsStream(fName)));
+ return (DataModel) jaxbUnmarshaller.unmarshal(xmlReader);
}
// TODO Remove static calls
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
index 990c9be..05b5a2b 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
@@ -24,6 +24,10 @@ import org.apache.phoenix.pherf.result.file.ResultFileDetails;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
+
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -66,12 +70,19 @@ public class XMLResultHandler extends DefaultResultHandler{
@Override
public synchronized List<Result> read() throws Exception {
+ return readFromResultFile(new File(resultFileName));
+ }
+ List<Result> readFromResultFile(File resultsFile) throws Exception {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModelResult.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
- File XMLfile = new File(resultFileName);
- List<ResultValue> resultValue = new ArrayList();
- resultValue.add(new ResultValue<>((DataModelResult) jaxbUnmarshaller.unmarshal(XMLfile)));
+ @SuppressWarnings("rawtypes")
+ List<ResultValue> resultValue = new ArrayList<>();
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(new StreamSource(resultsFile));
+ resultValue.add(new ResultValue<>(jaxbUnmarshaller.unmarshal(xmlReader)));
List<Result> results = new ArrayList<>();
results.add(new Result(ResultFileDetails.XML, null, resultValue));
return results;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
index 2f08bc0..bd17192 100644
--- a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
@@ -18,7 +18,6 @@
package org.apache.phoenix.pherf;
-import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -129,7 +128,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return resourceUrl;
}
- private List<Scenario> getScenarios() throws URISyntaxException, JAXBException{
+ private List<Scenario> getScenarios() throws Exception {
DataModel data = getDataModel();
List<Scenario> scenarioList = data.getScenarios();
assertTrue("Could not load the scenarios from xml.",
@@ -137,7 +136,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return scenarioList;
}
- private DataModel getDataModel() throws URISyntaxException, JAXBException {
+ private DataModel getDataModel() throws Exception {
Path resourcePath = Paths.get(getResourceUrl().toURI());
return XMLConfigParser.readDataModel(resourcePath);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
new file mode 100644
index 0000000..c5746f9
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.configuration.XMLConfigParser;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLConfigParserTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLConfigParserTest.class);
+
+ @Test
+ public void testDTDInScenario() throws Exception {
+ URL scenarioUrl = XMLConfigParserTest.class.getResource("/scenario/malicious_scenario_with_dtd.xml");
+ assertNotNull(scenarioUrl);
+ Path p = Paths.get(scenarioUrl.toURI());
+ try {
+ XMLConfigParser.readDataModel(p);
+ fail("The scenario should have failed to parse because it contains a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.warn("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
new file mode 100644
index 0000000..98c492f
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf.result.impl;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.net.URL;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.XMLConfigParserTest;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLResultHandlerTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLResultHandlerTest.class);
+
+ @Test
+ public void testDTDInResults() throws Exception {
+ URL resultsUrl = XMLConfigParserTest.class.getResource("/malicious_results_with_dtd.xml");
+ assertNotNull(resultsUrl);
+ File resultsFile = new File(resultsUrl.getFile());
+ XMLResultHandler handler = new XMLResultHandler();
+ try {
+ handler.readFromResultFile(resultsFile);
+ fail("Expected to see an exception parsing the results with a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.debug("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}
[8/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Posted by el...@apache.org.
PHOENIX-4188 Disable inline-DTDs in Pherf XML records
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/4004ed17
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4004ed17
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4004ed17
Branch: refs/heads/4.x-HBase-0.98
Commit: 4004ed17fd67c93e7d67f8c365740e01632597be
Parents: 3aec050
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 8 22:50:25 2017 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Tue Sep 12 13:50:53 2017 -0400
----------------------------------------------------------------------
.../config/scenario/user_defined_scenario.xml | 4 +-
phoenix-pherf/pom.xml | 4 +
.../pherf/configuration/XMLConfigParser.java | 15 +-
.../pherf/result/impl/XMLResultHandler.java | 17 +-
.../phoenix/pherf/ConfigurationParserTest.java | 5 +-
.../phoenix/pherf/XMLConfigParserTest.java | 53 ++
.../pherf/result/impl/XMLResultHandlerTest.java | 53 ++
.../resources/malicious_results_with_dtd.xml | 676 +++++++++++++++++++
.../scenario/malicious_scenario_with_dtd.xml | 48 ++
9 files changed, 863 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/config/scenario/user_defined_scenario.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/config/scenario/user_defined_scenario.xml b/phoenix-pherf/config/scenario/user_defined_scenario.xml
index e54d76a..6435e29 100644
--- a/phoenix-pherf/config/scenario/user_defined_scenario.xml
+++ b/phoenix-pherf/config/scenario/user_defined_scenario.xml
@@ -82,7 +82,7 @@
<maxValue>2019-09-15 11:00:00.000</maxValue>
</datavalue>
<datavalue distribution="10">
- <value>2019-09-19 00:01:00</value>
+ <value>2019-09-19 00:01:00.000</value>
</datavalue>
<datavalue distribution="10">
<minValue>2019-09-22 00:01:00.000</minValue>
@@ -131,4 +131,4 @@
</querySet>
</scenario>
</scenarios>
-</datamodel>
\ No newline at end of file
+</datamodel>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/pom.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 2b4641d..cd31fbd 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -219,6 +219,10 @@
<include>com.googlecode.java-diff-utils:diffutils</include>
<include>org.apache.commons:commons-lang3</include>
<include>org.apache.commons:commons-math3</include>
+ <include>commons-cli:commons-cli</include>
+ <include>joda-time:joda-time</include>
+ <include>org.apache.commons:commons-csv</include>
+ <include>commons-lang:commons-lang</include>
</includes>
</artifactSet>
<filters>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
index 93dc94c..f3ec12f 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
@@ -29,6 +29,10 @@ import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
import org.apache.phoenix.pherf.PherfConstants;
import org.apache.phoenix.pherf.exception.FileLoaderException;
@@ -108,16 +112,19 @@ public class XMLConfigParser {
* @param file Name of File
* @return {@link org.apache.phoenix.pherf.configuration.DataModel} Returns DataModel from
* XML configuration
- * @throws JAXBException
*/
// TODO Remove static calls
- public static DataModel readDataModel(Path file) throws JAXBException {
+ public static DataModel readDataModel(Path file) throws JAXBException, XMLStreamException {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModel.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
String fName = PherfConstants.RESOURCE_SCENARIO + "/" + file.getFileName().toString();
logger.info("Open config file: " + fName);
- return (DataModel) jaxbUnmarshaller
- .unmarshal(XMLConfigParser.class.getResourceAsStream(fName));
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(
+ new StreamSource(XMLConfigParser.class.getResourceAsStream(fName)));
+ return (DataModel) jaxbUnmarshaller.unmarshal(xmlReader);
}
// TODO Remove static calls
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
index 990c9be..05b5a2b 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
@@ -24,6 +24,10 @@ import org.apache.phoenix.pherf.result.file.ResultFileDetails;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
+
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -66,12 +70,19 @@ public class XMLResultHandler extends DefaultResultHandler{
@Override
public synchronized List<Result> read() throws Exception {
+ return readFromResultFile(new File(resultFileName));
+ }
+ List<Result> readFromResultFile(File resultsFile) throws Exception {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModelResult.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
- File XMLfile = new File(resultFileName);
- List<ResultValue> resultValue = new ArrayList();
- resultValue.add(new ResultValue<>((DataModelResult) jaxbUnmarshaller.unmarshal(XMLfile)));
+ @SuppressWarnings("rawtypes")
+ List<ResultValue> resultValue = new ArrayList<>();
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(new StreamSource(resultsFile));
+ resultValue.add(new ResultValue<>(jaxbUnmarshaller.unmarshal(xmlReader)));
List<Result> results = new ArrayList<>();
results.add(new Result(ResultFileDetails.XML, null, resultValue));
return results;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
index a5c908e..1f1006d 100644
--- a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
@@ -18,7 +18,6 @@
package org.apache.phoenix.pherf;
-import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -129,7 +128,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return resourceUrl;
}
- private List<Scenario> getScenarios() throws URISyntaxException, JAXBException{
+ private List<Scenario> getScenarios() throws Exception {
DataModel data = getDataModel();
List<Scenario> scenarioList = data.getScenarios();
assertTrue("Could not load the scenarios from xml.",
@@ -137,7 +136,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return scenarioList;
}
- private DataModel getDataModel() throws URISyntaxException, JAXBException {
+ private DataModel getDataModel() throws Exception {
Path resourcePath = Paths.get(getResourceUrl().toURI());
return XMLConfigParser.readDataModel(resourcePath);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
new file mode 100644
index 0000000..c5746f9
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.configuration.XMLConfigParser;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLConfigParserTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLConfigParserTest.class);
+
+ @Test
+ public void testDTDInScenario() throws Exception {
+ URL scenarioUrl = XMLConfigParserTest.class.getResource("/scenario/malicious_scenario_with_dtd.xml");
+ assertNotNull(scenarioUrl);
+ Path p = Paths.get(scenarioUrl.toURI());
+ try {
+ XMLConfigParser.readDataModel(p);
+ fail("The scenario should have failed to parse because it contains a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.warn("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4004ed17/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
new file mode 100644
index 0000000..98c492f
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf.result.impl;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.net.URL;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.XMLConfigParserTest;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLResultHandlerTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLResultHandlerTest.class);
+
+ @Test
+ public void testDTDInResults() throws Exception {
+ URL resultsUrl = XMLConfigParserTest.class.getResource("/malicious_results_with_dtd.xml");
+ assertNotNull(resultsUrl);
+ File resultsFile = new File(resultsUrl.getFile());
+ XMLResultHandler handler = new XMLResultHandler();
+ try {
+ handler.readFromResultFile(resultsFile);
+ fail("Expected to see an exception parsing the results with a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.debug("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}
[5/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Posted by el...@apache.org.
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
new file mode 100644
index 0000000..ab24c41
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
@@ -0,0 +1,676 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE dataModelResult
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<ns3:dataModelResult xmlns:ns2="org.apache.phoenix.pherf.configuration.DataModel" xmlns:ns3="org.apache.phoenix.pherf.result" zookeeper="localhost:2181/hbase" name="test_scenario">
+ <scenarioResult name="myscenario" rowCount="50" tableName="PHERF.USER_DEFINED_TEST">
+ <dataOverride>
+ <column>
+ <dataSequence>RANDOM</dataSequence>
+ <length>10</length>
+ <maxValue>-2147483648</maxValue>
+ <minValue>-2147483648</minValue>
+ <name>&name;</name>
+ <nullChance>-2147483648</nullChance>
+ <precision>-2147483648</precision>
+ <type>VARCHAR</type>
+ <useCurrentDate>false</useCurrentDate>
+ <userDefined>true</userDefined>
+ </column>
+ </dataOverride>
+ <phoenixProperties>
+ <entry>
+ <key>phoenix.schema.isNamespaceMappingEnabled</key>
+ <value>false</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.serialization</key>
+ <value>PROTOBUF</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.http.port</key>
+ <value>8765</value>
+ </entry>
+ </phoenixProperties>
+ <writeParams executionDurationInMs="9223372036854775807">
+ <batchSize>-9223372036854775808</batchSize>
+ <threadSleepDuration>-9223372036854775808</threadSleepDuration>
+ <writerThreadCount>-2147483648</writerThreadCount>
+ </writeParams>
+ <querySetResult concurrency="1-3" executionDurationInMs="5000" executionType="SERIAL" numberOfExecutions="100">
+ <queryResults expectedAggregateRowCount="50" id="q1" statement="select count(*) from PHERF.USER_DEFINED_TEST">
+ <threadTimes threadName="1,1">
+ <runTimesInMs elapsedDurationInMs="37" resultRowCount="50" startTime="2017-09-08T19:27:41.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.691-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:41.709-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.731-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.767-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.784-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:41.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:41.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.836-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.852-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.865-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.909-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.924-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.941-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.959-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.008-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.025-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.037-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.057-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.066-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.075-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.082-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.092-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.103-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.169-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.206-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.227-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.239-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.251-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.260-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.278-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.298-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.342-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.358-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.366-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.375-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.395-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.404-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.413-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.422-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.433-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.443-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.461-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.470-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.493-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.504-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.514-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.521-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.529-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.548-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.571-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.581-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.589-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.606-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.615-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.624-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.643-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.664-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.821-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.830-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.838-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.850-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.861-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,2">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.884-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.917-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:42.928-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.942-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.964-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.982-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.990-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.998-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.040-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.051-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.061-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.076-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.101-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.150-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.158-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.203-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.213-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.282-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.346-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.399-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.412-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.506-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.601-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.660-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.673-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.728-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.741-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.755-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.778-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.340-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.349-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.359-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.414-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.432-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.441-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.448-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.458-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.473-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.481-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.508-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.517-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.524-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.540-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.548-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,2">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.872-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.885-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.907-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.918-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.929-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.936-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.945-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:42.973-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:42.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="33" resultRowCount="50" startTime="2017-09-08T19:27:43.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.050-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.062-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.070-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.091-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.100-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.131-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.141-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.151-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.176-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.185-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.194-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:43.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.210-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.238-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.247-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.283-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.320-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.345-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.369-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.411-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.425-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.451-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.507-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.553-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.584-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.600-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.661-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.727-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.742-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.754-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.776-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="51" resultRowCount="50" startTime="2017-09-08T19:27:43.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.236-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.243-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.250-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.257-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.265-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.275-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.284-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.294-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:44.301-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.330-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.339-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.351-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.377-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.394-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,3">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.672-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.688-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.890-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.904-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.919-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.933-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.949-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.986-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.031-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="29" resultRowCount="50" startTime="2017-09-08T19:27:45.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.168-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:45.254-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.300-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:45.307-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:45.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.520-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.543-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.562-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.605-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.640-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.648-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.662-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.669-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.679-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.694-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.705-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.716-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.722-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.730-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.736-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.743-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.756-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.768-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.774-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.780-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.786-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.792-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.805-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.816-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.832-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,3">
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.724-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.834-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.883-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.896-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.922-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.939-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.953-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.984-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.032-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="27" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.122-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.220-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="36" resultRowCount="50" startTime="2017-09-08T19:27:45.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.299-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.089-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.097-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.106-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.113-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.119-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.144-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.160-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.166-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.183-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.199-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.207-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.244-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.322-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.397-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.403-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.426-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.463-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.477-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.502-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="3,3">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.557-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.636-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.712-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.806-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.870-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.887-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.902-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.916-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.931-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.947-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.963-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.985-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45-04:00"/>
+ <runTimesInMs elapsedDurationInMs="19" resultRowCount="50" startTime="2017-09-08T19:27:45.015-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.034-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.064-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="35" resultRowCount="50" startTime="2017-09-08T19:27:45.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.290-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="23" resultRowCount="50" startTime="2017-09-08T19:27:46.102-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:46.125-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.145-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:46.201-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.323-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.427-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.475-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.484-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.494-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.509-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.516-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.525-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.533-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.544-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.604-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ </threadTimes>
+ </queryResults>
+ </querySetResult>
+ </scenarioResult>
+</ns3:dataModelResult>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
new file mode 100644
index 0000000..e8528f3
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE datamodel
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<datamodel>
+ <datamapping>
+ <column>
+ <!-- This column type defines what will generally happen to VARCHAR fields unless they are explicitly defined or overridden elsewhere -->
+ <type>VARCHAR</type>
+ <dataSequence>RANDOM</dataSequence>
+ <length>15</length>
+ <name>&name;</name>
+ </column>
+ </datamapping>
+ <scenarios>
+ <!-- Scenario level DDL that is dynamically executed before the Write Workload is run.
+ This pattern is really useful when you want to write data to multi-tenant view and the tenant id is
+ tightly bound to the scenario. In such cases you can't create the view through the data model flow.
+ The value of the tableName attribute is name of the view that is dynamically created based on the DDL
+ in the ddl attribute. Queries accessing the View will need to manually make sure Pherf was run with the -l option at
+ least once.
+ -->
+ <scenario tableName="PHERF.TEST_MT_VIEW" tenantId="abcdefghijklmno"
+ ddl="CREATE VIEW IF NOT EXISTS PHERF.TEST_MT_VIEW (field1 VARCHAR) AS SELECT * FROM PHERF.TEST_MULTI_TENANT_TABLE"
+ rowCount="100" name="testMTDdlWriteScenario">
+ </scenario>
+
+ </scenarios>
+</datamodel>
[3/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Posted by el...@apache.org.
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
new file mode 100644
index 0000000..ab24c41
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/malicious_results_with_dtd.xml
@@ -0,0 +1,676 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE dataModelResult
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<ns3:dataModelResult xmlns:ns2="org.apache.phoenix.pherf.configuration.DataModel" xmlns:ns3="org.apache.phoenix.pherf.result" zookeeper="localhost:2181/hbase" name="test_scenario">
+ <scenarioResult name="myscenario" rowCount="50" tableName="PHERF.USER_DEFINED_TEST">
+ <dataOverride>
+ <column>
+ <dataSequence>RANDOM</dataSequence>
+ <length>10</length>
+ <maxValue>-2147483648</maxValue>
+ <minValue>-2147483648</minValue>
+ <name>&name;</name>
+ <nullChance>-2147483648</nullChance>
+ <precision>-2147483648</precision>
+ <type>VARCHAR</type>
+ <useCurrentDate>false</useCurrentDate>
+ <userDefined>true</userDefined>
+ </column>
+ </dataOverride>
+ <phoenixProperties>
+ <entry>
+ <key>phoenix.schema.isNamespaceMappingEnabled</key>
+ <value>false</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.serialization</key>
+ <value>PROTOBUF</value>
+ </entry>
+ <entry>
+ <key>phoenix.queryserver.http.port</key>
+ <value>8765</value>
+ </entry>
+ </phoenixProperties>
+ <writeParams executionDurationInMs="9223372036854775807">
+ <batchSize>-9223372036854775808</batchSize>
+ <threadSleepDuration>-9223372036854775808</threadSleepDuration>
+ <writerThreadCount>-2147483648</writerThreadCount>
+ </writeParams>
+ <querySetResult concurrency="1-3" executionDurationInMs="5000" executionType="SERIAL" numberOfExecutions="100">
+ <queryResults expectedAggregateRowCount="50" id="q1" statement="select count(*) from PHERF.USER_DEFINED_TEST">
+ <threadTimes threadName="1,1">
+ <runTimesInMs elapsedDurationInMs="37" resultRowCount="50" startTime="2017-09-08T19:27:41.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.691-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:41.709-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.731-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.767-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.784-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:41.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:41.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.836-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.852-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.865-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:41.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:41.909-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:41.924-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:41.941-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:41.959-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:41.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:41.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.008-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.025-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.037-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.057-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.066-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.075-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.082-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.092-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.103-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.169-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.206-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.227-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.239-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.251-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.260-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.278-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.298-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.342-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.358-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.366-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.375-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.395-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.404-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.413-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.422-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.433-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.443-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.461-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.470-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.493-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.504-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.514-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.521-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.529-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.548-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.571-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.581-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.589-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.606-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.615-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.624-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.643-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.664-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.671-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.821-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.830-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.838-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.850-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.861-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,2">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.884-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.917-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:42.928-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.942-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.964-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.982-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.990-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.998-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.040-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.051-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.061-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.076-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.101-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.121-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.143-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.150-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.158-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.177-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.186-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.196-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.203-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.213-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.282-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.346-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.399-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.412-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.452-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.506-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.601-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.660-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.673-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.728-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.741-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.755-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.778-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.340-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.349-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.359-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.414-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.424-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.432-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.441-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.448-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.458-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.473-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.481-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.508-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.517-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.524-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.540-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.548-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,2">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:42.872-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.885-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:42.895-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.907-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:42.918-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:42.929-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:42.936-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.945-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:42.955-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:42.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:42.973-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:42.988-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.006-04:00"/>
+ <runTimesInMs elapsedDurationInMs="33" resultRowCount="50" startTime="2017-09-08T19:27:43.017-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.050-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.062-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.070-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.091-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.100-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.112-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.131-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.141-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.151-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.165-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.176-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.185-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.194-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:43.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.210-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.217-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:43.231-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:43.238-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:43.247-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.269-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.283-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.296-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.308-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.320-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.345-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.369-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.385-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.411-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.425-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.437-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.451-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.466-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.478-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.492-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.507-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.523-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.538-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.553-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.568-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.584-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.600-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:43.631-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:43.645-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.661-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:43.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:43.697-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:43.710-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:43.727-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.742-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.754-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:43.766-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.776-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.788-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:43.800-04:00"/>
+ <runTimesInMs elapsedDurationInMs="51" resultRowCount="50" startTime="2017-09-08T19:27:43.812-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.224-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.236-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.243-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.250-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:44.257-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.265-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.275-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.284-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.294-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:44.301-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.321-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.330-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.339-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.351-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.357-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.371-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.377-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.384-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.394-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:44.401-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="1,3">
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.672-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.688-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.878-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.890-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.904-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.919-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.933-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.949-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.986-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.031-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="29" resultRowCount="50" startTime="2017-09-08T19:27:45.078-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.123-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.168-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.204-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="34" resultRowCount="50" startTime="2017-09-08T19:27:45.254-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.300-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:45.307-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:45.317-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:45.326-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.520-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.532-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.543-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.555-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.562-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.605-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.611-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.633-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.640-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.648-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.656-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.662-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.669-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.679-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.694-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.705-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.716-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.722-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.730-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.736-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.743-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.751-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.756-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.762-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.768-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.774-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.780-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.786-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.792-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.798-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.805-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.810-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.816-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.825-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.832-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="2,3">
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.556-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.635-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.686-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.699-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.711-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.724-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.807-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.834-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.871-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.883-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.896-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.908-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.922-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.939-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.953-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:44.965-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:44.975-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.984-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.001-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.016-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.032-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.063-04:00"/>
+ <runTimesInMs elapsedDurationInMs="27" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.122-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.153-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:45.220-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="36" resultRowCount="50" startTime="2017-09-08T19:27:45.252-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:45.288-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.299-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.334-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.089-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.097-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.106-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.113-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.119-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.130-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.136-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.144-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.160-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.166-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.183-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.199-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.207-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.244-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.322-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.397-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.403-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.426-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="6" resultRowCount="50" startTime="2017-09-08T19:27:46.463-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.477-04:00"/>
+ <runTimesInMs elapsedDurationInMs="5" resultRowCount="50" startTime="2017-09-08T19:27:46.482-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.488-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.495-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.502-04:00"/>
+ </threadTimes>
+ <threadTimes threadName="3,3">
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.557-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.569-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.583-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.598-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.612-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.623-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:44.636-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.657-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.674-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.687-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.700-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.712-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.725-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.737-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.749-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.761-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.777-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.793-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.806-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:44.819-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.832-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:44.847-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.859-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:44.870-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.887-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:44.902-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.916-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.931-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:44.947-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.963-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:44.974-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:44.985-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45-04:00"/>
+ <runTimesInMs elapsedDurationInMs="19" resultRowCount="50" startTime="2017-09-08T19:27:45.015-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.034-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.049-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.064-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:45.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.107-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.124-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.138-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:45.152-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.167-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.180-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:45.192-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:45.205-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:45.221-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.234-04:00"/>
+ <runTimesInMs elapsedDurationInMs="35" resultRowCount="50" startTime="2017-09-08T19:27:45.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="22" resultRowCount="50" startTime="2017-09-08T19:27:45.290-04:00"/>
+ <runTimesInMs elapsedDurationInMs="21" resultRowCount="50" startTime="2017-09-08T19:27:45.312-04:00"/>
+ <runTimesInMs elapsedDurationInMs="17" resultRowCount="50" startTime="2017-09-08T19:27:45.333-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.079-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.090-04:00"/>
+ <runTimesInMs elapsedDurationInMs="23" resultRowCount="50" startTime="2017-09-08T19:27:46.102-04:00"/>
+ <runTimesInMs elapsedDurationInMs="20" resultRowCount="50" startTime="2017-09-08T19:27:46.125-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.145-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.161-04:00"/>
+ <runTimesInMs elapsedDurationInMs="16" resultRowCount="50" startTime="2017-09-08T19:27:46.174-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.190-04:00"/>
+ <runTimesInMs elapsedDurationInMs="18" resultRowCount="50" startTime="2017-09-08T19:27:46.201-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.219-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.230-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.242-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.255-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.268-04:00"/>
+ <runTimesInMs elapsedDurationInMs="28" resultRowCount="50" startTime="2017-09-08T19:27:46.281-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.309-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.323-04:00"/>
+ <runTimesInMs elapsedDurationInMs="15" resultRowCount="50" startTime="2017-09-08T19:27:46.335-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.350-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.364-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.376-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.386-04:00"/>
+ <runTimesInMs elapsedDurationInMs="12" resultRowCount="50" startTime="2017-09-08T19:27:46.398-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.410-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.418-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.427-04:00"/>
+ <runTimesInMs elapsedDurationInMs="14" resultRowCount="50" startTime="2017-09-08T19:27:46.435-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.449-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.457-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.469-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.475-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.484-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.494-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.501-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.509-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.516-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.525-04:00"/>
+ <runTimesInMs elapsedDurationInMs="11" resultRowCount="50" startTime="2017-09-08T19:27:46.533-04:00"/>
+ <runTimesInMs elapsedDurationInMs="10" resultRowCount="50" startTime="2017-09-08T19:27:46.544-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.554-04:00"/>
+ <runTimesInMs elapsedDurationInMs="7" resultRowCount="50" startTime="2017-09-08T19:27:46.563-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.570-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.578-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.586-04:00"/>
+ <runTimesInMs elapsedDurationInMs="9" resultRowCount="50" startTime="2017-09-08T19:27:46.595-04:00"/>
+ <runTimesInMs elapsedDurationInMs="13" resultRowCount="50" startTime="2017-09-08T19:27:46.604-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.617-04:00"/>
+ <runTimesInMs elapsedDurationInMs="8" resultRowCount="50" startTime="2017-09-08T19:27:46.625-04:00"/>
+ </threadTimes>
+ </queryResults>
+ </querySetResult>
+ </scenarioResult>
+</ns3:dataModelResult>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/f8100caa/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
new file mode 100644
index 0000000..e8528f3
--- /dev/null
+++ b/phoenix-pherf/src/test/resources/scenario/malicious_scenario_with_dtd.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE datamodel
+[
+<!ENTITY name SYSTEM "/">
+]
+>
+<datamodel>
+ <datamapping>
+ <column>
+ <!-- This column type defines what will generally happen to VARCHAR fields unless they are explicitly defined or overridden elsewhere -->
+ <type>VARCHAR</type>
+ <dataSequence>RANDOM</dataSequence>
+ <length>15</length>
+ <name>&name;</name>
+ </column>
+ </datamapping>
+ <scenarios>
+ <!-- Scenario level DDL that is dynamically executed before the Write Workload is run.
+ This pattern is really useful when you want to write data to multi-tenant view and the tenant id is
+ tightly bound to the scenario. In such cases you can't create the view through the data model flow.
+ The value of the tableName attribute is name of the view that is dynamically created based on the DDL
+ in the ddl attribute. Queries accessing the View will need to manually make sure Pherf was run with the -l option at
+ least once.
+ -->
+ <scenario tableName="PHERF.TEST_MT_VIEW" tenantId="abcdefghijklmno"
+ ddl="CREATE VIEW IF NOT EXISTS PHERF.TEST_MT_VIEW (field1 VARCHAR) AS SELECT * FROM PHERF.TEST_MULTI_TENANT_TABLE"
+ rowCount="100" name="testMTDdlWriteScenario">
+ </scenario>
+
+ </scenarios>
+</datamodel>
[6/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Posted by el...@apache.org.
PHOENIX-4188 Disable inline-DTDs in Pherf XML records
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/050a3538
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/050a3538
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/050a3538
Branch: refs/heads/4.x-HBase-1.1
Commit: 050a35382fe6921e3163d4158d3306ec8964e49d
Parents: ef6e536
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 8 22:50:25 2017 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Tue Sep 12 13:45:33 2017 -0400
----------------------------------------------------------------------
.../config/scenario/user_defined_scenario.xml | 4 +-
phoenix-pherf/pom.xml | 4 +
.../pherf/configuration/XMLConfigParser.java | 15 +-
.../pherf/result/impl/XMLResultHandler.java | 17 +-
.../phoenix/pherf/ConfigurationParserTest.java | 5 +-
.../phoenix/pherf/XMLConfigParserTest.java | 53 ++
.../pherf/result/impl/XMLResultHandlerTest.java | 53 ++
.../resources/malicious_results_with_dtd.xml | 676 +++++++++++++++++++
.../scenario/malicious_scenario_with_dtd.xml | 48 ++
9 files changed, 863 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/config/scenario/user_defined_scenario.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/config/scenario/user_defined_scenario.xml b/phoenix-pherf/config/scenario/user_defined_scenario.xml
index e54d76a..6435e29 100644
--- a/phoenix-pherf/config/scenario/user_defined_scenario.xml
+++ b/phoenix-pherf/config/scenario/user_defined_scenario.xml
@@ -82,7 +82,7 @@
<maxValue>2019-09-15 11:00:00.000</maxValue>
</datavalue>
<datavalue distribution="10">
- <value>2019-09-19 00:01:00</value>
+ <value>2019-09-19 00:01:00.000</value>
</datavalue>
<datavalue distribution="10">
<minValue>2019-09-22 00:01:00.000</minValue>
@@ -131,4 +131,4 @@
</querySet>
</scenario>
</scenarios>
-</datamodel>
\ No newline at end of file
+</datamodel>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/pom.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 1c38768..4d0ed15 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -219,6 +219,10 @@
<include>com.googlecode.java-diff-utils:diffutils</include>
<include>org.apache.commons:commons-lang3</include>
<include>org.apache.commons:commons-math3</include>
+ <include>commons-cli:commons-cli</include>
+ <include>joda-time:joda-time</include>
+ <include>org.apache.commons:commons-csv</include>
+ <include>commons-lang:commons-lang</include>
</includes>
</artifactSet>
<filters>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
index 93dc94c..f3ec12f 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
@@ -29,6 +29,10 @@ import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
import org.apache.phoenix.pherf.PherfConstants;
import org.apache.phoenix.pherf.exception.FileLoaderException;
@@ -108,16 +112,19 @@ public class XMLConfigParser {
* @param file Name of File
* @return {@link org.apache.phoenix.pherf.configuration.DataModel} Returns DataModel from
* XML configuration
- * @throws JAXBException
*/
// TODO Remove static calls
- public static DataModel readDataModel(Path file) throws JAXBException {
+ public static DataModel readDataModel(Path file) throws JAXBException, XMLStreamException {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModel.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
String fName = PherfConstants.RESOURCE_SCENARIO + "/" + file.getFileName().toString();
logger.info("Open config file: " + fName);
- return (DataModel) jaxbUnmarshaller
- .unmarshal(XMLConfigParser.class.getResourceAsStream(fName));
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(
+ new StreamSource(XMLConfigParser.class.getResourceAsStream(fName)));
+ return (DataModel) jaxbUnmarshaller.unmarshal(xmlReader);
}
// TODO Remove static calls
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
index 990c9be..05b5a2b 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
@@ -24,6 +24,10 @@ import org.apache.phoenix.pherf.result.file.ResultFileDetails;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
+
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -66,12 +70,19 @@ public class XMLResultHandler extends DefaultResultHandler{
@Override
public synchronized List<Result> read() throws Exception {
+ return readFromResultFile(new File(resultFileName));
+ }
+ List<Result> readFromResultFile(File resultsFile) throws Exception {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModelResult.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
- File XMLfile = new File(resultFileName);
- List<ResultValue> resultValue = new ArrayList();
- resultValue.add(new ResultValue<>((DataModelResult) jaxbUnmarshaller.unmarshal(XMLfile)));
+ @SuppressWarnings("rawtypes")
+ List<ResultValue> resultValue = new ArrayList<>();
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(new StreamSource(resultsFile));
+ resultValue.add(new ResultValue<>(jaxbUnmarshaller.unmarshal(xmlReader)));
List<Result> results = new ArrayList<>();
results.add(new Result(ResultFileDetails.XML, null, resultValue));
return results;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
index a5c908e..1f1006d 100644
--- a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
@@ -18,7 +18,6 @@
package org.apache.phoenix.pherf;
-import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -129,7 +128,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return resourceUrl;
}
- private List<Scenario> getScenarios() throws URISyntaxException, JAXBException{
+ private List<Scenario> getScenarios() throws Exception {
DataModel data = getDataModel();
List<Scenario> scenarioList = data.getScenarios();
assertTrue("Could not load the scenarios from xml.",
@@ -137,7 +136,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return scenarioList;
}
- private DataModel getDataModel() throws URISyntaxException, JAXBException {
+ private DataModel getDataModel() throws Exception {
Path resourcePath = Paths.get(getResourceUrl().toURI());
return XMLConfigParser.readDataModel(resourcePath);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
new file mode 100644
index 0000000..c5746f9
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.configuration.XMLConfigParser;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLConfigParserTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLConfigParserTest.class);
+
+ @Test
+ public void testDTDInScenario() throws Exception {
+ URL scenarioUrl = XMLConfigParserTest.class.getResource("/scenario/malicious_scenario_with_dtd.xml");
+ assertNotNull(scenarioUrl);
+ Path p = Paths.get(scenarioUrl.toURI());
+ try {
+ XMLConfigParser.readDataModel(p);
+ fail("The scenario should have failed to parse because it contains a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.warn("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/050a3538/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
new file mode 100644
index 0000000..98c492f
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf.result.impl;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.net.URL;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.XMLConfigParserTest;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLResultHandlerTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLResultHandlerTest.class);
+
+ @Test
+ public void testDTDInResults() throws Exception {
+ URL resultsUrl = XMLConfigParserTest.class.getResource("/malicious_results_with_dtd.xml");
+ assertNotNull(resultsUrl);
+ File resultsFile = new File(resultsUrl.getFile());
+ XMLResultHandler handler = new XMLResultHandler();
+ try {
+ handler.readFromResultFile(resultsFile);
+ fail("Expected to see an exception parsing the results with a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.debug("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}
[2/8] phoenix git commit: PHOENIX-4188 Disable inline-DTDs in Pherf
XML records
Posted by el...@apache.org.
PHOENIX-4188 Disable inline-DTDs in Pherf XML records
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/4ee35057
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4ee35057
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4ee35057
Branch: refs/heads/master
Commit: 4ee35057c6a63c347f959361338b517d4f5b38c4
Parents: 1d4025a
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 8 22:50:25 2017 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Tue Sep 12 13:28:33 2017 -0400
----------------------------------------------------------------------
.../config/scenario/user_defined_scenario.xml | 4 +-
phoenix-pherf/pom.xml | 4 +
.../pherf/configuration/XMLConfigParser.java | 15 +-
.../pherf/result/impl/XMLResultHandler.java | 17 +-
.../phoenix/pherf/ConfigurationParserTest.java | 5 +-
.../phoenix/pherf/XMLConfigParserTest.java | 53 ++
.../pherf/result/impl/XMLResultHandlerTest.java | 53 ++
.../resources/malicious_results_with_dtd.xml | 676 +++++++++++++++++++
.../scenario/malicious_scenario_with_dtd.xml | 48 ++
9 files changed, 863 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/config/scenario/user_defined_scenario.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/config/scenario/user_defined_scenario.xml b/phoenix-pherf/config/scenario/user_defined_scenario.xml
index e54d76a..6435e29 100644
--- a/phoenix-pherf/config/scenario/user_defined_scenario.xml
+++ b/phoenix-pherf/config/scenario/user_defined_scenario.xml
@@ -82,7 +82,7 @@
<maxValue>2019-09-15 11:00:00.000</maxValue>
</datavalue>
<datavalue distribution="10">
- <value>2019-09-19 00:01:00</value>
+ <value>2019-09-19 00:01:00.000</value>
</datavalue>
<datavalue distribution="10">
<minValue>2019-09-22 00:01:00.000</minValue>
@@ -131,4 +131,4 @@
</querySet>
</scenario>
</scenarios>
-</datamodel>
\ No newline at end of file
+</datamodel>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/pom.xml
----------------------------------------------------------------------
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 029ec6c..f65f026 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -219,6 +219,10 @@
<include>com.googlecode.java-diff-utils:diffutils</include>
<include>org.apache.commons:commons-lang3</include>
<include>org.apache.commons:commons-math3</include>
+ <include>commons-cli:commons-cli</include>
+ <include>joda-time:joda-time</include>
+ <include>org.apache.commons:commons-csv</include>
+ <include>commons-lang:commons-lang</include>
</includes>
</artifactSet>
<filters>
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
index 93dc94c..f3ec12f 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
@@ -29,6 +29,10 @@ import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
import org.apache.phoenix.pherf.PherfConstants;
import org.apache.phoenix.pherf.exception.FileLoaderException;
@@ -108,16 +112,19 @@ public class XMLConfigParser {
* @param file Name of File
* @return {@link org.apache.phoenix.pherf.configuration.DataModel} Returns DataModel from
* XML configuration
- * @throws JAXBException
*/
// TODO Remove static calls
- public static DataModel readDataModel(Path file) throws JAXBException {
+ public static DataModel readDataModel(Path file) throws JAXBException, XMLStreamException {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModel.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
String fName = PherfConstants.RESOURCE_SCENARIO + "/" + file.getFileName().toString();
logger.info("Open config file: " + fName);
- return (DataModel) jaxbUnmarshaller
- .unmarshal(XMLConfigParser.class.getResourceAsStream(fName));
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(
+ new StreamSource(XMLConfigParser.class.getResourceAsStream(fName)));
+ return (DataModel) jaxbUnmarshaller.unmarshal(xmlReader);
}
// TODO Remove static calls
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
index 990c9be..05b5a2b 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/impl/XMLResultHandler.java
@@ -24,6 +24,10 @@ import org.apache.phoenix.pherf.result.file.ResultFileDetails;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.stream.StreamSource;
+
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -66,12 +70,19 @@ public class XMLResultHandler extends DefaultResultHandler{
@Override
public synchronized List<Result> read() throws Exception {
+ return readFromResultFile(new File(resultFileName));
+ }
+ List<Result> readFromResultFile(File resultsFile) throws Exception {
+ XMLInputFactory xif = XMLInputFactory.newFactory();
+ xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
JAXBContext jaxbContext = JAXBContext.newInstance(DataModelResult.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
- File XMLfile = new File(resultFileName);
- List<ResultValue> resultValue = new ArrayList();
- resultValue.add(new ResultValue<>((DataModelResult) jaxbUnmarshaller.unmarshal(XMLfile)));
+ @SuppressWarnings("rawtypes")
+ List<ResultValue> resultValue = new ArrayList<>();
+ XMLStreamReader xmlReader = xif.createXMLStreamReader(new StreamSource(resultsFile));
+ resultValue.add(new ResultValue<>(jaxbUnmarshaller.unmarshal(xmlReader)));
List<Result> results = new ArrayList<>();
results.add(new Result(ResultFileDetails.XML, null, resultValue));
return results;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
index a5c908e..1f1006d 100644
--- a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ConfigurationParserTest.java
@@ -18,7 +18,6 @@
package org.apache.phoenix.pherf;
-import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -129,7 +128,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return resourceUrl;
}
- private List<Scenario> getScenarios() throws URISyntaxException, JAXBException{
+ private List<Scenario> getScenarios() throws Exception {
DataModel data = getDataModel();
List<Scenario> scenarioList = data.getScenarios();
assertTrue("Could not load the scenarios from xml.",
@@ -137,7 +136,7 @@ public class ConfigurationParserTest extends ResultBaseTest {
return scenarioList;
}
- private DataModel getDataModel() throws URISyntaxException, JAXBException {
+ private DataModel getDataModel() throws Exception {
Path resourcePath = Paths.get(getResourceUrl().toURI());
return XMLConfigParser.readDataModel(resourcePath);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
new file mode 100644
index 0000000..c5746f9
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/XMLConfigParserTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.configuration.XMLConfigParser;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLConfigParserTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLConfigParserTest.class);
+
+ @Test
+ public void testDTDInScenario() throws Exception {
+ URL scenarioUrl = XMLConfigParserTest.class.getResource("/scenario/malicious_scenario_with_dtd.xml");
+ assertNotNull(scenarioUrl);
+ Path p = Paths.get(scenarioUrl.toURI());
+ try {
+ XMLConfigParser.readDataModel(p);
+ fail("The scenario should have failed to parse because it contains a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.warn("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ee35057/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
new file mode 100644
index 0000000..98c492f
--- /dev/null
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/result/impl/XMLResultHandlerTest.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.pherf.result.impl;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.net.URL;
+
+import javax.xml.bind.UnmarshalException;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.phoenix.pherf.XMLConfigParserTest;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XMLResultHandlerTest {
+ private static final Logger LOG = LoggerFactory.getLogger(XMLResultHandlerTest.class);
+
+ @Test
+ public void testDTDInResults() throws Exception {
+ URL resultsUrl = XMLConfigParserTest.class.getResource("/malicious_results_with_dtd.xml");
+ assertNotNull(resultsUrl);
+ File resultsFile = new File(resultsUrl.getFile());
+ XMLResultHandler handler = new XMLResultHandler();
+ try {
+ handler.readFromResultFile(resultsFile);
+ fail("Expected to see an exception parsing the results with a DTD");
+ } catch (UnmarshalException e) {
+ // If we don't parse the DTD, the variable 'name' won't be defined in the XML
+ LOG.debug("Caught expected exception", e);
+ Throwable cause = e.getLinkedException();
+ assertTrue("Cause was a " + cause.getClass(), cause instanceof XMLStreamException);
+ }
+ }
+}