Skip to content

Commit 26fcceb

Browse files
committed
Fix stack overflow in reindex observable
1 parent c119792 commit 26fcceb

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

src/Nest/Domain/Observers/ReindexObservable.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,16 @@ private void Reindex(IObserver<IReindexResponse<T>> observer)
5353
throw new ReindexException(createIndexResponse.ConnectionStatus);
5454

5555
var page = 0;
56-
Func<SearchDescriptor<T>, SearchDescriptor<T>> searchDescriptor = s => s.Index(fromIndex);
56+
var searchDescriptor = new SearchDescriptor<T>().Index(fromIndex);
5757

5858
if (allTypes)
59-
searchDescriptor = s => searchDescriptor(s).AllTypes();
59+
searchDescriptor.AllTypes();
6060
else
61-
searchDescriptor = s => searchDescriptor(s).Type<T>();
61+
searchDescriptor.Type<T>();
6262

6363

6464
var searchResult = this.CurrentClient.Search<T>(
65-
s => searchDescriptor(s)
65+
s => searchDescriptor
6666
.From(0)
6767
.Size(size)
6868
.Query(this._reindexDescriptor._QuerySelector ?? (q => q.MatchAll()))

src/Nest/Domain/Observers/ReindexObserver.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ public ReindexObserver(
1111
: base(onNext, onError, completed)
1212
{
1313
}
14+
}
15+
16+
public class ReindexObserver : ReindexObserver<IDocument>
17+
{
1418

19+
public ReindexObserver(
20+
Action<IReindexResponse<IDocument>> onNext = null,
21+
Action<Exception> onError = null,
22+
Action completed = null)
23+
: base(onNext, onError, completed)
24+
{
25+
}
1526
}
1627
}

src/Tests/Nest.Tests.Integration/Index/ReindexTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using NUnit.Framework;
5+
using Nest.Tests.MockData.Domain;
56

67

78
namespace Nest.Tests.Integration.Index
@@ -13,11 +14,11 @@ public class ReindexTests : IntegrationTests
1314
public void ReindexMinimal()
1415
{
1516
var toIndex = ElasticsearchConfiguration.NewUniqueIndexName();
16-
var observable = this.Client.Reindex<object>(r => r
17+
var observable = this.Client.Reindex(r => r
1718
.FromIndex(ElasticsearchConfiguration.DefaultIndex)
1819
.ToIndex(toIndex)
1920
);
20-
var observer = new ReindexObserver<object>(
21+
var observer = new ReindexObserver(
2122
onError: (e) => Assert.Fail(e.Message),
2223
completed: () =>
2324
{

0 commit comments

Comments
 (0)