Skip to content
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

Fix issue with S3 FS not working with segments with spaces in the name #10055

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

saurabhd336
Copy link
Contributor

S3PinotFS fails to process segments with spaces in their names. This is due to URI.getPath() returning decoded path while the .prefix function expects unescaped path.

@codecov-commenter
Copy link

codecov-commenter commented Jan 4, 2023

Codecov Report

Merging #10055 (a29c4b2) into master (53e1dbc) will increase coverage by 35.32%.
The diff coverage is 25.00%.

@@              Coverage Diff              @@
##             master   #10055       +/-   ##
=============================================
+ Coverage     35.06%   70.39%   +35.32%     
- Complexity      200     5695     +5495     
=============================================
  Files          1995     1995               
  Lines        107593   107612       +19     
  Branches      16353    16359        +6     
=============================================
+ Hits          37732    75754    +38022     
+ Misses        66611    26555    -40056     
- Partials       3250     5303     +2053     
Flag Coverage Δ
integration1 25.12% <0.00%> (+0.01%) ⬆️
integration2 24.27% <0.00%> (-0.09%) ⬇️
unittests1 67.90% <16.66%> (?)
unittests2 13.59% <12.50%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
.../pinot/core/data/manager/BaseTableDataManager.java 73.44% <0.00%> (+15.31%) ⬆️
...ache/pinot/segment/spi/store/SegmentDirectory.java 45.45% <ø> (+45.45%) ⬆️
.../org/apache/pinot/plugin/filesystem/S3PinotFS.java 40.65% <50.00%> (ø)
...t/local/segment/store/SegmentLocalFSDirectory.java 73.58% <100.00%> (+73.58%) ⬆️
...ntroller/helix/core/minion/TaskMetricsEmitter.java 72.00% <0.00%> (-14.00%) ⬇️
...not/broker/broker/helix/ClusterChangeMediator.java 75.26% <0.00%> (-5.38%) ⬇️
...lix/core/realtime/PinotRealtimeSegmentManager.java 77.50% <0.00%> (-3.00%) ⬇️
...lix/core/minion/PinotHelixTaskResourceManager.java 41.87% <0.00%> (-2.71%) ⬇️
...manager/realtime/HLRealtimeSegmentDataManager.java 77.98% <0.00%> (-2.30%) ⬇️
...core/startree/operator/StarTreeFilterOperator.java 86.75% <0.00%> (-1.99%) ⬇️
... and 1125 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@@ -98,6 +98,8 @@
*/
public abstract class SegmentDirectory implements Closeable {

public abstract boolean isDirectoryMatchingWithLatestConfigs();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this API stands for?

@Jackie-Jiang
Copy link
Contributor

Can we also add a test to guard the behavior?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants