-
Notifications
You must be signed in to change notification settings - Fork 2k
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
[BUG] srcUri is decoded and not encoded back for rename API (ADLS Gen2) #8761
Comments
Hi @snleee Thank you for reporting this issue. I'll take a look and see what could be causing it. |
For the record, there's a fairly specific system of this in blobs, and I think we even had to fix a bug around customers wanting % in the blob name, so we should check out what patterns/history we have there. |
@gapra-msft @rickle-msft Thank you for the update. Can we have some idea on the timeline on fixing the issue and making the new library version available to public? |
My best estimate is that we can have this ready for the April release, which would be about this time next month, though I can't guarantee we will hit that target. |
1. Testing have been done by attaching ADLS Gen2 to the local deployment. 2. move() is implemented by copy & delete because of azure sdk issue with rename() API. Azure/azure-sdk-for-java#8761
* Add Azure Data Lake Gen2 connector for PinotFS 1. Testing have been done by attaching ADLS Gen2 to the local deployment. 2. move() is implemented by copy & delete because of azure sdk issue with rename() API. Azure/azure-sdk-for-java#8761 * Addressing comments
Describe the bug
Let's go over the example with
filename = "segment1 %"
and I want to rename this file tosegment1
on ADLS Gen2 using Java SDK.Because Java SDK usually takes the url encoded path, I was calling the following:
Exception or Stack Trace
To Reproduce
Steps to reproduce the behavior:
segment1 %
under directory/a
using storage explorer. (/a/segment1 %
)Code Snippet
Add the code snippet that causes the issue.
Please look at the highlighted line where it rebuilds the src path.
azure-sdk-for-java/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakePathClient.java
Line 505 in 26730b6
dataLakePathAsyncClient.getObjectPath()
decodes the path as shown below.azure-sdk-for-java/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakePathAsyncClient.java
Line 163 in ffa0c09
So eventually,
a/segment_1 %
is passed to the API, which ends up throwinginvalid srcUri
exception.Expected behavior
A clear and concise description of what you expected to happen.
azure-sdk-for-java/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakePathClient.java
Line 505 in 26730b6
The above line needs to be changed like the following:
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):
Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report
The text was updated successfully, but these errors were encountered: