juliuszsompolski opened a new pull request #28156: [SPARK-31388] 
org.apache.spark.sql.hive.thriftserver.CliSuite doesn't match results correctly
URL: https://github.com/apache/spark/pull/28156
 
 
   ### What changes were proposed in this pull request?
   
   `CliSuite.runCliWithin` was not matching for expected results correctly. It 
was matching for expected lines anywhere in stdout or stderr.
   On the example of `Single command with --database` test:
   In
   ```
       runCliWithin(2.minute)(
         "CREATE DATABASE hive_db_test;"
           -> "",
         "USE hive_test;"
           -> "",
         "CREATE TABLE hive_test(key INT, val STRING);"
           -> "",
         "SHOW TABLES;"
           -> "hive_test"
       )
   ```
   It was looking for lines containing "", "", "" and then "hive_test".
   However, the string "hive_test" was contained in "hive_test_db", and hence:
   ```
   2020-04-08 17:53:12,752 INFO  CliSuite - 2020-04-08 17:53:12.752 - stderr> 
Spark master: local, Application Id: local-1586368384172
   2020-04-08 17:53:12,765 INFO  CliSuite - stderr> found expected output line 
0: ""
   2020-04-08 17:53:12,765 INFO  CliSuite - 2020-04-08 17:53:12.765 - stdout> 
spark-sql> CREATE DATABASE hive_db_test;
   2020-04-08 17:53:12,765 INFO  CliSuite - stdout> found expected output line 
1: ""
   2020-04-08 17:53:17,688 INFO  CliSuite - 2020-04-08 17:53:17.688 - stderr> 
chgrp: changing ownership of 
'file:///tmp/spark-8811f069-4cba-4c71-a5d6-62dd925fb5ff': chown: changing group 
of '/tmp/spark-8811f069-4cba-4c71-a5d6-62dd925fb5ff': Operation not permitted
   2020-04-08 17:53:12,765 INFO  CliSuite - stderr> found expected output line 
2: ""
   2020-04-08 17:53:18,069 INFO  CliSuite - 2020-04-08 17:53:18.069 - stderr> 
Time taken: 5.265 seconds
   2020-04-08 17:53:18,087 INFO  CliSuite - 2020-04-08 17:53:18.087 - stdout> 
spark-sql> USE hive_test;
   2020-04-08 17:53:12,765 INFO  CliSuite - stdout> found expected output line 
3: "hive_test"
   2020-04-08 17:53:21,742 INFO  CliSuite - Found all expected output.
   ```
   Because of that, it could kill the CLI process without really even creating 
the table.
   The test could be flaky depending on whether process.destroy() in the 
finally block managed to kill it before it actually creates the table.
   
   ### Why are the changes needed?
   
   org.apache.spark.sql.hive.thriftserver.CliSuite was flaky, and didn't test 
outputs as expected.
   
   ### Does this PR introduce any user-facing change?
   
   No.
   
   
   ### How was this patch tested?
   
   Existing tests in CLISuite.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

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

Reply via email to