This is an automated email from the ASF dual-hosted git repository.

vogievetsky pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new acb09ff18b grab warnings from correct key + test (#12977)
acb09ff18b is described below

commit acb09ff18bc36bcc474da22f313d665d31ae1907
Author: Vadim Ogievetsky <[email protected]>
AuthorDate: Thu Aug 25 18:47:33 2022 -0700

    grab warnings from correct key + test (#12977)
---
 .../execution/execution-ingest-complete.mock.ts    |    1 +
 .../execution/execution-ingest-error.mock.ts       |  133 +-
 .../src/druid-models/execution/execution.ts        |    4 +-
 .../execution-details-pane.spec.tsx.snap           | 2154 ++++++++++++++++++++
 .../execution-details-pane.spec.tsx                |   46 +
 .../execution-error-pane.spec.tsx.snap             |   14 +-
 .../workbench-view/helper-query/helper-query.tsx   |    2 +-
 .../ingest-success-pane/ingest-success-pane.tsx    |   17 +-
 .../views/workbench-view/query-tab/query-tab.tsx   |    2 +-
 9 files changed, 2323 insertions(+), 50 deletions(-)

diff --git 
a/web-console/src/druid-models/execution/execution-ingest-complete.mock.ts 
b/web-console/src/druid-models/execution/execution-ingest-complete.mock.ts
index b40d9ab0ec..f9659c6155 100644
--- a/web-console/src/druid-models/execution/execution-ingest-complete.mock.ts
+++ b/web-console/src/druid-models/execution/execution-ingest-complete.mock.ts
@@ -123,6 +123,7 @@ export const EXECUTION_INGEST_COMPLETE = 
Execution.fromTaskPayloadAndReport(
 
   {
     multiStageQuery: {
+      type: 'multiStageQuery',
       taskId: 'query-32ced762-7679-4a25-9220-3915c5976961',
       payload: {
         status: { status: 'SUCCESS', startTime: '2022-08-22T20:12:51.391Z', 
durationMs: 25097 },
diff --git 
a/web-console/src/druid-models/execution/execution-ingest-error.mock.ts 
b/web-console/src/druid-models/execution/execution-ingest-error.mock.ts
index b19e9f4549..ae1c859071 100644
--- a/web-console/src/druid-models/execution/execution-ingest-error.mock.ts
+++ b/web-console/src/druid-models/execution/execution-ingest-error.mock.ts
@@ -19,26 +19,32 @@
 import { Execution } from './execution';
 
 /*
-For query:
+===== Query =====
 
 REPLACE INTO "kttm_simple" OVERWRITE ALL
 SELECT TIME_PARSE("timestamp") AS "__time", agent_type
 FROM TABLE(
   EXTERN(
-    
'{"type":"http","uris":["https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_"]}',
+    
'{"type":"http","uris":["https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz"]}',
     '{"type":"json"}',
     
'[{"name":"timestamp","type":"string"},{"name":"agent_type","type":"string"}]'
   )
 )
 PARTITIONED BY ALL
+
+===== Context =====
+
+{
+  "maxParseExceptions": 10
+}
 */
 
 export const EXECUTION_INGEST_ERROR = Execution.fromTaskPayloadAndReport(
   {
-    task: 'query-0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+    task: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
     payload: {
       type: 'query_controller',
-      id: 'query-0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+      id: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
       spec: {
         query: {
           queryType: 'scan',
@@ -46,7 +52,7 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
             type: 'external',
             inputSource: {
               type: 'http',
-              uris: 
['https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_'],
+              uris: 
['https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz'],
               httpAuthenticationUsername: null,
               httpAuthenticationPassword: null,
             },
@@ -80,9 +86,10 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
             finalize: false,
             finalizeAggregations: false,
             groupByEnableMultiValueUnnesting: false,
+            maxParseExceptions: 10,
             scanSignature: 
'[{"name":"agent_type","type":"STRING"},{"name":"v0","type":"LONG"}]',
             sqlInsertSegmentGranularity: '{"type":"all"}',
-            sqlQueryId: '0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+            sqlQueryId: 'c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
             sqlReplaceTimeChunks: 'all',
           },
           granularity: { type: 'all' },
@@ -101,21 +108,21 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
         tuningConfig: { maxNumWorkers: 1, maxRowsInMemory: 100000, 
rowsPerSegment: 3000000 },
       },
       sqlQuery:
-        'REPLACE INTO "kttm_simple" OVERWRITE ALL\nSELECT 
TIME_PARSE("timestamp") AS "__time", agent_type\nFROM TABLE(\n  EXTERN(\n    
\'{"type":"http","uris":["https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_"]}\',\n
    \'{"type":"json"}\',\n    
\'[{"name":"timestamp","type":"string"},{"name":"agent_type","type":"string"}]\'\n
  )\n)\nPARTITIONED BY ALL',
+        'REPLACE INTO "kttm_simple" OVERWRITE ALL\nSELECT 
TIME_PARSE("timestamp") AS "__time", agent_type\nFROM TABLE(\n  EXTERN(\n    
\'{"type":"http","uris":["https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz"]}\',\n
    \'{"type":"json"}\',\n    
\'[{"name":"timestamp","type":"string"},{"name":"agent_type","type":"string"}]\'\n
  )\n)\nPARTITIONED BY ALL',
       sqlQueryContext: {
         finalizeAggregations: false,
         groupByEnableMultiValueUnnesting: false,
-        maxParseExceptions: 0,
+        maxParseExceptions: 10,
         sqlInsertSegmentGranularity: '{"type":"all"}',
-        sqlQueryId: '0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+        sqlQueryId: 'c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
         sqlReplaceTimeChunks: 'all',
       },
       sqlTypeNames: ['TIMESTAMP', 'VARCHAR'],
       context: { forceTimeChunkLock: true, useLineageBasedSegmentAllocation: 
true },
-      groupId: 'query-0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+      groupId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
       dataSource: 'kttm_simple',
       resource: {
-        availabilityGroup: 'query-0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+        availabilityGroup: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
         requiredCapacity: 1,
       },
     },
@@ -123,40 +130,98 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
 
   {
     multiStageQuery: {
-      taskId: 'query-0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+      type: 'multiStageQuery',
+      taskId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
       payload: {
         status: {
           status: 'FAILED',
           errorReport: {
-            taskId: 'query-0cf1a40a-aaef-4d17-bda4-5afa7edf07e7-worker0',
-            host: 'localhost:8101',
-            stageNumber: 0,
+            taskId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
+            host: 'localhost',
             error: {
-              errorCode: 'UnknownError',
-              message:
-                'java.lang.RuntimeException: java.lang.RuntimeException: Error 
occured while trying to read uri: 
https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_',
+              errorCode: 'TooManyWarnings',
+              maxWarnings: 10,
+              rootErrorCode: 'CannotParseExternalData',
               errorMessage:
-                'java.lang.RuntimeException: java.lang.RuntimeException: Error 
occured while trying to read uri: 
https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_',
+                'Too many warnings of type CannotParseExternalData generated 
(max = 10)',
             },
-            exceptionStackTrace:
-              'java.lang.RuntimeException: java.lang.RuntimeException: Error 
occured while trying to read uri: 
https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_\n\tat 
org.apache.druid.java.util.common.Either.valueOrThrow(Either.java:91)\n\tat 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:258)\n\tat
 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecu
 [...]
           },
-          startTime: '2022-08-22T20:15:04.783Z',
-          durationMs: 18297,
+          warnings: [
+            {
+              taskId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0',
+              host: 'localhost:8101',
+              stageNumber: 0,
+              error: {
+                errorCode: 'CannotParseExternalData',
+                errorMessage:
+                  'Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
13588, Line: 13588)',
+              },
+              exceptionStackTrace:
+                'org.apache.druid.java.util.common.parsers.ParseException: 
Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
13588, Line: 13588)\n\tat 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)\n\tat
 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)\n\tat
 org.apache.druid.java.util.common.parsers.CloseableI [...]
+            },
+            {
+              taskId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0',
+              host: 'localhost:8101',
+              stageNumber: 0,
+              error: {
+                errorCode: 'CannotParseExternalData',
+                errorMessage:
+                  'Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
27029, Line: 27030)',
+              },
+              exceptionStackTrace:
+                'org.apache.druid.java.util.common.parsers.ParseException: 
Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
27029, Line: 27030)\n\tat 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)\n\tat
 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)\n\tat
 org.apache.druid.java.util.common.parsers.CloseableI [...]
+            },
+            {
+              taskId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0',
+              host: 'localhost:8101',
+              stageNumber: 0,
+              error: {
+                errorCode: 'CannotParseExternalData',
+                errorMessage:
+                  'Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
42034, Line: 42036)',
+              },
+              exceptionStackTrace:
+                'org.apache.druid.java.util.common.parsers.ParseException: 
Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
42034, Line: 42036)\n\tat 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)\n\tat
 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)\n\tat
 org.apache.druid.java.util.common.parsers.CloseableI [...]
+            },
+            {
+              taskId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0',
+              host: 'localhost:8101',
+              stageNumber: 0,
+              error: {
+                errorCode: 'CannotParseExternalData',
+                errorMessage:
+                  'Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
54912, Line: 54915)',
+              },
+              exceptionStackTrace:
+                'org.apache.druid.java.util.common.parsers.ParseException: 
Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
54912, Line: 54915)\n\tat 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)\n\tat
 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)\n\tat
 org.apache.druid.java.util.common.parsers.CloseableI [...]
