deepakpanda93 commented on issue #15888:
URL: https://github.com/apache/hudi/issues/15888#issuecomment-5422932391

   This issue was reviewed as part of the JIRA-migrated backlog triage. It is 
being kept open - still accurate on
   master.
   
   `SparkClientFunctionalTestHarness.java:129-131`:
   
   ```java
   public String basePath() {
     return tempDir.toAbsolutePath().toUri().toString();
   }
   ```
   
   The `.toUri()` is what yields the `file:/` scheme, and there is no `baseUri` 
in the file.
   
   The good news is the target shape already exists in the class this ticket 
names as the model.
   `HoodieCommonTestHarness`:
   
   ```java
   :92   protected String basePath;
   :93   protected URI baseUri;
   :119  this.basePath = basePath.toAbsolutePath().toString();   // no scheme
   :120  this.baseUri  = basePath.toUri();                        // scheme here
   ```
   
   So the change itself is about four lines. The cost is what depends on it: 
**69 classes** extend this harness, **192
   files** reference `basePath()` under `hudi-client`, and **8** concatenate 
`basePath() + "/"` - those last ones change
   meaning silently rather than failing to compile.
   
   Rough estimate: half a day to a day. It is test-harness-only, so nothing 
ships to users and the failure mode is loud.
   
   One suggestion: change the harness, then fix call sites module by module. A 
single sweep across 69 subclasses is the
   shape that has killed several large refactor PRs in this repo.


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

Reply via email to