-
Notifications
You must be signed in to change notification settings - Fork 359
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
BT-724 Fix BlobPathBuilder failing on retrieving existing filesystem #6816
Changes from 2 commits
7c474d9
bf4c1b7
2b41d87
7a594ae
4332e95
56ca88b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -62,4 +62,15 @@ class BlobPathBuilderSpec extends AnyFlatSpec with Matchers{ | |
val fileText = (is.readAllBytes.map(_.toChar)).mkString | ||
fileText should include ("This is my test file!!!! Did it work?") | ||
} | ||
|
||
ignore should "build duplicate blob paths in the same filesystem" in { | ||
val endpoint = BlobPathBuilderSpec.buildEndpoint("coaexternalstorage") | ||
val store = "inputs" | ||
val evalPath = "/test/inputFile.txt" | ||
val sas = "{SAS TOKEN HERE}" | ||
val testString = endpoint + "/" + store + evalPath | ||
val blobPath1: BlobPath = new BlobPathBuilder(new AzureSasCredential(sas), store, endpoint) build testString getOrElse fail() | ||
val blobPath2: BlobPath = new BlobPathBuilder(new AzureSasCredential(sas), store, endpoint) build testString getOrElse fail() | ||
blobPath1 should equal(blobPath2) | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm, this is a good demonstration but I don't know that we actually want to check it in. This is a good topic to discuss in Michael's meeting next week, how should we be handling automated tests for this stuff? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed here, I've been leaving this for the time being because I have been using it to verify I haven't broken these changes, but I can remove this before merge |
||
} |
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.
Generally in Scala we don't want unprotected
.get
calls resulting in exceptions, even when we expect and properly handle those exceptions. This is partially style and partially performance - my understanding is that throwing exceptions up and down deep stacks is very expensive, so it's good to get out of the habit.I think there's a different way to structure this whole block so it returns the InvalidFilePath objects directly rather than throwing and creating them in recovery, we can maybe workshop it tomorrow.
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 the feedback here, I figured this wasn't a great way to go, but more generally I wasn't able to find great advice on handling nested try situations overall. I realized now looking at it again, I think the nested try is totally unnecessary 😅 Sounds good!