Skip to content

Commit d483f89

Browse files
committed
update
1 parent 323b5dd commit d483f89

2 files changed

Lines changed: 27 additions & 10 deletions

File tree

parquet-common/src/main/java/org/apache/parquet/storage/impl/NioStorageProvider.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.io.IOException;
2323
import java.io.InputStream;
2424
import java.io.OutputStream;
25+
import java.nio.file.AtomicMoveNotSupportedException;
2526
import java.nio.file.Files;
2627
import java.nio.file.Path;
2728
import java.nio.file.Paths;

parquet-common/src/test/java/org/apache/parquet/storage/TestStorage.java

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,14 @@ public void testRelativePathReturnsNioProvider() {
5151
provider instanceof org.apache.parquet.storage.impl.NioStorageProvider);
5252
}
5353

54-
@Test
55-
public void testHdfsSchemeReturnsHadoopProvider() {
56-
StorageProvider provider = Storage.select(URI.create("hdfs://namenode:8020/test.parquet"));
57-
assertNotNull("Should return a provider", provider);
54+
@Test(expected = IllegalStateException.class)
55+
public void testHdfsSchemeThrowsExceptionWhenHadoopNotAvailable() {
56+
Storage.select(URI.create("hdfs://namenode:8020/test.parquet"));
5857
}
5958

60-
@Test
61-
public void testUnknownSchemeReturnsNioProvider() {
62-
StorageProvider provider = Storage.select(URI.create("s3://bucket/test.parquet"));
63-
assertTrue(
64-
"unknown scheme should return NioStorageProvider",
65-
provider instanceof org.apache.parquet.storage.impl.NioStorageProvider);
59+
@Test(expected = IllegalStateException.class)
60+
public void testUnknownSchemeThrowsExceptionWhenHadoopNotAvailable() {
61+
Storage.select(URI.create("s3://bucket/test.parquet"));
6662
}
6763

6864
@Test
@@ -71,4 +67,24 @@ public void testNioProviderBasicOperations() throws IOException {
7167

7268
assertTrue(provider instanceof org.apache.parquet.storage.impl.NioStorageProvider);
7369
}
70+
71+
@Test
72+
public void testProviderSelectionLogic() {
73+
StorageProvider fileProvider = Storage.select(URI.create("file:///tmp/test.parquet"));
74+
assertTrue(
75+
"file:// should always return NIO provider",
76+
fileProvider instanceof org.apache.parquet.storage.impl.NioStorageProvider);
77+
78+
try {
79+
Storage.select(URI.create("hdfs://namenode:8020/test.parquet"));
80+
fail("Should throw IllegalStateException for hdfs:// when Hadoop not available");
81+
} catch (IllegalStateException e) {
82+
}
83+
84+
try {
85+
Storage.select(URI.create("s3://bucket/test.parquet"));
86+
fail("Should throw IllegalStateException for s3:// when Hadoop not available");
87+
} catch (IllegalStateException e) {
88+
}
89+
}
7490
}

0 commit comments

Comments
 (0)