You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2020/12/14 07:28:54 UTC

[GitHub] [spark] MaxGekk opened a new pull request #30756: [SPARK-33770][SQL][TESTS][3.1] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

MaxGekk opened a new pull request #30756:
URL: https://github.com/apache/spark/pull/30756


   ### What changes were proposed in this pull request?
   Modify the tests that add partitions with `LOCATION`, and where the number of nested folders in `LOCATION` doesn't match to the number of partitioned columns. In that case, `ALTER TABLE .. DROP PARTITION` tries to access (delete) folder out of the "base" path in `LOCATION`.
   
   The problem belongs to Hive's MetaStore method `drop_partition_common`: 
   https://github.com/apache/hive/blob/8696c82d07d303b6dbb69b4d443ab6f2b241b251/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java#L4876
   which tries to delete empty partition sub-folders recursively starting from the most deeper partition sub-folder up to the base folder. In the case when the number of sub-folder is not equal to the number of partitioned columns `part_vals.size()`, the method will try to list and delete folders out of the base path.  
   
   ### Why are the changes needed?
   To fix test failures like https://github.com/apache/spark/pull/30643#issuecomment-743774733:
   ```
   org.apache.spark.sql.hive.execution.command.AlterTableAddPartitionSuite.ALTER TABLE .. ADD PARTITION Hive V1: SPARK-33521: universal type conversions of partition values
   sbt.ForkMain$ForkError: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: File file:/home/jenkins/workspace/SparkPullRequestBuilder/target/tmp/spark-832cb19c-65fd-41f3-ae0b-937d76c07897 does not exist;
   	at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:112)
   	at org.apache.spark.sql.hive.HiveExternalCatalog.dropPartitions(HiveExternalCatalog.scala:1014)
   ...
   Caused by: sbt.ForkMain$ForkError: org.apache.hadoop.hive.metastore.api.MetaException: File file:/home/jenkins/workspace/SparkPullRequestBuilder/target/tmp/spark-832cb19c-65fd-41f3-ae0b-937d76c07897 does not exist
   	at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.drop_partition_with_environment_context(HiveMetaStore.java:3381)
   	at sun.reflect.GeneratedMethodAccessor304.invoke(Unknown Source)
   ```
   
   The issue can be reproduced by the following steps:
   1. Create a base folder, for example: `/Users/maximgekk/tmp/part-location`
   2. Create a sub-folder in the base folder and drop permissions for it:
   ```
   $ mkdir /Users/maximgekk/tmp/part-location/aaa
   $ chmod a-rwx chmod a-rwx /Users/maximgekk/tmp/part-location/aaa
   $ ls -al /Users/maximgekk/tmp/part-location
   total 0
   drwxr-xr-x   3 maximgekk  staff    96 Dec 13 18:42 .
   drwxr-xr-x  33 maximgekk  staff  1056 Dec 13 18:32 ..
   d---------   2 maximgekk  staff    64 Dec 13 18:42 aaa
   ```
   3. Create a table with a partition folder in the base folder:
   ```sql
   spark-sql> create table tbl (id int) partitioned by (part0 int, part1 int);
   spark-sql> alter table tbl add partition (part0=1,part1=2) location '/Users/maximgekk/tmp/part-location/tbl';
   ``` 
   4. Try to drop this partition:
   ```
   spark-sql> alter table tbl drop partition (part0=1,part1=2);
   20/12/13 18:46:07 ERROR HiveClientImpl:
   ======================
   Attempt to drop the partition specs in table 'tbl' database 'default':
   Map(part0 -> 1, part1 -> 2)
   In this attempt, the following partitions have been dropped successfully:
   
   The remaining partitions have not been dropped:
   [1, 2]
   ======================
   
   Error in query: org.apache.hadoop.hive.ql.metadata.HiveException: Error accessing file:/Users/maximgekk/tmp/part-location/aaa;
   org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: Error accessing file:/Users/maximgekk/tmp/part-location/aaa;
   ```
   The command fails because it tries to access to the sub-folder `aaa` that is out of the partition path `/Users/maximgekk/tmp/part-location/tbl`.
   
   ### Does this PR introduce _any_ user-facing change?
   No
   
   ### How was this patch tested?
   By running the affected tests from local IDEA which does not have access to folders out of partition paths.
   
   Lead-authored-by: Max Gekk <ma...@gmail.com>
   Co-authored-by: Maxim Gekk <ma...@gmail.com>
   Signed-off-by: HyukjinKwon <gu...@apache.org>
   (cherry picked from commit 9160d59ae379910ca3bbd04ee25d336afff28abd)
   Signed-off-by: Max Gekk <ma...@gmail.com>


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA commented on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744418495


   **[Test build #132757 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/132757/testReport)** for PR 30756 at commit [`1ad11ae`](https://github.com/apache/spark/commit/1ad11aea2f47926979755819544324d02bc6e086).
    * This patch **fails SparkR unit tests**.
    * This patch merges cleanly.
    * This patch adds no public classes.


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA removed a comment on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744255409


   **[Test build #132757 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/132757/testReport)** for PR 30756 at commit [`1ad11ae`](https://github.com/apache/spark/commit/1ad11aea2f47926979755819544324d02bc6e086).


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] AmplabJenkins removed a comment on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744299422






----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744298748


   Merged to branch-3.1 and branch-3.0.


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon closed pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
HyukjinKwon closed pull request #30756:
URL: https://github.com/apache/spark/pull/30756


   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] AmplabJenkins commented on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744423277


   
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/132757/
   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] AmplabJenkins commented on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744299422


   
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37359/
   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA commented on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744282530


   Kubernetes integration test starting
   URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37359/
   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA commented on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744255409


   **[Test build #132757 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/132757/testReport)** for PR 30756 at commit [`1ad11ae`](https://github.com/apache/spark/commit/1ad11aea2f47926979755819544324d02bc6e086).


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA commented on pull request #30756: [SPARK-33770][SQL][TESTS][3.1][3.0] Fix the `ALTER TABLE .. DROP PARTITION` tests that delete files out of partition path

Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #30756:
URL: https://github.com/apache/spark/pull/30756#issuecomment-744299384


   Kubernetes integration test status failure
   URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37359/
   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org