+            },
+            {
+              taskId: 'query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0',
+              host: 'localhost:8101',
+              stageNumber: 0,
+              error: {
+                errorCode: 'CannotParseExternalData',
+                errorMessage:
+                  'Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
63995, Line: 63999)',
+              },
+              exceptionStackTrace:
+                'org.apache.druid.java.util.common.parsers.ParseException: 
Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
63995, Line: 63999)\n\tat 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)\n\tat
 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)\n\tat
 org.apache.druid.java.util.common.parsers.CloseableI [...]
+            },
+          ],
+          startTime: '2022-08-25T18:00:03.140Z',
+          durationMs: 20813,
         },
         stages: [
           {
             stageNumber: 0,
             definition: {
-              id: '36d4ec93-9367-419f-91c5-68aeaaab2397_0',
+              id: '47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_0',
               input: [
                 {
                   type: 'external',
                   inputSource: {
                     type: 'http',
-                    uris: [
-                      
'https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_',
-                    ],
+                    uris: 
['https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz'],
                     httpAuthenticationUsername: null,
                     httpAuthenticationPassword: null,
                   },
@@ -197,10 +262,11 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
                     finalize: false,
                     finalizeAggregations: false,
                     groupByEnableMultiValueUnnesting: false,
+                    maxParseExceptions: 10,
                     scanSignature:
                       
'[{"name":"agent_type","type":"STRING"},{"name":"v0","type":"LONG"}]',
                     sqlInsertSegmentGranularity: '{"type":"all"}',
-                    sqlQueryId: '0cf1a40a-aaef-4d17-bda4-5afa7edf07e7',
+                    sqlQueryId: 'c6bffa9d-43c4-45a0-95f8-0c8c453655fb',
                     sqlReplaceTimeChunks: 'all',
                   },
                   granularity: { type: 'all' },
@@ -219,15 +285,16 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
               maxWorkerCount: 1,
               shuffleCheckHasMultipleValues: true,
             },
+            phase: 'FAILED',
             workerCount: 1,
-            startTime: '2022-08-22T20:15:07.190Z',
-            duration: 15890,
+            startTime: '2022-08-25T18:00:05.539Z',
+            duration: 18414,
             sort: true,
           },
           {
             stageNumber: 1,
             definition: {
-              id: '36d4ec93-9367-419f-91c5-68aeaaab2397_1',
+              id: '47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_1',
               input: [{ type: 'stage', stage: 0 }],
               processor: {
                 type: 'segmentGenerator',
@@ -273,7 +340,8 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
         counters: {
           '0': {
             '0': {
-              input0: { type: 'channel', totalFiles: [1] },
+              input0: { type: 'channel', rows: [200322], totalFiles: [1] },
+              output: { type: 'channel', rows: [141660], bytes: [7685544], 
frames: [1] },
               sortProgress: {
                 type: 'sortProgress',
                 totalMergingLevels: -1,
@@ -281,6 +349,7 @@ export const EXECUTION_INGEST_ERROR = 
Execution.fromTaskPayloadAndReport(
                 levelToMergedBatches: {},
                 totalMergersForUltimateLevel: -1,
               },
+              warnings: { type: 'warnings', CannotParseExternalData: 17 },
             },
           },
         },
diff --git a/web-console/src/druid-models/execution/execution.ts 
b/web-console/src/druid-models/execution/execution.ts
index 5aeeb47a2a..0c92cd9851 100644
--- a/web-console/src/druid-models/execution/execution.ts
+++ b/web-console/src/druid-models/execution/execution.ts
@@ -211,14 +211,14 @@ export class Execution {
   static fromTaskPayloadAndReport(
     taskPayload: { payload: any; task: string },
     taskReport: {
-      multiStageQuery: { payload: any; taskId: string };
+      multiStageQuery: { type: string; payload: any; taskId: string };
       error?: any;
     },
   ): Execution {
     // Must have status set for a valid report
     const id = deepGet(taskReport, 'multiStageQuery.taskId');
     const status = deepGet(taskReport, 
'multiStageQuery.payload.status.status');
-    const warnings = deepGet(taskReport, 
'multiStageQuery.payload.status.warningReports');
+    const warnings = deepGet(taskReport, 
'multiStageQuery.payload.status.warnings');
 
     if (typeof id !== 'string' || !Execution.validTaskStatus(status)) {
       throw new Error('Invalid payload');
diff --git 
a/web-console/src/views/workbench-view/execution-details-pane/__snapshots__/execution-details-pane.spec.tsx.snap
 
b/web-console/src/views/workbench-view/execution-details-pane/__snapshots__/execution-details-pane.spec.tsx.snap
new file mode 100644
index 0000000000..8fb7fd8161
--- /dev/null
+++ 
b/web-console/src/views/workbench-view/execution-details-pane/__snapshots__/execution-details-pane.spec.tsx.snap
@@ -0,0 +1,2154 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`ExecutionDetailsPane matches snapshot no init tab 1`] = `
+<Memo(FancyTabPane)
+  activeTab="general"
+  className="execution-details-pane"
+  onActivateTab={[Function]}
+  tabs={
+    Array [
+      Object {
+        "icon": "many-to-one",
+        "id": "general",
+        "label": "General",
+      },
+      Object {
+        "icon": "application",
+        "id": "sql",
+        "label": "SQL query",
+      },
+      Object {
+        "icon": "cog",
+        "id": "native",
+        "label": "Native query",
+      },
+      undefined,
+      Object {
+        "icon": "error",
+        "id": "error",
+        "label": "Error",
+      },
+      Object {
+        "icon": "warning-sign",
+        "id": "warnings",
+        "label": "Warnings",
+      },
+    ]
+  }
+>
+  <div>
+    <p>
+      General info for query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb ingesting 
into "kttm_simple"
+    </p>
+    <Memo(ExecutionErrorPane)
+      execution={
+        Execution {
+          "_payload": Object {
+            "payload": Object {
+              "context": Object {
+                "forceTimeChunkLock": true,
+                "useLineageBasedSegmentAllocation": true,
+              },
+              "dataSource": "kttm_simple",
+              "groupId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "id": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "resource": Object {
+                "availabilityGroup": 
"query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                "requiredCapacity": 1,
+              },
+              "spec": Object {
+                "assignmentStrategy": "max",
+                "columnMappings": Array [
+                  Object {
+                    "outputColumn": "__time",
+                    "queryColumn": "v0",
+                  },
+                  Object {
+                    "outputColumn": "agent_type",
+                    "queryColumn": "agent_type",
+                  },
+                ],
+                "destination": Object {
+                  "dataSource": "kttm_simple",
+                  "replaceTimeChunks": Array [
+                    
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                  ],
+                  "segmentGranularity": Object {
+                    "type": "all",
+                  },
+                  "type": "dataSource",
+                },
+                "query": Object {
+                  "columns": Array [
+                    "agent_type",
+                    "v0",
+                  ],
+                  "context": Object {
+                    "finalize": false,
+                    "finalizeAggregations": false,
+                    "groupByEnableMultiValueUnnesting": false,
+                    "maxParseExceptions": 10,
+                    "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+                    "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+                    "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                    "sqlReplaceTimeChunks": "all",
+                  },
+                  "dataSource": Object {
+                    "inputFormat": Object {
+                      "featureSpec": Object {},
+                      "flattenSpec": null,
+                      "keepNullColumns": false,
+                      "type": "json",
+                    },
+                    "inputSource": Object {
+                      "httpAuthenticationPassword": null,
+                      "httpAuthenticationUsername": null,
+                      "type": "http",
+                      "uris": Array [
+                        
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                      ],
+                    },
+                    "signature": Array [
+                      Object {
+                        "name": "timestamp",
+                        "type": "STRING",
+                      },
+                      Object {
+                        "name": "agent_type",
+                        "type": "STRING",
+                      },
+                    ],
+                    "type": "external",
+                  },
+                  "granularity": Object {
+                    "type": "all",
+                  },
+                  "intervals": Object {
+                    "intervals": Array [
+                      
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                    ],
+                    "type": "intervals",
+                  },
+                  "legacy": false,
+                  "queryType": "scan",
+                  "resultFormat": "compactedList",
+                  "virtualColumns": Array [
+                    Object {
+                      "expression": 
"timestamp_parse(\\"timestamp\\",null,'UTC')",
+                      "name": "v0",
+                      "outputType": "LONG",
+                      "type": "expression",
+                    },
+                  ],
+                },
+                "tuningConfig": Object {
+                  "maxNumWorkers": 1,
+                  "maxRowsInMemory": 100000,
+                  "rowsPerSegment": 3000000,
+                },
+              },
+              "sqlQuery": "REPLACE INTO \\"kttm_simple\\" OVERWRITE ALL
+SELECT TIME_PARSE(\\"timestamp\\") AS \\"__time\\", agent_type
+FROM TABLE(
+  EXTERN(
+    
'{\\"type\\":\\"http\\",\\"uris\\":[\\"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz\\"]}',
+    '{\\"type\\":\\"json\\"}',
+    
'[{\\"name\\":\\"timestamp\\",\\"type\\":\\"string\\"},{\\"name\\":\\"agent_type\\",\\"type\\":\\"string\\"}]'
+  )
+)
+PARTITIONED BY ALL",
+              "sqlQueryContext": Object {
+                "finalizeAggregations": false,
+                "groupByEnableMultiValueUnnesting": false,
+                "maxParseExceptions": 10,
+                "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+                "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                "sqlReplaceTimeChunks": "all",
+              },
+              "sqlTypeNames": Array [
+                "TIMESTAMP",
+                "VARCHAR",
+              ],
+              "type": "query_controller",
+            },
+            "task": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+          },
+          "destination": Object {
+            "dataSource": "kttm_simple",
+            "replaceTimeChunks": Array [
+              "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+            ],
+            "segmentGranularity": Object {
+              "type": "all",
+            },
+            "type": "dataSource",
+          },
+          "duration": 20813,
+          "engine": "sql-msq-task",
+          "error": Object {
+            "error": Object {
+              "errorCode": "TooManyWarnings",
+              "errorMessage": "Too many warnings of type 
CannotParseExternalData generated (max = 10)",
+              "maxWarnings": 10,
+              "rootErrorCode": "CannotParseExternalData",
+            },
+            "host": "localhost",
+            "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+          },
+          "id": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+          "nativeQuery": Object {
+            "columns": Array [
+              "agent_type",
+              "v0",
+            ],
+            "context": Object {
+              "finalize": false,
+              "finalizeAggregations": false,
+              "groupByEnableMultiValueUnnesting": false,
+              "maxParseExceptions": 10,
+              "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+              "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+              "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "sqlReplaceTimeChunks": "all",
+            },
+            "dataSource": Object {
+              "inputFormat": Object {
+                "featureSpec": Object {},
+                "flattenSpec": null,
+                "keepNullColumns": false,
+                "type": "json",
+              },
+              "inputSource": Object {
+                "httpAuthenticationPassword": null,
+                "httpAuthenticationUsername": null,
+                "type": "http",
+                "uris": Array [
+                  
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                ],
+              },
+              "signature": Array [
+                Object {
+                  "name": "timestamp",
+                  "type": "STRING",
+                },
+                Object {
+                  "name": "agent_type",
+                  "type": "STRING",
+                },
+              ],
+              "type": "external",
+            },
+            "granularity": Object {
+              "type": "all",
+            },
+            "intervals": Object {
+              "intervals": Array [
+                "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+              ],
+              "type": "intervals",
+            },
+            "legacy": false,
+            "queryType": "scan",
+            "resultFormat": "compactedList",
+            "virtualColumns": Array [
+              Object {
+                "expression": "timestamp_parse(\\"timestamp\\",null,'UTC')",
+                "name": "v0",
+                "outputType": "LONG",
+                "type": "expression",
+              },
+            ],
+          },
+          "queryContext": Object {
+            "finalizeAggregations": false,
+            "groupByEnableMultiValueUnnesting": false,
+            "maxParseExceptions": 10,
+          },
+          "result": undefined,
+          "sqlQuery": "REPLACE INTO \\"kttm_simple\\" OVERWRITE ALL
+SELECT TIME_PARSE(\\"timestamp\\") AS \\"__time\\", agent_type
+FROM TABLE(
+  EXTERN(
+    
'{\\"type\\":\\"http\\",\\"uris\\":[\\"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz\\"]}',
+    '{\\"type\\":\\"json\\"}',
+    
'[{\\"name\\":\\"timestamp\\",\\"type\\":\\"string\\"},{\\"name\\":\\"agent_type\\",\\"type\\":\\"string\\"}]'
+  )
+)
+PARTITIONED BY ALL",
+          "stages": Stages {
+            "counters": Object {
+              "0": Object {
+                "0": Object {
+                  "input0": Object {
+                    "rows": Array [
+                      200322,
+                    ],
+                    "totalFiles": Array [
+                      1,
+                    ],
+                    "type": "channel",
+                  },
+                  "output": Object {
+                    "bytes": Array [
+                      7685544,
+                    ],
+                    "frames": Array [
+                      1,
+                    ],
+                    "rows": Array [
+                      141660,
+                    ],
+                    "type": "channel",
+                  },
+                  "sortProgress": Object {
+                    "levelToMergedBatches": Object {},
+                    "levelToTotalBatches": Object {},
+                    "totalMergersForUltimateLevel": -1,
+                    "totalMergingLevels": -1,
+                    "type": "sortProgress",
+                  },
+                  "warnings": Object {
+                    "CannotParseExternalData": 17,
+                    "type": "warnings",
+                  },
+                },
+              },
+            },
+            "stages": Array [
+              Object {
+                "definition": Object {
+                  "id": "47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_0",
+                  "input": Array [
+                    Object {
+                      "inputFormat": Object {
+                        "featureSpec": Object {},
+                        "flattenSpec": null,
+                        "keepNullColumns": false,
+                        "type": "json",
+                      },
+                      "inputSource": Object {
+                        "httpAuthenticationPassword": null,
+                        "httpAuthenticationUsername": null,
+                        "type": "http",
+                        "uris": Array [
+                          
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                        ],
+                      },
+                      "signature": Array [
+                        Object {
+                          "name": "timestamp",
+                          "type": "STRING",
+                        },
+                        Object {
+                          "name": "agent_type",
+                          "type": "STRING",
+                        },
+                      ],
+                      "type": "external",
+                    },
+                  ],
+                  "maxWorkerCount": 1,
+                  "processor": Object {
+                    "query": Object {
+                      "columns": Array [
+                        "agent_type",
+                        "v0",
+                      ],
+                      "context": Object {
+                        "__timeColumn": "v0",
+                        "finalize": false,
+                        "finalizeAggregations": false,
+                        "groupByEnableMultiValueUnnesting": false,
+                        "maxParseExceptions": 10,
+                        "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+                        "sqlInsertSegmentGranularity": 
"{\\"type\\":\\"all\\"}",
+                        "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                        "sqlReplaceTimeChunks": "all",
+                      },
+                      "dataSource": Object {
+                        "inputNumber": 0,
+                        "type": "inputNumber",
+                      },
+                      "granularity": Object {
+                        "type": "all",
+                      },
+                      "intervals": Object {
+                        "intervals": Array [
+                          
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                        ],
+                        "type": "intervals",
+                      },
+                      "legacy": false,
+                      "queryType": "scan",
+                      "resultFormat": "compactedList",
+                      "virtualColumns": Array [
+                        Object {
+                          "expression": 
"timestamp_parse(\\"timestamp\\",null,'UTC')",
+                          "name": "v0",
+                          "outputType": "LONG",
+                          "type": "expression",
+                        },
+                      ],
+                    },
+                    "type": "scan",
+                  },
+                  "shuffleCheckHasMultipleValues": true,
+                  "shuffleSpec": Object {
+                    "clusterBy": Object {
+                      "columns": Array [
+                        Object {
+                          "columnName": "__boost",
+                        },
+                      ],
+                    },
+                    "targetSize": 3000000,
+                    "type": "targetSize",
+                  },
+                  "signature": Array [
+                    Object {
+                      "name": "__boost",
+                      "type": "LONG",
+                    },
+                    Object {
+                      "name": "agent_type",
+                      "type": "STRING",
+                    },
+                    Object {
+                      "name": "v0",
+                      "type": "LONG",
+                    },
+                  ],
+                },
+                "duration": 18414,
+                "phase": "FAILED",
+                "sort": true,
+                "stageNumber": 0,
+                "startTime": "2022-08-25T18:00:05.539Z",
+                "workerCount": 1,
+              },
+              Object {
+                "definition": Object {
+                  "id": "47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_1",
+                  "input": Array [
+                    Object {
+                      "stage": 0,
+                      "type": "stage",
+                    },
+                  ],
+                  "maxWorkerCount": 1,
+                  "processor": Object {
+                    "columnMappings": Array [
+                      Object {
+                        "outputColumn": "__time",
+                        "queryColumn": "v0",
+                      },
+                      Object {
+                        "outputColumn": "agent_type",
+                        "queryColumn": "agent_type",
+                      },
+                    ],
+                    "dataSchema": Object {
+                      "dataSource": "kttm_simple",
+                      "dimensionsSpec": Object {
+                        "dimensionExclusions": Array [
+                          "__time",
+                        ],
+                        "dimensions": Array [
+                          Object {
+                            "createBitmapIndex": true,
+                            "multiValueHandling": "SORTED_ARRAY",
+                            "name": "agent_type",
+                            "type": "string",
+                          },
+                        ],
+                        "includeAllDimensions": false,
+                      },
+                      "granularitySpec": Object {
+                        "intervals": Array [
+                          
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                        ],
+                        "queryGranularity": Object {
+                          "type": "none",
+                        },
+                        "rollup": false,
+                        "type": "arbitrary",
+                      },
+                      "metricsSpec": Array [],
+                      "timestampSpec": Object {
+                        "column": "__time",
+                        "format": "millis",
+                        "missingValue": null,
+                      },
+                      "transformSpec": Object {
+                        "filter": null,
+                        "transforms": Array [],
+                      },
+                    },
+                    "tuningConfig": Object {
+                      "maxNumWorkers": 1,
+                      "maxRowsInMemory": 100000,
+                      "rowsPerSegment": 3000000,
+                    },
+                    "type": "segmentGenerator",
+                  },
+                  "signature": Array [],
+                },
+                "stageNumber": 1,
+              },
+            ],
+          },
+          "startTime": 2022-08-25T18:00:03.140Z,
+          "status": "FAILED",
+          "warnings": Array [
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
13588, Line: 13588)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 13588, Line: 13588)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
27029, Line: 27030)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 27029, Line: 27030)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
42034, Line: 42036)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 42034, Line: 42036)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
54912, Line: 54915)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 54912, Line: 54915)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
63995, Line: 63999)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 63995, Line: 63999)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+          ],
+        }
+      }
+    />
+    <Memo(ExecutionStagesPane)
+      execution={
+        Execution {
+          "_payload": Object {
+            "payload": Object {
+              "context": Object {
+                "forceTimeChunkLock": true,
+                "useLineageBasedSegmentAllocation": true,
+              },
+              "dataSource": "kttm_simple",
+              "groupId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "id": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "resource": Object {
+                "availabilityGroup": 
"query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                "requiredCapacity": 1,
+              },
+              "spec": Object {
+                "assignmentStrategy": "max",
+                "columnMappings": Array [
+                  Object {
+                    "outputColumn": "__time",
+                    "queryColumn": "v0",
+                  },
+                  Object {
+                    "outputColumn": "agent_type",
+                    "queryColumn": "agent_type",
+                  },
+                ],
+                "destination": Object {
+                  "dataSource": "kttm_simple",
+                  "replaceTimeChunks": Array [
+                    
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                  ],
+                  "segmentGranularity": Object {
+                    "type": "all",
+                  },
+                  "type": "dataSource",
+                },
+                "query": Object {
+                  "columns": Array [
+                    "agent_type",
+                    "v0",
+                  ],
+                  "context": Object {
+                    "finalize": false,
+                    "finalizeAggregations": false,
+                    "groupByEnableMultiValueUnnesting": false,
+                    "maxParseExceptions": 10,
+                    "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+                    "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+                    "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                    "sqlReplaceTimeChunks": "all",
+                  },
+                  "dataSource": Object {
+                    "inputFormat": Object {
+                      "featureSpec": Object {},
+                      "flattenSpec": null,
+                      "keepNullColumns": false,
+                      "type": "json",
+                    },
+                    "inputSource": Object {
+                      "httpAuthenticationPassword": null,
+                      "httpAuthenticationUsername": null,
+                      "type": "http",
+                      "uris": Array [
+                        
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                      ],
+                    },
+                    "signature": Array [
+                      Object {
+                        "name": "timestamp",
+                        "type": "STRING",
+                      },
+                      Object {
+                        "name": "agent_type",
+                        "type": "STRING",
+                      },
+                    ],
+                    "type": "external",
+                  },
+                  "granularity": Object {
+                    "type": "all",
+                  },
+                  "intervals": Object {
+                    "intervals": Array [
+                      
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                    ],
+                    "type": "intervals",
+                  },
+                  "legacy": false,
+                  "queryType": "scan",
+                  "resultFormat": "compactedList",
+                  "virtualColumns": Array [
+                    Object {
+                      "expression": 
"timestamp_parse(\\"timestamp\\",null,'UTC')",
+                      "name": "v0",
+                      "outputType": "LONG",
+                      "type": "expression",
+                    },
+                  ],
+                },
+                "tuningConfig": Object {
+                  "maxNumWorkers": 1,
+                  "maxRowsInMemory": 100000,
+                  "rowsPerSegment": 3000000,
+                },
+              },
+              "sqlQuery": "REPLACE INTO \\"kttm_simple\\" OVERWRITE ALL
+SELECT TIME_PARSE(\\"timestamp\\") AS \\"__time\\", agent_type
+FROM TABLE(
+  EXTERN(
+    
'{\\"type\\":\\"http\\",\\"uris\\":[\\"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz\\"]}',
+    '{\\"type\\":\\"json\\"}',
+    
'[{\\"name\\":\\"timestamp\\",\\"type\\":\\"string\\"},{\\"name\\":\\"agent_type\\",\\"type\\":\\"string\\"}]'
+  )
+)
+PARTITIONED BY ALL",
+              "sqlQueryContext": Object {
+                "finalizeAggregations": false,
+                "groupByEnableMultiValueUnnesting": false,
+                "maxParseExceptions": 10,
+                "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+                "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                "sqlReplaceTimeChunks": "all",
+              },
+              "sqlTypeNames": Array [
+                "TIMESTAMP",
+                "VARCHAR",
+              ],
+              "type": "query_controller",
+            },
+            "task": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+          },
+          "destination": Object {
+            "dataSource": "kttm_simple",
+            "replaceTimeChunks": Array [
+              "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+            ],
+            "segmentGranularity": Object {
+              "type": "all",
+            },
+            "type": "dataSource",
+          },
+          "duration": 20813,
+          "engine": "sql-msq-task",
+          "error": Object {
+            "error": Object {
+              "errorCode": "TooManyWarnings",
+              "errorMessage": "Too many warnings of type 
CannotParseExternalData generated (max = 10)",
+              "maxWarnings": 10,
+              "rootErrorCode": "CannotParseExternalData",
+            },
+            "host": "localhost",
+            "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+          },
+          "id": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+          "nativeQuery": Object {
+            "columns": Array [
+              "agent_type",
+              "v0",
+            ],
+            "context": Object {
+              "finalize": false,
+              "finalizeAggregations": false,
+              "groupByEnableMultiValueUnnesting": false,
+              "maxParseExceptions": 10,
+              "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+              "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+              "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "sqlReplaceTimeChunks": "all",
+            },
+            "dataSource": Object {
+              "inputFormat": Object {
+                "featureSpec": Object {},
+                "flattenSpec": null,
+                "keepNullColumns": false,
+                "type": "json",
+              },
+              "inputSource": Object {
+                "httpAuthenticationPassword": null,
+                "httpAuthenticationUsername": null,
+                "type": "http",
+                "uris": Array [
+                  
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                ],
+              },
+              "signature": Array [
+                Object {
+                  "name": "timestamp",
+                  "type": "STRING",
+                },
+                Object {
+                  "name": "agent_type",
+                  "type": "STRING",
+                },
+              ],
+              "type": "external",
+            },
+            "granularity": Object {
+              "type": "all",
+            },
+            "intervals": Object {
+              "intervals": Array [
+                "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+              ],
+              "type": "intervals",
+            },
+            "legacy": false,
+            "queryType": "scan",
+            "resultFormat": "compactedList",
+            "virtualColumns": Array [
+              Object {
+                "expression": "timestamp_parse(\\"timestamp\\",null,'UTC')",
+                "name": "v0",
+                "outputType": "LONG",
+                "type": "expression",
+              },
+            ],
+          },
+          "queryContext": Object {
+            "finalizeAggregations": false,
+            "groupByEnableMultiValueUnnesting": false,
+            "maxParseExceptions": 10,
+          },
+          "result": undefined,
+          "sqlQuery": "REPLACE INTO \\"kttm_simple\\" OVERWRITE ALL
+SELECT TIME_PARSE(\\"timestamp\\") AS \\"__time\\", agent_type
+FROM TABLE(
+  EXTERN(
+    
'{\\"type\\":\\"http\\",\\"uris\\":[\\"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz\\"]}',
+    '{\\"type\\":\\"json\\"}',
+    
'[{\\"name\\":\\"timestamp\\",\\"type\\":\\"string\\"},{\\"name\\":\\"agent_type\\",\\"type\\":\\"string\\"}]'
+  )
+)
+PARTITIONED BY ALL",
+          "stages": Stages {
+            "counters": Object {
+              "0": Object {
+                "0": Object {
+                  "input0": Object {
+                    "rows": Array [
+                      200322,
+                    ],
+                    "totalFiles": Array [
+                      1,
+                    ],
+                    "type": "channel",
+                  },
+                  "output": Object {
+                    "bytes": Array [
+                      7685544,
+                    ],
+                    "frames": Array [
+                      1,
+                    ],
+                    "rows": Array [
+                      141660,
+                    ],
+                    "type": "channel",
+                  },
+                  "sortProgress": Object {
+                    "levelToMergedBatches": Object {},
+                    "levelToTotalBatches": Object {},
+                    "totalMergersForUltimateLevel": -1,
+                    "totalMergingLevels": -1,
+                    "type": "sortProgress",
+                  },
+                  "warnings": Object {
+                    "CannotParseExternalData": 17,
+                    "type": "warnings",
+                  },
+                },
+              },
+            },
+            "stages": Array [
+              Object {
+                "definition": Object {
+                  "id": "47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_0",
+                  "input": Array [
+                    Object {
+                      "inputFormat": Object {
+                        "featureSpec": Object {},
+                        "flattenSpec": null,
+                        "keepNullColumns": false,
+                        "type": "json",
+                      },
+                      "inputSource": Object {
+                        "httpAuthenticationPassword": null,
+                        "httpAuthenticationUsername": null,
+                        "type": "http",
+                        "uris": Array [
+                          
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                        ],
+                      },
+                      "signature": Array [
+                        Object {
+                          "name": "timestamp",
+                          "type": "STRING",
+                        },
+                        Object {
+                          "name": "agent_type",
+                          "type": "STRING",
+                        },
+                      ],
+                      "type": "external",
+                    },
+                  ],
+                  "maxWorkerCount": 1,
+                  "processor": Object {
+                    "query": Object {
+                      "columns": Array [
+                        "agent_type",
+                        "v0",
+                      ],
+                      "context": Object {
+                        "__timeColumn": "v0",
+                        "finalize": false,
+                        "finalizeAggregations": false,
+                        "groupByEnableMultiValueUnnesting": false,
+                        "maxParseExceptions": 10,
+                        "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+                        "sqlInsertSegmentGranularity": 
"{\\"type\\":\\"all\\"}",
+                        "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                        "sqlReplaceTimeChunks": "all",
+                      },
+                      "dataSource": Object {
+                        "inputNumber": 0,
+                        "type": "inputNumber",
+                      },
+                      "granularity": Object {
+                        "type": "all",
+                      },
+                      "intervals": Object {
+                        "intervals": Array [
+                          
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                        ],
+                        "type": "intervals",
+                      },
+                      "legacy": false,
+                      "queryType": "scan",
+                      "resultFormat": "compactedList",
+                      "virtualColumns": Array [
+                        Object {
+                          "expression": 
"timestamp_parse(\\"timestamp\\",null,'UTC')",
+                          "name": "v0",
+                          "outputType": "LONG",
+                          "type": "expression",
+                        },
+                      ],
+                    },
+                    "type": "scan",
+                  },
+                  "shuffleCheckHasMultipleValues": true,
+                  "shuffleSpec": Object {
+                    "clusterBy": Object {
+                      "columns": Array [
+                        Object {
+                          "columnName": "__boost",
+                        },
+                      ],
+                    },
+                    "targetSize": 3000000,
+                    "type": "targetSize",
+                  },
+                  "signature": Array [
+                    Object {
+                      "name": "__boost",
+                      "type": "LONG",
+                    },
+                    Object {
+                      "name": "agent_type",
+                      "type": "STRING",
+                    },
+                    Object {
+                      "name": "v0",
+                      "type": "LONG",
+                    },
+                  ],
+                },
+                "duration": 18414,
+                "phase": "FAILED",
+                "sort": true,
+                "stageNumber": 0,
+                "startTime": "2022-08-25T18:00:05.539Z",
+                "workerCount": 1,
+              },
+              Object {
+                "definition": Object {
+                  "id": "47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_1",
+                  "input": Array [
+                    Object {
+                      "stage": 0,
+                      "type": "stage",
+                    },
+                  ],
+                  "maxWorkerCount": 1,
+                  "processor": Object {
+                    "columnMappings": Array [
+                      Object {
+                        "outputColumn": "__time",
+                        "queryColumn": "v0",
+                      },
+                      Object {
+                        "outputColumn": "agent_type",
+                        "queryColumn": "agent_type",
+                      },
+                    ],
+                    "dataSchema": Object {
+                      "dataSource": "kttm_simple",
+                      "dimensionsSpec": Object {
+                        "dimensionExclusions": Array [
+                          "__time",
+                        ],
+                        "dimensions": Array [
+                          Object {
+                            "createBitmapIndex": true,
+                            "multiValueHandling": "SORTED_ARRAY",
+                            "name": "agent_type",
+                            "type": "string",
+                          },
+                        ],
+                        "includeAllDimensions": false,
+                      },
+                      "granularitySpec": Object {
+                        "intervals": Array [
+                          
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                        ],
+                        "queryGranularity": Object {
+                          "type": "none",
+                        },
+                        "rollup": false,
+                        "type": "arbitrary",
+                      },
+                      "metricsSpec": Array [],
+                      "timestampSpec": Object {
+                        "column": "__time",
+                        "format": "millis",
+                        "missingValue": null,
+                      },
+                      "transformSpec": Object {
+                        "filter": null,
+                        "transforms": Array [],
+                      },
+                    },
+                    "tuningConfig": Object {
+                      "maxNumWorkers": 1,
+                      "maxRowsInMemory": 100000,
+                      "rowsPerSegment": 3000000,
+                    },
+                    "type": "segmentGenerator",
+                  },
+                  "signature": Array [],
+                },
+                "stageNumber": 1,
+              },
+            ],
+          },
+          "startTime": 2022-08-25T18:00:03.140Z,
+          "status": "FAILED",
+          "warnings": Array [
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
13588, Line: 13588)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 13588, Line: 13588)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
27029, Line: 27030)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 27029, Line: 27030)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
42034, Line: 42036)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 42034, Line: 42036)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
54912, Line: 54915)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 54912, Line: 54915)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+            Object {
+              "error": Object {
+                "errorCode": "CannotParseExternalData",
+                "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
63995, Line: 63999)",
+              },
+              "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 63995, Line: 63999)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+              "host": "localhost:8101",
+              "stageNumber": 0,
+              "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+            },
+          ],
+        }
+      }
+      goToIngestion={[Function]}
+      onErrorClick={[Function]}
+      onWarningClick={[Function]}
+    />
+  </div>
+</Memo(FancyTabPane)>
+`;
+
+exports[`ExecutionDetailsPane matches snapshot with init tab 1`] = `
+<Memo(FancyTabPane)
+  activeTab="warnings"
+  className="execution-details-pane"
+  onActivateTab={[Function]}
+  tabs={
+    Array [
+      Object {
+        "icon": "many-to-one",
+        "id": "general",
+        "label": "General",
+      },
+      Object {
+        "icon": "application",
+        "id": "sql",
+        "label": "SQL query",
+      },
+      Object {
+        "icon": "cog",
+        "id": "native",
+        "label": "Native query",
+      },
+      undefined,
+      Object {
+        "icon": "error",
+        "id": "error",
+        "label": "Error",
+      },
+      Object {
+        "icon": "warning-sign",
+        "id": "warnings",
+        "label": "Warnings",
+      },
+    ]
+  }
+>
+  <Memo(ExecutionWarningsPane)
+    execution={
+      Execution {
+        "_payload": Object {
+          "payload": Object {
+            "context": Object {
+              "forceTimeChunkLock": true,
+              "useLineageBasedSegmentAllocation": true,
+            },
+            "dataSource": "kttm_simple",
+            "groupId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+            "id": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+            "resource": Object {
+              "availabilityGroup": 
"query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "requiredCapacity": 1,
+            },
+            "spec": Object {
+              "assignmentStrategy": "max",
+              "columnMappings": Array [
+                Object {
+                  "outputColumn": "__time",
+                  "queryColumn": "v0",
+                },
+                Object {
+                  "outputColumn": "agent_type",
+                  "queryColumn": "agent_type",
+                },
+              ],
+              "destination": Object {
+                "dataSource": "kttm_simple",
+                "replaceTimeChunks": Array [
+                  
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                ],
+                "segmentGranularity": Object {
+                  "type": "all",
+                },
+                "type": "dataSource",
+              },
+              "query": Object {
+                "columns": Array [
+                  "agent_type",
+                  "v0",
+                ],
+                "context": Object {
+                  "finalize": false,
+                  "finalizeAggregations": false,
+                  "groupByEnableMultiValueUnnesting": false,
+                  "maxParseExceptions": 10,
+                  "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+                  "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+                  "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                  "sqlReplaceTimeChunks": "all",
+                },
+                "dataSource": Object {
+                  "inputFormat": Object {
+                    "featureSpec": Object {},
+                    "flattenSpec": null,
+                    "keepNullColumns": false,
+                    "type": "json",
+                  },
+                  "inputSource": Object {
+                    "httpAuthenticationPassword": null,
+                    "httpAuthenticationUsername": null,
+                    "type": "http",
+                    "uris": Array [
+                      
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                    ],
+                  },
+                  "signature": Array [
+                    Object {
+                      "name": "timestamp",
+                      "type": "STRING",
+                    },
+                    Object {
+                      "name": "agent_type",
+                      "type": "STRING",
+                    },
+                  ],
+                  "type": "external",
+                },
+                "granularity": Object {
+                  "type": "all",
+                },
+                "intervals": Object {
+                  "intervals": Array [
+                    
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                  ],
+                  "type": "intervals",
+                },
+                "legacy": false,
+                "queryType": "scan",
+                "resultFormat": "compactedList",
+                "virtualColumns": Array [
+                  Object {
+                    "expression": 
"timestamp_parse(\\"timestamp\\",null,'UTC')",
+                    "name": "v0",
+                    "outputType": "LONG",
+                    "type": "expression",
+                  },
+                ],
+              },
+              "tuningConfig": Object {
+                "maxNumWorkers": 1,
+                "maxRowsInMemory": 100000,
+                "rowsPerSegment": 3000000,
+              },
+            },
+            "sqlQuery": "REPLACE INTO \\"kttm_simple\\" OVERWRITE ALL
+SELECT TIME_PARSE(\\"timestamp\\") AS \\"__time\\", agent_type
+FROM TABLE(
+  EXTERN(
+    
'{\\"type\\":\\"http\\",\\"uris\\":[\\"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz\\"]}',
+    '{\\"type\\":\\"json\\"}',
+    
'[{\\"name\\":\\"timestamp\\",\\"type\\":\\"string\\"},{\\"name\\":\\"agent_type\\",\\"type\\":\\"string\\"}]'
+  )
+)
+PARTITIONED BY ALL",
+            "sqlQueryContext": Object {
+              "finalizeAggregations": false,
+              "groupByEnableMultiValueUnnesting": false,
+              "maxParseExceptions": 10,
+              "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+              "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+              "sqlReplaceTimeChunks": "all",
+            },
+            "sqlTypeNames": Array [
+              "TIMESTAMP",
+              "VARCHAR",
+            ],
+            "type": "query_controller",
+          },
+          "task": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+        },
+        "destination": Object {
+          "dataSource": "kttm_simple",
+          "replaceTimeChunks": Array [
+            "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+          ],
+          "segmentGranularity": Object {
+            "type": "all",
+          },
+          "type": "dataSource",
+        },
+        "duration": 20813,
+        "engine": "sql-msq-task",
+        "error": Object {
+          "error": Object {
+            "errorCode": "TooManyWarnings",
+            "errorMessage": "Too many warnings of type CannotParseExternalData 
generated (max = 10)",
+            "maxWarnings": 10,
+            "rootErrorCode": "CannotParseExternalData",
+          },
+          "host": "localhost",
+          "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+        },
+        "id": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+        "nativeQuery": Object {
+          "columns": Array [
+            "agent_type",
+            "v0",
+          ],
+          "context": Object {
+            "finalize": false,
+            "finalizeAggregations": false,
+            "groupByEnableMultiValueUnnesting": false,
+            "maxParseExceptions": 10,
+            "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+            "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+            "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+            "sqlReplaceTimeChunks": "all",
+          },
+          "dataSource": Object {
+            "inputFormat": Object {
+              "featureSpec": Object {},
+              "flattenSpec": null,
+              "keepNullColumns": false,
+              "type": "json",
+            },
+            "inputSource": Object {
+              "httpAuthenticationPassword": null,
+              "httpAuthenticationUsername": null,
+              "type": "http",
+              "uris": Array [
+                
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+              ],
+            },
+            "signature": Array [
+              Object {
+                "name": "timestamp",
+                "type": "STRING",
+              },
+              Object {
+                "name": "agent_type",
+                "type": "STRING",
+              },
+            ],
+            "type": "external",
+          },
+          "granularity": Object {
+            "type": "all",
+          },
+          "intervals": Object {
+            "intervals": Array [
+              "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+            ],
+            "type": "intervals",
+          },
+          "legacy": false,
+          "queryType": "scan",
+          "resultFormat": "compactedList",
+          "virtualColumns": Array [
+            Object {
+              "expression": "timestamp_parse(\\"timestamp\\",null,'UTC')",
+              "name": "v0",
+              "outputType": "LONG",
+              "type": "expression",
+            },
+          ],
+        },
+        "queryContext": Object {
+          "finalizeAggregations": false,
+          "groupByEnableMultiValueUnnesting": false,
+          "maxParseExceptions": 10,
+        },
+        "result": undefined,
+        "sqlQuery": "REPLACE INTO \\"kttm_simple\\" OVERWRITE ALL
+SELECT TIME_PARSE(\\"timestamp\\") AS \\"__time\\", agent_type
+FROM TABLE(
+  EXTERN(
+    
'{\\"type\\":\\"http\\",\\"uris\\":[\\"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz\\"]}',
+    '{\\"type\\":\\"json\\"}',
+    
'[{\\"name\\":\\"timestamp\\",\\"type\\":\\"string\\"},{\\"name\\":\\"agent_type\\",\\"type\\":\\"string\\"}]'
+  )
+)
+PARTITIONED BY ALL",
+        "stages": Stages {
+          "counters": Object {
+            "0": Object {
+              "0": Object {
+                "input0": Object {
+                  "rows": Array [
+                    200322,
+                  ],
+                  "totalFiles": Array [
+                    1,
+                  ],
+                  "type": "channel",
+                },
+                "output": Object {
+                  "bytes": Array [
+                    7685544,
+                  ],
+                  "frames": Array [
+                    1,
+                  ],
+                  "rows": Array [
+                    141660,
+                  ],
+                  "type": "channel",
+                },
+                "sortProgress": Object {
+                  "levelToMergedBatches": Object {},
+                  "levelToTotalBatches": Object {},
+                  "totalMergersForUltimateLevel": -1,
+                  "totalMergingLevels": -1,
+                  "type": "sortProgress",
+                },
+                "warnings": Object {
+                  "CannotParseExternalData": 17,
+                  "type": "warnings",
+                },
+              },
+            },
+          },
+          "stages": Array [
+            Object {
+              "definition": Object {
+                "id": "47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_0",
+                "input": Array [
+                  Object {
+                    "inputFormat": Object {
+                      "featureSpec": Object {},
+                      "flattenSpec": null,
+                      "keepNullColumns": false,
+                      "type": "json",
+                    },
+                    "inputSource": Object {
+                      "httpAuthenticationPassword": null,
+                      "httpAuthenticationUsername": null,
+                      "type": "http",
+                      "uris": Array [
+                        
"https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz";,
+                      ],
+                    },
+                    "signature": Array [
+                      Object {
+                        "name": "timestamp",
+                        "type": "STRING",
+                      },
+                      Object {
+                        "name": "agent_type",
+                        "type": "STRING",
+                      },
+                    ],
+                    "type": "external",
+                  },
+                ],
+                "maxWorkerCount": 1,
+                "processor": Object {
+                  "query": Object {
+                    "columns": Array [
+                      "agent_type",
+                      "v0",
+                    ],
+                    "context": Object {
+                      "__timeColumn": "v0",
+                      "finalize": false,
+                      "finalizeAggregations": false,
+                      "groupByEnableMultiValueUnnesting": false,
+                      "maxParseExceptions": 10,
+                      "scanSignature": 
"[{\\"name\\":\\"agent_type\\",\\"type\\":\\"STRING\\"},{\\"name\\":\\"v0\\",\\"type\\":\\"LONG\\"}]",
+                      "sqlInsertSegmentGranularity": "{\\"type\\":\\"all\\"}",
+                      "sqlQueryId": "c6bffa9d-43c4-45a0-95f8-0c8c453655fb",
+                      "sqlReplaceTimeChunks": "all",
+                    },
+                    "dataSource": Object {
+                      "inputNumber": 0,
+                      "type": "inputNumber",
+                    },
+                    "granularity": Object {
+                      "type": "all",
+                    },
+                    "intervals": Object {
+                      "intervals": Array [
+                        
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                      ],
+                      "type": "intervals",
+                    },
+                    "legacy": false,
+                    "queryType": "scan",
+                    "resultFormat": "compactedList",
+                    "virtualColumns": Array [
+                      Object {
+                        "expression": 
"timestamp_parse(\\"timestamp\\",null,'UTC')",
+                        "name": "v0",
+                        "outputType": "LONG",
+                        "type": "expression",
+                      },
+                    ],
+                  },
+                  "type": "scan",
+                },
+                "shuffleCheckHasMultipleValues": true,
+                "shuffleSpec": Object {
+                  "clusterBy": Object {
+                    "columns": Array [
+                      Object {
+                        "columnName": "__boost",
+                      },
+                    ],
+                  },
+                  "targetSize": 3000000,
+                  "type": "targetSize",
+                },
+                "signature": Array [
+                  Object {
+                    "name": "__boost",
+                    "type": "LONG",
+                  },
+                  Object {
+                    "name": "agent_type",
+                    "type": "STRING",
+                  },
+                  Object {
+                    "name": "v0",
+                    "type": "LONG",
+                  },
+                ],
+              },
+              "duration": 18414,
+              "phase": "FAILED",
+              "sort": true,
+              "stageNumber": 0,
+              "startTime": "2022-08-25T18:00:05.539Z",
+              "workerCount": 1,
+            },
+            Object {
+              "definition": Object {
+                "id": "47e8d8a9-80ed-4b71-adcb-44dc5b1dace3_1",
+                "input": Array [
+                  Object {
+                    "stage": 0,
+                    "type": "stage",
+                  },
+                ],
+                "maxWorkerCount": 1,
+                "processor": Object {
+                  "columnMappings": Array [
+                    Object {
+                      "outputColumn": "__time",
+                      "queryColumn": "v0",
+                    },
+                    Object {
+                      "outputColumn": "agent_type",
+                      "queryColumn": "agent_type",
+                    },
+                  ],
+                  "dataSchema": Object {
+                    "dataSource": "kttm_simple",
+                    "dimensionsSpec": Object {
+                      "dimensionExclusions": Array [
+                        "__time",
+                      ],
+                      "dimensions": Array [
+                        Object {
+                          "createBitmapIndex": true,
+                          "multiValueHandling": "SORTED_ARRAY",
+                          "name": "agent_type",
+                          "type": "string",
+                        },
+                      ],
+                      "includeAllDimensions": false,
+                    },
+                    "granularitySpec": Object {
+                      "intervals": Array [
+                        
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z",
+                      ],
+                      "queryGranularity": Object {
+                        "type": "none",
+                      },
+                      "rollup": false,
+                      "type": "arbitrary",
+                    },
+                    "metricsSpec": Array [],
+                    "timestampSpec": Object {
+                      "column": "__time",
+                      "format": "millis",
+                      "missingValue": null,
+                    },
+                    "transformSpec": Object {
+                      "filter": null,
+                      "transforms": Array [],
+                    },
+                  },
+                  "tuningConfig": Object {
+                    "maxNumWorkers": 1,
+                    "maxRowsInMemory": 100000,
+                    "rowsPerSegment": 3000000,
+                  },
+                  "type": "segmentGenerator",
+                },
+                "signature": Array [],
+              },
+              "stageNumber": 1,
+            },
+          ],
+        },
+        "startTime": 2022-08-25T18:00:03.140Z,
+        "status": "FAILED",
+        "warnings": Array [
+          Object {
+            "error": Object {
+              "errorCode": "CannotParseExternalData",
+              "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
13588, Line: 13588)",
+            },
+            "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 13588, Line: 13588)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+            "host": "localhost:8101",
+            "stageNumber": 0,
+            "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+          },
+          Object {
+            "error": Object {
+              "errorCode": "CannotParseExternalData",
+              "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
27029, Line: 27030)",
+            },
+            "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 27029, Line: 27030)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+            "host": "localhost:8101",
+            "stageNumber": 0,
+            "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+          },
+          Object {
+            "error": Object {
+              "errorCode": "CannotParseExternalData",
+              "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
42034, Line: 42036)",
+            },
+            "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 42034, Line: 42036)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+            "host": "localhost:8101",
+            "stageNumber": 0,
+            "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+          },
+          Object {
+            "error": Object {
+              "errorCode": "CannotParseExternalData",
+              "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
54912, Line: 54915)",
+            },
+            "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 54912, Line: 54915)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+            "host": "localhost:8101",
+            "stageNumber": 0,
+            "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+          },
+          Object {
+            "error": Object {
+              "errorCode": "CannotParseExternalData",
+              "errorMessage": "Unable to parse row [] (Path: 
https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, Record: 
63995, Line: 63999)",
+            },
+            "exceptionStackTrace": 
"org.apache.druid.java.util.common.parsers.ParseException: Unable to parse row 
[] (Path: https://static.imply.io/example-data/kttm/kttm-2019-08-25.json.gz, 
Record: 63995, Line: 63999)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:79)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.findNextIteratorIfNecessary(CloseableIterator.java:74)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$2.next(CloseableIterator.java:108)
+       at 
org.apache.druid.java.util.common.parsers.CloseableIterator$1.next(CloseableIterator.java:52)
+       at 
org.apache.druid.msq.input.external.ExternalInputSliceReader$1$1.hasNext(ExternalInputSliceReader.java:179)
+       at 
org.apache.druid.java.util.common.guava.BaseSequence$1.next(BaseSequence.java:115)
+       at org.apache.druid.segment.RowWalker.advance(RowWalker.java:70)
+       at 
org.apache.druid.segment.RowBasedCursor.advanceUninterruptibly(RowBasedCursor.java:110)
+       at 
org.apache.druid.segment.RowBasedCursor.advance(RowBasedCursor.java:103)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.populateFrameWriterAndFlushIfNeeded(ScanQueryFrameProcessor.java:251)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runWithSegment(ScanQueryFrameProcessor.java:182)
+       at 
org.apache.druid.msq.querykit.BaseLeafFrameProcessor.runIncrementally(BaseLeafFrameProcessor.java:111)
+       at 
org.apache.druid.msq.querykit.scan.ScanQueryFrameProcessor.runIncrementally(ScanQueryFrameProcessor.java:148)
+       at 
org.apache.druid.frame.processor.FrameProcessors$1FrameProcessorWithBaggage.runIncrementally(FrameProcessors.java:70)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.runProcessorNow(FrameProcessorExecutor.java:229)
+       at 
org.apache.druid.frame.processor.FrameProcessorExecutor$1ExecutorRunnable.run(FrameProcessorExecutor.java:137)
+       at org.apache.druid.msq.exec.WorkerImpl$1$2.run(WorkerImpl.java:634)
+       at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
+       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
+       at 
org.apache.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:251)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+       at java.base/java.lang.Thread.run(Thread.java:829)
+Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No 
content to map due to end-of-input
+ at [Source: (String)\\"\\"; line: 1, column: 0]
+       at 
com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)
+       at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
+       at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:69)
+       at 
org.apache.druid.data.input.impl.JsonLineReader.parseInputRows(JsonLineReader.java:48)
+       at 
org.apache.druid.data.input.IntermediateRowParsingReader$1.hasNext(IntermediateRowParsingReader.java:71)
+       ... 22 more
+",
+            "host": "localhost:8101",
+            "stageNumber": 0,
+            "taskId": "query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb-worker0",
+          },
+        ],
+      }
+    }
+  />
+</Memo(FancyTabPane)>
+`;
diff --git 
a/web-console/src/views/workbench-view/execution-details-pane/execution-details-pane.spec.tsx
 
b/web-console/src/views/workbench-view/execution-details-pane/execution-details-pane.spec.tsx
new file mode 100644
index 0000000000..c1bddb6e8e
--- /dev/null
+++ 
b/web-console/src/views/workbench-view/execution-details-pane/execution-details-pane.spec.tsx
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+import { shallow } from 'enzyme';
+import React from 'react';
+
+import { EXECUTION_INGEST_ERROR } from 
'../../../druid-models/execution/execution-ingest-error.mock';
+
+import { ExecutionDetailsPane } from './execution-details-pane';
+
+describe('ExecutionDetailsPane', () => {
+  it('matches snapshot no init tab', () => {
+    const comp = shallow(
+      <ExecutionDetailsPane execution={EXECUTION_INGEST_ERROR} 
goToIngestion={() => {}} />,
+    );
+
+    expect(comp).toMatchSnapshot();
+  });
+
+  it('matches snapshot with init tab', () => {
+    const comp = shallow(
+      <ExecutionDetailsPane
+        execution={EXECUTION_INGEST_ERROR}
+        initTab="warnings"
+        goToIngestion={() => {}}
+      />,
+    );
+
+    expect(comp).toMatchSnapshot();
+  });
+});
diff --git 
a/web-console/src/views/workbench-view/execution-error-pane/__snapshots__/execution-error-pane.spec.tsx.snap
 
b/web-console/src/views/workbench-view/execution-error-pane/__snapshots__/execution-error-pane.spec.tsx.snap
index c2cddd9110..cf8bccd618 100644
--- 
a/web-console/src/views/workbench-view/execution-error-pane/__snapshots__/execution-error-pane.spec.tsx.snap
+++ 
b/web-console/src/views/workbench-view/execution-error-pane/__snapshots__/execution-error-pane.spec.tsx.snap
@@ -8,23 +8,17 @@ exports[`ExecutionErrorPane matches snapshot 1`] = `
   <p
     className="error-message-text"
   >
-    UnknownError: 
-    java.lang.RuntimeException: java.lang.RuntimeException: Error occured 
while trying to read uri: 
https://static.imply.io/example-data/kttm-v2/kttm-v2-2019-08-25.json.gz_
-     
-    <a
-      onClick={[Function]}
-    >
-      (Stack trace)
-    </a>
+    TooManyWarnings: 
+    Too many warnings of type CannotParseExternalData generated (max = 10)
   </p>
   <div>
     Failed task ID: 
     <Memo(ClickToCopy)
-      text="query-0cf1a40a-aaef-4d17-bda4-5afa7edf07e7-worker0"
+      text="query-c6bffa9d-43c4-45a0-95f8-0c8c453655fb"
     />
      (on host: 
     <Memo(ClickToCopy)
-      text="localhost:8101"
+      text="localhost"
     />
     )
   </div>
diff --git a/web-console/src/views/workbench-view/helper-query/helper-query.tsx 
b/web-console/src/views/workbench-view/helper-query/helper-query.tsx
index d454777f64..0fd785e2c2 100644
--- a/web-console/src/views/workbench-view/helper-query/helper-query.tsx
+++ b/web-console/src/views/workbench-view/helper-query/helper-query.tsx
@@ -353,7 +353,7 @@ export const HelperQuery = React.memo(function 
HelperQuery(props: HelperQueryPro
                 ) : execution.isSuccessfulInsert() ? (
                   <IngestSuccessPane
                     execution={execution}
-                    onDetails={() => onDetails(statsTaskId!)}
+                    onDetails={onDetails}
                     onQueryTab={onQueryTab}
                   />
                 ) : execution.error ? (
diff --git 
a/web-console/src/views/workbench-view/ingest-success-pane/ingest-success-pane.tsx
 
b/web-console/src/views/workbench-view/ingest-success-pane/ingest-success-pane.tsx
index 80a0950e3a..9903529256 100644
--- 
a/web-console/src/views/workbench-view/ingest-success-pane/ingest-success-pane.tsx
+++ 
b/web-console/src/views/workbench-view/ingest-success-pane/ingest-success-pane.tsx
@@ -21,12 +21,13 @@ import React from 'react';
 
 import { Execution, WorkbenchQuery } from '../../../druid-models';
 import { formatDuration, pluralIfNeeded } from '../../../utils';
+import { ExecutionDetailsTab } from 
'../execution-details-pane/execution-details-pane';
 
 import './ingest-success-pane.scss';
 
 export interface IngestSuccessPaneProps {
   execution: Execution;
-  onDetails(): void;
+  onDetails(id: string, initTab?: ExecutionDetailsTab): void;
   onQueryTab?(newQuery: WorkbenchQuery, tabName?: string): void;
 }
 
@@ -54,12 +55,20 @@ export const IngestSuccessPane = React.memo(function 
IngestSuccessPane(
   return (
     <div className="ingest-success-pane">
       <p>
-        {`${rows < 0 ? 'Data' : pluralIfNeeded(rows, 'row')} inserted into 
'${datasource}'.` +
-          (warnings > 0 ? ` ${pluralIfNeeded(warnings, 'warning')} generated.` 
: '')}
+        {`${rows < 0 ? 'Data' : pluralIfNeeded(rows, 'row')} inserted into 
'${datasource}'.`}
+        {warnings > 0 && (
+          <>
+            {' '}
+            <span className="action" onClick={() => onDetails(execution.id, 
'warnings')}>
+              {pluralIfNeeded(warnings, 'warning')}
+            </span>{' '}
+            recorded.
+          </>
+        )}
       </p>
       <p>
         {duration ? `Insert query took ${formatDuration(duration)}. ` : 
`Insert query completed. `}
-        <span className="action" onClick={onDetails}>
+        <span className="action" onClick={() => onDetails(execution.id)}>
           Show details
         </span>
       </p>
diff --git a/web-console/src/views/workbench-view/query-tab/query-tab.tsx 
b/web-console/src/views/workbench-view/query-tab/query-tab.tsx
index 712e2c42f0..5c6d68332c 100644
--- a/web-console/src/views/workbench-view/query-tab/query-tab.tsx
+++ b/web-console/src/views/workbench-view/query-tab/query-tab.tsx
@@ -403,7 +403,7 @@ export const QueryTab = React.memo(function QueryTab(props: 
QueryTabProps) {
             ) : execution.isSuccessfulInsert() ? (
               <IngestSuccessPane
                 execution={execution}
-                onDetails={() => onDetails(statsTaskId!)}
+                onDetails={onDetails}
                 onQueryTab={onQueryTab}
               />
             ) : execution.error ? (


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to