zhuliquan commented on PR #13531:
URL: https://github.com/apache/datafusion/pull/13531#issuecomment-2495824192

   > > 🤔 the test now seems to be failing
   > > I wonder if it has to do with how the temp files are created 🤔
   > 
   > I suspect that the specific char '%7E' (i.e. '~') appears in the 
directory, and the Windows system seems to be unable to handle this.
   > 
   > ```
   > thread 'parquet::external_access_plan::two_selections' panicked at 
datafusion\core\tests\parquet\external_access_plan.rs:289:10:
   > called `Result::unwrap()` on an `Err` value: 
ParquetError(External(NotFound { path: 
"C:\\Users\\RUNNER%7E1\\AppData\\Local\\Temp\\user_access_planObCLIR.parquet", 
source: Os { code: 3, kind: NotFound, message: "The system cannot find the path 
specified." } }))
   > ```
   > 
   > So I fix below code to avoid the specific char which begin with '%'.
   > 
   > 1. replacing '\' to '/' when `target_os` is `windows`.
   >    
https://github.com/apache/datafusion/blob/b65d2a3a770596bc33d90f11a908ae29065068bf/datafusion/core/tests/parquet/external_access_plan.rs#L323-L328
   >    
   >    Because, `Path::new` will replace '\\' to '\\%5C' (i.e. '\') in 
`PartitionedFile::new`.
   >    
https://github.com/apache/datafusion/blob/b65d2a3a770596bc33d90f11a908ae29065068bf/datafusion/core/tests/parquet/external_access_plan.rs#L330
   >    
   >    and
   >    
https://github.com/apache/datafusion/blob/b65d2a3a770596bc33d90f11a908ae29065068bf/datafusion/core/src/datasource/listing/mod.rs#L90-L93
   > 2. using current dir as temp file dir (Because `temp` dir in CI is located 
at `C:\\Users\\RUNNER%7E1` and other loading parquet cases which are run ok on 
windows also use data in `../../parquet-testing/data`), and remove temp file at 
the end of the case run.
   >    
https://github.com/apache/datafusion/blob/b65d2a3a770596bc33d90f11a908ae29065068bf/datafusion/core/tests/parquet/external_access_plan.rs#L392
   >    
   >    and
   >    
https://github.com/apache/datafusion/blob/b65d2a3a770596bc33d90f11a908ae29065068bf/datafusion/core/tests/parquet/external_access_plan.rs#L366
   > 3. For sake of removing temp file at the end of each case run, I remove 
singleton mode of TestData in `get_test_data`
   >    
https://github.com/apache/datafusion/blob/b65d2a3a770596bc33d90f11a908ae29065068bf/datafusion/core/tests/parquet/external_access_plan.rs#L382-L419
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to