Skip to content

Commit f707e71

Browse files
SNOW-3344317: normalize scheme-less S3 stageEndPoint for endpointOverride
Prepend https:// when stageEndPoint has no URI scheme so AWS SDK v2 endpointOverride does not reject URI with null scheme. Log at DEBUG when normalization is applied. Accept existing http:// URLs unchanged. Made-with: Cursor
1 parent 5591744 commit f707e71

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/main/java/net/snowflake/client/internal/jdbc/cloud/storage/SnowflakeS3Client.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,14 @@ private void setupSnowflakeS3Client(
174174
if (this.stageEndPoint != null
175175
&& !this.stageEndPoint.isEmpty()
176176
&& !"null".equals(this.stageEndPoint)) {
177-
clientBuilder.endpointOverride(URI.create(this.stageEndPoint));
177+
String endpointForOverride = this.stageEndPoint;
178+
if (!endpointForOverride.startsWith("https://")
179+
&& !endpointForOverride.startsWith("http://")) {
180+
logger.debug(
181+
"SNOW-3344317: stageEndPoint has no scheme: {}", this.stageEndPoint);
182+
endpointForOverride = "https://" + endpointForOverride;
183+
}
184+
clientBuilder.endpointOverride(URI.create(endpointForOverride));
178185
clientBuilder.region(region);
179186
} else {
180187
if (this.isUseS3RegionalUrl) {

0 commit comments

Comments
 (0)