Github user manishgupta88 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/1082#discussion_r159584326
  
    --- Diff: 
integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/badrecordloger/BadRecordLoggerTest.scala
 ---
    @@ -247,6 +248,33 @@ class BadRecordLoggerTest extends QueryTest with 
BeforeAndAfterAll {
         }
       }
     
    +  test(
    +    "test if first load failed due to bad record then second load should 
not failed if there is " +
    +    "no bad record") {
    +    sql("drop table IF EXISTS loadIssue")
    +    sql("""CREATE TABLE IF NOT EXISTS loadIssue(ID BigInt, item String) 
STORED BY 'carbondata'""")
    +    
CarbonProperties.getInstance().addProperty(CarbonCommonConstants.CARBON_BAD_RECORDS_ACTION,
    +      "FAIL").addProperty(CarbonCommonConstants.LOAD_SORT_SCOPE, 
"GLOBAL_SORT")
    +    try {
    +      sql("insert into loadIssue select 'x','Book'");
    +    } catch {
    +      case ex: Exception =>
    +        assert(true)
    +    }
    +    try {
    +      sql("insert into loadIssue select 1,'Book'");
    +    } catch {
    +      case ex: Exception =>
    +        assert(false)
    +    } finally {
    +      CarbonProperties.getInstance()
    +        .addProperty(CarbonCommonConstants.CARBON_BAD_RECORDS_ACTION, 
"FORCE")
    +        .addProperty(CarbonCommonConstants.LOAD_SORT_SCOPE, "LOCAL_SORT")
    +    }
    +    assert(true)
    +    sql("drop table IF EXISTS loadIssue")
    +  }
    +
    --- End diff --
    
    1. Use only one try and finally block inside test code..try should start 
from first line and end at last and finally should only reset the carbon 
property
    2. Instead of try catch use intercept[Exception] only for the 1st case 
where exception is expected. For 2nd case try catch is not required...if 
exception comes anyways test case will fail


---

Reply via email to