-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add copy recursive API to pinotFS #8200
add copy recursive API to pinotFS #8200
Conversation
a3736c8
to
f8dd785
Compare
Codecov Report
@@ Coverage Diff @@
## master #8200 +/- ##
============================================
- Coverage 71.34% 67.35% -4.00%
+ Complexity 4308 4238 -70
============================================
Files 1623 1226 -397
Lines 84365 62005 -22360
Branches 12657 9642 -3015
============================================
- Hits 60192 41763 -18429
+ Misses 20043 17279 -2764
+ Partials 4130 2963 -1167
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
f8dd785
to
1b6664f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are we making this change?
You can try the
|
Yes I notices that change in #8162, but I don't think this works for 2 reasons.
|
@mcvsubbu Trying to understand the the problem we are trying to solve in #8162. IIUC, we want to have an API in |
1b6664f
to
b20d06d
Compare
b001eff
to
fdefc4e
Compare
Hi @Jackie-Jiang @mcvsubbu I updated the approach to
any additional thoughts to this approach? |
pinot-spi/src/main/java/org/apache/pinot/spi/filesystem/PinotFS.java
Outdated
Show resolved
Hide resolved
pinot-spi/src/main/java/org/apache/pinot/spi/filesystem/PinotFS.java
Outdated
Show resolved
Hide resolved
...ot-file-system/pinot-adls/src/main/java/org/apache/pinot/plugin/filesystem/AzurePinotFS.java
Show resolved
Hide resolved
...ot-file-system/pinot-adls/src/main/java/org/apache/pinot/plugin/filesystem/AzurePinotFS.java
Show resolved
Hide resolved
...t/java/org/apache/pinot/integration/tests/PeerDownloadLLCRealtimeClusterIntegrationTest.java
Outdated
Show resolved
Hide resolved
bc9b4e2
to
e293c95
Compare
e293c95
to
4eb336c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. @mcvsubbu Can you please take another look?
Hi @mcvsubbu, any additional comments on this approach? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for addressing all comments.
@@ -182,7 +182,7 @@ private static void copy(File srcFile, File dstFile, boolean recursive) | |||
FileUtils.copyDirectory(srcFile, dstFile); | |||
} else { | |||
// Throws Exception on failure | |||
throw new IOException(srcFile.getAbsolutePath() + " is a directory"); | |||
throw new IOException(srcFile.getAbsolutePath() + " is a directory and recursive copy is not enabled."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for clarifying the error message
Description
After #8162, behavior for pinotFS.copy is different between cloud and local implementation.
this basically means users who needs to do a recursive copying would need to know exactly what underlying implementation
Proposal
PinotFS.copyDir(srcUri, dstUri)
.Release Note
PinotFS.copy
no longer implicitly copy directory recursively, usePinotFS.copyDir
instead.