Skip to content

Commit 39cff66

Browse files
github-actions[bot]Stuart Cam
andauthored
Adds socket timeout and connect timeout options to reindex on server. (#4470) (#4472)
Addresses documentation of features here: https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-reindex.html#reindex-from-remote Co-authored-by: Stuart Cam <stuart@codebrain.co.uk>
1 parent ef0a81d commit 39cff66

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

src/Nest/Document/Multiple/ReindexOnServer/RemoteSource.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ public interface IRemoteSource
1313

1414
[DataMember(Name ="username")]
1515
string Username { get; set; }
16+
17+
[DataMember(Name ="socket_timeout")]
18+
Time SocketTimeout { get; set; }
19+
20+
[DataMember(Name ="connect_timeout")]
21+
Time ConnectTimeout { get; set; }
1622
}
1723

1824
public class RemoteSource : IRemoteSource
@@ -22,6 +28,10 @@ public class RemoteSource : IRemoteSource
2228
public string Password { get; set; }
2329

2430
public string Username { get; set; }
31+
32+
public Time SocketTimeout { get; set; }
33+
34+
public Time ConnectTimeout { get; set; }
2535
}
2636

2737
public class RemoteSourceDescriptor : DescriptorBase<RemoteSourceDescriptor, IRemoteSource>, IRemoteSource
@@ -30,10 +40,18 @@ public class RemoteSourceDescriptor : DescriptorBase<RemoteSourceDescriptor, IRe
3040
string IRemoteSource.Password { get; set; }
3141
string IRemoteSource.Username { get; set; }
3242

43+
Time IRemoteSource.SocketTimeout { get; set; }
44+
45+
Time IRemoteSource.ConnectTimeout { get; set; }
46+
3347
public RemoteSourceDescriptor Host(Uri host) => Assign(host, (a, v) => a.Host = v);
3448

3549
public RemoteSourceDescriptor Username(string username) => Assign(username, (a, v) => a.Username = v);
3650

3751
public RemoteSourceDescriptor Password(string password) => Assign(password, (a, v) => a.Password = v);
52+
53+
public RemoteSourceDescriptor SocketTimeout(Time socketTimeout) => Assign(socketTimeout, (a, v) => a.SocketTimeout = v);
54+
55+
public RemoteSourceDescriptor ConnectTimeout(Time connectTimeout) => Assign(connectTimeout, (a, v) => a.ConnectTimeout = v);
3856
}
3957
}

tests/Tests/Document/Multiple/ReindexOnServer/ReindexOnServerRemoteApiTests.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ public ReindexOnServerRemoteApiTests(IntrusiveOperationCluster cluster, Endpoint
2929
{
3030
host = "http://myremoteserver.example:9200",
3131
username = "user",
32-
password = "changeme"
32+
password = "changeme",
33+
socket_timeout = "1m",
34+
connect_timeout = "10s"
3335
},
3436
index = CallIsolatedValue,
3537
size = 100
@@ -38,7 +40,7 @@ public ReindexOnServerRemoteApiTests(IntrusiveOperationCluster cluster, Endpoint
3840

3941
protected override Func<ReindexOnServerDescriptor, IReindexOnServerRequest> Fluent => d => d
4042
.Source(s => s
41-
.Remote(r => r.Host(_host).Username("user").Password("changeme"))
43+
.Remote(r => r.Host(_host).Username("user").Password("changeme").SocketTimeout("1m").ConnectTimeout("10s"))
4244
.Index(CallIsolatedValue)
4345
.Size(100)
4446
)
@@ -56,7 +58,9 @@ public ReindexOnServerRemoteApiTests(IntrusiveOperationCluster cluster, Endpoint
5658
{
5759
Host = _host,
5860
Username = "user",
59-
Password = "changeme"
61+
Password = "changeme",
62+
SocketTimeout = "1m",
63+
ConnectTimeout = "10s"
6064
},
6165
Index = CallIsolatedValue,
6266
Size = 100

0 commit comments

Comments
 (0)