[HUDI-3418] Save timeout option for remote RemoteFileSystemView (#4809)
Co-authored-by: yuzhaojing <yuzhaojing@bytedance.com>
This commit is contained in:
@@ -112,8 +112,12 @@ public class EmbeddedTimelineService {
|
||||
FileSystemViewStorageType viewStorageType = writeConfig.getClientSpecifiedViewStorageConfig()
|
||||
.shouldEnableBackupForRemoteFileSystemView()
|
||||
? FileSystemViewStorageType.REMOTE_FIRST : FileSystemViewStorageType.REMOTE_ONLY;
|
||||
return FileSystemViewStorageConfig.newBuilder().withStorageType(viewStorageType)
|
||||
.withRemoteServerHost(hostAddr).withRemoteServerPort(serverPort).build();
|
||||
return FileSystemViewStorageConfig.newBuilder()
|
||||
.withStorageType(viewStorageType)
|
||||
.withRemoteServerHost(hostAddr)
|
||||
.withRemoteServerPort(serverPort)
|
||||
.withRemoteTimelineClientTimeoutSecs(writeConfig.getClientSpecifiedViewStorageConfig().getRemoteTimelineClientTimeoutSecs())
|
||||
.build();
|
||||
}
|
||||
|
||||
public FileSystemViewManager getViewManager() {
|
||||
|
||||
@@ -240,7 +240,7 @@ public class FileSystemViewStorageConfig extends HoodieConfig {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder withRemoteTimelineClientTimeoutSecs(Long timelineClientTimeoutSecs) {
|
||||
public Builder withRemoteTimelineClientTimeoutSecs(Integer timelineClientTimeoutSecs) {
|
||||
fileSystemViewStorageConfig.setValue(REMOTE_TIMEOUT_SECS, timelineClientTimeoutSecs.toString());
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -406,7 +406,9 @@ public class StreamerUtil {
|
||||
FileSystemViewStorageConfig rebuilt = FileSystemViewStorageConfig.newBuilder()
|
||||
.withStorageType(viewStorageConfig.getStorageType())
|
||||
.withRemoteServerHost(viewStorageConfig.getRemoteViewServerHost())
|
||||
.withRemoteServerPort(viewStorageConfig.getRemoteViewServerPort()).build();
|
||||
.withRemoteServerPort(viewStorageConfig.getRemoteViewServerPort())
|
||||
.withRemoteTimelineClientTimeoutSecs(viewStorageConfig.getRemoteTimelineClientTimeoutSecs())
|
||||
.build();
|
||||
ViewStorageProperties.createProperties(conf.getString(FlinkOptions.PATH), rebuilt);
|
||||
return writeClient;
|
||||
}
|
||||
|
||||
@@ -397,6 +397,7 @@ public class TestWriteCopyOnWrite extends TestWriteBase {
|
||||
|
||||
@Test
|
||||
public void testReuseEmbeddedServer() throws IOException {
|
||||
conf.setInteger("hoodie.filesystem.view.remote.timeout.secs", 500);
|
||||
HoodieFlinkWriteClient writeClient = StreamerUtil.createWriteClient(conf);
|
||||
FileSystemViewStorageConfig viewStorageConfig = writeClient.getConfig().getViewStorageConfig();
|
||||
|
||||
@@ -406,6 +407,7 @@ public class TestWriteCopyOnWrite extends TestWriteBase {
|
||||
writeClient = StreamerUtil.createWriteClient(conf);
|
||||
assertSame(writeClient.getConfig().getViewStorageConfig().getStorageType(), FileSystemViewStorageType.REMOTE_FIRST);
|
||||
assertEquals(viewStorageConfig.getRemoteViewServerPort(), writeClient.getConfig().getViewStorageConfig().getRemoteViewServerPort());
|
||||
assertEquals(viewStorageConfig.getRemoteTimelineClientTimeoutSecs(), 500);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user