[ 
https://issues.apache.org/jira/browse/DRILL-4653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15378334#comment-15378334
 ] 

ASF GitHub Bot commented on DRILL-4653:
---------------------------------------

Github user chunhui-shi commented on a diff in the pull request:

    https://github.com/apache/drill/pull/518#discussion_r70879473
  
    --- Diff: 
exec/java-exec/src/test/java/org/apache/drill/exec/store/json/TestJsonRecordReader.java
 ---
    @@ -159,64 +164,91 @@ public void drill_3353() throws Exception {
           test("create table dfs_test.tmp.drill_3353 as select a from 
dfs.`${WORKING_PATH}/src/test/resources/jsoninput/drill_3353` where e = true");
           String query = "select t.a.d cnt from dfs_test.tmp.drill_3353 t 
where t.a.d is not null";
           test(query);
    -      testBuilder()
    -          .sqlQuery(query)
    -          .unOrdered()
    -          .baselineColumns("cnt")
    -          .baselineValues("1")
    -          .go();
    +      testBuilder().sqlQuery(query).unOrdered().baselineColumns("cnt")
    +          .baselineValues("1").go();
         } finally {
           testNoResult("alter session set `store.json.all_text_mode` = false");
         }
       }
     
    -  @Test // See DRILL-3476
    +  @Test
    +  // See DRILL-3476
       public void testNestedFilter() throws Exception {
         String query = "select a from cp.`jsoninput/nestedFilter.json` t where 
t.a.b = 1";
         String baselineQuery = "select * from cp.`jsoninput/nestedFilter.json` 
t where t.a.b = 1";
    -    testBuilder()
    -        .sqlQuery(query)
    -        .unOrdered()
    -        .sqlBaselineQuery(baselineQuery)
    +    
testBuilder().sqlQuery(query).unOrdered().sqlBaselineQuery(baselineQuery)
             .go();
       }
     
    - @Test // See DRILL-4653
    -public void testSkippingInvalidJSONRecords() throws Exception {
    -    try
    -    {
    -      String set = "alter session set `" + 
ExecConstants.JSON_READER_SKIP_INVALID_RECORDS_FLAG+ "` = true";
    -      String query = "select count(*) from cp.`jsoninput/DRILL-4653.json`";
    +  @Test
    +  // See DRILL-4653
    +  /* Test for CountingJSONReader */
    +  public void testCountingQuerySkippingInvalidJSONRecords() throws 
Exception {
    +    try {
    +      String set = "alter session set `"
    +          + ExecConstants.JSON_READER_SKIP_INVALID_RECORDS_FLAG + "` = 
true";
    +      String set1 = "alter session set `"
    +          + ExecConstants.JSON_READER_PRINT_INVALID_RECORDS_LINE_NOS_FLAG
    +          + "` = true";
    +      String query = "select count(*) from 
cp.`jsoninput/drill4653/file.json`";
    +      testNoResult(set);
    +      testNoResult(set1);
    +      
testBuilder().unOrdered().sqlQuery(query).sqlBaselineQuery(query).build()
    --- End diff --
    
    Should we verify the expected count against the result?


> Malformed JSON should not stop the entire query from progressing
> ----------------------------------------------------------------
>
>                 Key: DRILL-4653
>                 URL: https://issues.apache.org/jira/browse/DRILL-4653
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Storage - JSON
>    Affects Versions: 1.6.0
>            Reporter: subbu srinivasan
>             Fix For: Future
>
>
> Currently Drill query terminates upon first encounter of a invalid JSON line.
> Drill has to continue progressing after ignoring the bad records. Something 
> similar to a setting of (ignore.malformed.json) would help.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to