Skip to content

Commit 2ab7f7e

Browse files
jmdjmd
jmd
authored and
jmd
committed
update packages.
1 parent 14aaa98 commit 2ab7f7e

File tree

13 files changed

+62
-20
lines changed

13 files changed

+62
-20
lines changed

src/DotJEM.Json.Index2.Contexts.Test/DotJEM.Json.Index2.Contexts.Test.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
1616
<PackageReference Include="NUnit" Version="3.14.0" />
1717
</ItemGroup>
1818

@@ -21,4 +21,8 @@
2121
<ProjectReference Include="..\DotJEM.Json.Index2\DotJEM.Json.Index2.csproj" />
2222
</ItemGroup>
2323

24+
<ItemGroup>
25+
<PackageReference Update="DotJEM.ObservableExtensions" Version="0.0.14" />
26+
</ItemGroup>
27+
2428
</Project>

src/DotJEM.Json.Index2.Contexts/DotJEM.Json.Index2.Contexts.csproj

+4
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,8 @@
1010
<ProjectReference Include="..\DotJEM.Json.Index2\DotJEM.Json.Index2.csproj" />
1111
</ItemGroup>
1212

13+
<ItemGroup>
14+
<PackageReference Update="DotJEM.ObservableExtensions" Version="0.0.14" />
15+
</ItemGroup>
16+
1317
</Project>

src/DotJEM.Json.Index2.Management/DotJEM.Json.Index2.Management.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="DotJEM.Web.Scheduler" Version="0.0.9" />
10+
<PackageReference Include="DotJEM.Web.Scheduler" Version="0.0.10" />
1111
</ItemGroup>
1212

1313
<ItemGroup>
1414
<ProjectReference Include="..\DotJEM.Json.Index2.Snapshots\DotJEM.Json.Index2.Snapshots.csproj" />
1515
<ProjectReference Include="..\DotJEM.Json.Index2\DotJEM.Json.Index2.csproj" />
1616
</ItemGroup>
17+
18+
<ItemGroup>
19+
<PackageReference Update="DotJEM.ObservableExtensions" Version="0.0.14" />
20+
</ItemGroup>
1721

1822
</Project>

src/DotJEM.Json.Index2.Management/IJsonIndexManager.cs

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Collections.Generic;
23
using System.Diagnostics;
34
using System.Linq;
45
using System.Reactive.Concurrency;
@@ -56,6 +57,7 @@ public JsonIndexManager(
5657
this.writer.InfoStream.Subscribe(infoStream);
5758

5859
Tracker = new IngestProgressTracker();
60+
5961
jsonDocumentSource.DocumentChanges.ForEachAsync(CaptureChange);
6062
jsonDocumentSource.InfoStream.Subscribe(infoStream);
6163
jsonDocumentSource.Initialized.Subscribe(Tracker.SetInitialized);
@@ -71,6 +73,7 @@ public JsonIndexManager(
7173

7274
public async Task RunAsync()
7375
{
76+
index.Storage.Delete();
7477
bool restoredFromSnapshot = await RestoreSnapshotAsync().ConfigureAwait(false);
7578
infoStream.WriteInfo($"Index restored from a snapshot: {restoredFromSnapshot}.");
7679

@@ -110,7 +113,6 @@ public Task UpdateGenerationAsync(string area, long generation)
110113
return Task.CompletedTask;
111114
}
112115

113-
114116
/// <summary>
115117
/// Stops the underlying <see cref="IJsonDocumentSource"/>, deletes it's storage,
116118
/// requests reset of the underlying <see cref="IJsonDocumentSource"/> and then starts it again.
@@ -122,7 +124,7 @@ public async Task ResetIndexAsync()
122124
await jsonDocumentSource.ResetAsync().ConfigureAwait(false);
123125
await jsonDocumentSource.StartAsync().ConfigureAwait(false);
124126
}
125-
127+
126128
private void CaptureChange(IJsonDocumentSourceEvent sourceEvent)
127129
{
128130
try
@@ -142,7 +144,6 @@ private void CaptureChange(IJsonDocumentSourceEvent sourceEvent)
142144
writer.Update(updated.Document);
143145
break;
144146
}
145-
146147
changesStream.Publish(sourceEvent);
147148
}
148149
catch (Exception ex)

src/DotJEM.Json.Index2.Management/Writer/IJsonIndexWriter.cs

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
using System;
2+
using System.Collections.Generic;
23
using System.Diagnostics;
4+
using System.Linq;
35
using System.Runtime.CompilerServices;
46
using System.Threading;
5-
using System.Threading.Tasks;
67
using DotJEM.Json.Index2.Documents;
78
using DotJEM.Json.Index2.Documents.Info;
89
using DotJEM.ObservableExtensions.InfoStreams;
910
using Lucene.Net.Index;
1011
using Newtonsoft.Json.Linq;
11-
using static DotJEM.Json.Index2.Management.Writer.JsonIndexWriter;
1212

1313
namespace DotJEM.Json.Index2.Management.Writer;
1414

1515
public interface IJsonIndexWriter
1616
{
1717
IInfoStream InfoStream { get; }
1818
void Create(JObject entity);
19+
void Create(IEnumerable<JObject> entities);
1920
void Update(JObject entity);
2021
void Delete(JObject entity);
2122
void Commit();
@@ -59,6 +60,13 @@ public void Create(JObject entity)
5960
DebugInfo($"Writer.AddDocument(<doc>)");
6061
}
6162

63+
public void Create(IEnumerable<JObject> entities)
64+
{
65+
Writer.AddDocuments(entities.Select(entity => mapper.Create(entity).Document));
66+
throttledCommit.Increment();
67+
DebugInfo($"Writer.AddDocuments(<doc>)");
68+
}
69+
6270
public void Delete(JObject entity)
6371
{
6472
Term term = resolver.Resolver.Identity(entity);

src/DotJEM.Json.Index2.QueryParsers.Test/DotJEM.Json.Index2.QueryParsers.Test.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="Lucene.Net.QueryParser" Version="4.8.0-beta00016" />
16-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
16+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
1717
<PackageReference Include="NUnit" Version="3.14.0" />
1818
</ItemGroup>
1919

@@ -22,5 +22,9 @@
2222
<ProjectReference Include="..\DotJEM.Json.Index2\DotJEM.Json.Index2.csproj" />
2323
</ItemGroup>
2424

25+
<ItemGroup>
26+
<PackageReference Update="DotJEM.ObservableExtensions" Version="0.0.14" />
27+
</ItemGroup>
28+
2529

2630
</Project>

src/DotJEM.Json.Index2.QueryParsers/DotJEM.Json.Index2.QueryParsers.csproj

+4
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,9 @@
1818
<ItemGroup>
1919
<ProjectReference Include="..\DotJEM.Json.Index2\DotJEM.Json.Index2.csproj" />
2020
</ItemGroup>
21+
22+
<ItemGroup>
23+
<PackageReference Update="DotJEM.ObservableExtensions" Version="0.0.14" />
24+
</ItemGroup>
2125

2226
</Project>

src/DotJEM.Json.Index2.Snapshots/DotJEM.Json.Index2.Snapshots.csproj

+4
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,8 @@
99
<ProjectReference Include="..\DotJEM.Json.Index2\DotJEM.Json.Index2.csproj" />
1010
</ItemGroup>
1111

12+
<ItemGroup>
13+
<PackageReference Update="DotJEM.ObservableExtensions" Version="0.0.14" />
14+
</ItemGroup>
15+
1216
</Project>

src/DotJEM.Json.Index2.Test/DotJEM.Json.Index2.Test.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
1616
<PackageReference Include="NUnit" Version="3.14.0" />
1717
</ItemGroup>
1818

1919
<ItemGroup>
2020
<ProjectReference Include="..\DotJEM.Json.Index2\DotJEM.Json.Index2.csproj" />
2121
</ItemGroup>
2222

23+
<ItemGroup>
24+
<PackageReference Update="DotJEM.ObservableExtensions" Version="0.0.14" />
25+
</ItemGroup>
26+
2327
</Project>

src/DotJEM.Json.Index2/DotJEM.Json.Index2.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
<ItemGroup>
4646
<PackageReference Include="DotJEM.Json.Visitor" Version="0.1.35" />
47-
<PackageReference Include="DotJEM.ObservableExtensions" Version="0.0.13" />
47+
<PackageReference Include="DotJEM.ObservableExtensions" Version="0.0.14" />
4848
<PackageReference Include="Lucene.Net" Version="4.8.0-beta00016" />
4949
<PackageReference Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00016" />
5050
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />

src/DotJEM.Json.Index2/IO/JsonIndexWriterManager.cs

+12-6
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,18 @@ public interface IIndexWriterManager : IDisposable
1717
public class IndexWriterManager : Disposable, IIndexWriterManager
1818
{
1919
public static int DEFAULT_RAM_BUFFER_SIZE_MB { get; set; } = 512;
20+
21+
private readonly IJsonIndex index;
22+
private Lazy<IndexWriter> writer;
23+
private readonly object padlock = new();
2024

2125
public event EventHandler<EventArgs> OnClose;
2226

23-
private readonly ResetableLazy<IndexWriter> writer;
24-
2527
public IndexWriter Writer => writer.Value;
2628

2729
public IndexWriterManager(IJsonIndex index)
2830
{
31+
this.index = index;
2932
writer = new(() => Open(index));
3033
}
3134

@@ -42,10 +45,13 @@ public void Close()
4245
{
4346
if (!writer.IsValueCreated)
4447
return;
45-
46-
writer.Value.Dispose();
47-
writer.Reset();
48-
RaiseOnClose();
48+
49+
lock (padlock)
50+
{
51+
writer.Value.Dispose();
52+
writer = new(() => Open(index));
53+
RaiseOnClose();
54+
}
4955
}
5056

5157
protected override void Dispose(bool disposing)

src/DotJEM.Json.Index2/Searching/IIndexSearcherManager.cs

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ public IIndexSearcherContext Acquire()
3535
manager ??= new SearcherManager(writerManager.Writer, true, new SearcherFactory());
3636
manager.MaybeRefreshBlocking();
3737
return new IndexSearcherContext(manager.Acquire(), manager.Release);
38-
3938
}
4039
}
4140

src/Stress/StressTester/StressTester.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="DotJEM.Json.Storage" Version="0.4.50" />
16-
<PackageReference Include="DotJEM.ObservableExtensions" Version="0.0.13" />
17-
<PackageReference Include="DotJEM.Web.Scheduler" Version="0.0.9" />
15+
<PackageReference Include="DotJEM.Json.Storage" Version="0.4.51" />
16+
<PackageReference Include="DotJEM.ObservableExtensions" Version="0.0.14" />
17+
<PackageReference Include="DotJEM.Web.Scheduler" Version="0.0.10" />
1818
<PackageReference Include="objecthydrator" Version="1.3.0" />
1919
</ItemGroup>
2020

0 commit comments

Comments
 (0)