Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 1.4.38-beta2 Release #261

Merged
merged 6 commits into from May 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions RELEASE_NOTES.md
@@ -1,3 +1,9 @@
#### 1.4.38-beta2 May 27 2022 ####

* [Fix compatibility with Akka.Cluster.Sharding in persistence mode](https://github.com/akkadotnet/Akka.Persistence.MongoDB/pull/259)
* [Bump Akka.NET version to 1.4.38](https://github.com/akkadotnet/akka.net/releases/tag/1.4.38)
* [Bump MongoDb.Driver to 2.15.1](https://github.com/akkadotnet/Akka.Persistence.MongoDB/pull/255)

#### 1.4.38-beta1 April 15 2022 ####

* [Fix BsonTimestamp causes NRE to be thrown](https://github.com/akkadotnet/Akka.Persistence.MongoDB/pull/249)
Expand Down
4 changes: 3 additions & 1 deletion src/Akka.Persistence.MongoDb.Tests/Bug25FixSpec.cs
Expand Up @@ -13,6 +13,7 @@

namespace Akka.Persistence.MongoDb.Tests
{
[Collection("MongoDbSpec")]
public class Bug25FixSpec : Akka.TestKit.Xunit2.TestKit, IClassFixture<DatabaseFixture>
{
class MyJournalActor : ReceivePersistentActor
Expand Down Expand Up @@ -111,7 +112,8 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}";

return ConfigurationFactory.ParseString(specString);
return ConfigurationFactory.ParseString(specString)
.WithFallback(MongoDbPersistence.DefaultConfiguration());
}
}
}
7 changes: 7 additions & 0 deletions src/Akka.Persistence.MongoDb.Tests/MongoDbAllEventsSpec.cs
Expand Up @@ -33,6 +33,13 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
collection = ""EventJournal""
}
}
snapshot-store {
plugin = ""akka.persistence.snapshot-store.mongodb""
mongodb {
class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
connection-string = """ + databaseFixture.ConnectionString + id + @"""
}
}
query {
mongodb {
class = ""Akka.Persistence.MongoDb.Query.MongoDbReadJournalProvider, Akka.Persistence.MongoDb""
Expand Down
Expand Up @@ -33,6 +33,13 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
collection = ""EventJournal""
}
}
snapshot-store {
plugin = ""akka.persistence.snapshot-store.mongodb""
mongodb {
class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
connection-string = """ + databaseFixture.ConnectionString + id + @"""
}
}
query {
mongodb {
class = ""Akka.Persistence.MongoDb.Query.MongoDbReadJournalProvider, Akka.Persistence.MongoDb""
Expand Down
Expand Up @@ -44,6 +44,13 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
collection = ""EventJournal""
}
}
snapshot-store {
plugin = ""akka.persistence.snapshot-store.mongodb""
mongodb {
class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
connection-string = """ + databaseFixture.ConnectionString + id + @"""
}
}
query {
mongodb {
class = ""Akka.Persistence.MongoDb.Query.MongoDbReadJournalProvider, Akka.Persistence.MongoDb""
Expand Down
Expand Up @@ -59,6 +59,13 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}
}
snapshot-store {
plugin = ""akka.persistence.snapshot-store.mongodb""
mongodb {
class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
connection-string = """ + databaseFixture.ConnectionString + id + @"""
}
}
query {
mongodb {
class = ""Akka.Persistence.MongoDb.Query.MongoDbReadJournalProvider, Akka.Persistence.MongoDb""
Expand Down
7 changes: 7 additions & 0 deletions src/Akka.Persistence.MongoDb.Tests/MongoDbEventsByTagSpec.cs
Expand Up @@ -56,6 +56,13 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}
}
snapshot-store {
plugin = ""akka.persistence.snapshot-store.mongodb""
mongodb {
class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
connection-string = """ + databaseFixture.ConnectionString + id + @"""
}
}
query {
mongodb {
class = ""Akka.Persistence.MongoDb.Query.MongoDbReadJournalProvider, Akka.Persistence.MongoDb""
Expand Down
3 changes: 2 additions & 1 deletion src/Akka.Persistence.MongoDb.Tests/MongoDbJournalPerfSpec.cs
Expand Up @@ -27,7 +27,8 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}";

return ConfigurationFactory.ParseString(specString);
return ConfigurationFactory.ParseString(specString)
.WithFallback(MongoDbPersistence.DefaultConfiguration());
}
public static readonly AtomicCounter Counter = new AtomicCounter(0);

Expand Down
Expand Up @@ -15,6 +15,7 @@

namespace Akka.Persistence.MongoDb.Tests
{
[Collection("MongoDbSpec")]
public class MongoDbJournalSetupSpec : JournalSpec, IClassFixture<DatabaseFixture>
{
// TEST: MongoDb journal plugin set using Setup should behave exactly like when it is
Expand Down Expand Up @@ -55,7 +56,8 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}";

return ConfigurationFactory.ParseString(specString);
return ConfigurationFactory.ParseString(specString)
.WithFallback(MongoDbPersistence.DefaultConfiguration());
}
}
}
3 changes: 2 additions & 1 deletion src/Akka.Persistence.MongoDb.Tests/MongoDbJournalSpec.cs
Expand Up @@ -38,7 +38,8 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}";

return ConfigurationFactory.ParseString(specString);
return ConfigurationFactory.ParseString(specString)
.WithFallback(MongoDbPersistence.DefaultConfiguration());
}
}
}
Expand Up @@ -41,7 +41,8 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}";

return ConfigurationFactory.ParseString(specString);
return ConfigurationFactory.ParseString(specString)
.WithFallback(MongoDbPersistence.DefaultConfiguration());
}
}
}
Expand Up @@ -11,36 +11,36 @@

namespace Akka.Persistence.MongoDb.Tests
{
// TODO: enable this spec once https://github.com/akkadotnet/akka.net/pull/4190 is available via Akka.NET v1.4.0-beta5 or higher
//[Collection("MongoDbSpec")]
//public class MongoDbLegacySerializationSnapshotStoreSpec : SnapshotStoreSpec, IClassFixture<DatabaseFixture>
//{
// protected override bool SupportsSerialization => false;
[Collection("MongoDbSpec")]
public class MongoDbLegacySerializationSnapshotStoreSpec : SnapshotStoreSpec, IClassFixture<DatabaseFixture>
{
protected override bool SupportsSerialization => false;

// public MongoDbLegacySerializationSnapshotStoreSpec(DatabaseFixture databaseFixture) : base(CreateSpecConfig(databaseFixture), "MongoDbSnapshotStoreSpec")
// {
// Initialize();
// }
public MongoDbLegacySerializationSnapshotStoreSpec(DatabaseFixture databaseFixture) : base(CreateSpecConfig(databaseFixture), "MongoDbSnapshotStoreSpec")
{
Initialize();
}

// private static Config CreateSpecConfig(DatabaseFixture databaseFixture)
// {
// var specString = @"
// akka.test.single-expect-default = 3s
// akka.persistence {
// publish-plugin-commands = on
// snapshot-store {
// plugin = ""akka.persistence.snapshot-store.mongodb""
// mongodb {
// class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
// connection-string = """ + databaseFixture.ConnectionString + @"""
// auto-initialize = on
// collection = ""SnapshotStore""
// legacy-serialization = on
// }
// }
// }";
private static Config CreateSpecConfig(DatabaseFixture databaseFixture)
{
var specString = @"
akka.test.single-expect-default = 3s
akka.persistence {
publish-plugin-commands = on
snapshot-store {
plugin = ""akka.persistence.snapshot-store.mongodb""
mongodb {
class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
connection-string = """ + databaseFixture.ConnectionString + @"""
auto-initialize = on
collection = ""SnapshotStore""
legacy-serialization = on
}
}
}";

// return ConfigurationFactory.ParseString(specString);
// }
//}
return ConfigurationFactory.ParseString(specString)
.WithFallback(MongoDbPersistence.DefaultConfiguration());
}
}
}
Expand Up @@ -9,6 +9,7 @@

namespace Akka.Persistence.MongoDb.Tests
{
[Collection("MongoDbSpec")]
public class MongoDbSnapshotStoreSetupSpec : SnapshotStoreSpec, IClassFixture<DatabaseFixture>
{
// TEST: MongoDb snapshot plugin set using Setup should behave exactly like when it is
Expand Down
Expand Up @@ -37,7 +37,8 @@ class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.Mong
}
}";

return ConfigurationFactory.ParseString(specString);
return ConfigurationFactory.ParseString(specString)
.WithFallback(MongoDbPersistence.DefaultConfiguration());
}


Expand Down
Expand Up @@ -11,6 +11,6 @@
<ItemGroup>
<PackageReference Include="Akka.Persistence.Query" Version="$(AkkaVersion)" />
<PackageReference Include="akka.streams" Version="$(AkkaVersion)" />
<PackageReference Include="MongoDB.Driver" Version="2.15.0" />
<PackageReference Include="MongoDB.Driver" Version="2.15.1" />
</ItemGroup>
</Project>
15 changes: 10 additions & 5 deletions src/Akka.Persistence.MongoDb/Journal/MongoDbJournal.cs
Expand Up @@ -8,7 +8,6 @@
using Akka.Actor;
using Akka.Persistence.Journal;
using Akka.Persistence.MongoDb.Query;
using Akka.Streams.Dsl;
using Akka.Util;
using MongoDB.Bson;
using MongoDB.Driver;
Expand All @@ -19,6 +18,7 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Akka.Configuration;

namespace Akka.Persistence.MongoDb.Journal
{
Expand All @@ -43,12 +43,17 @@ public class MongoDbJournal : AsyncWriteJournal

private readonly Akka.Serialization.Serialization _serialization;

public MongoDbJournal()
{
_settings = MongoDbPersistence.Get(Context.System).JournalSettings;
public MongoDbJournal() : this(MongoDbPersistence.Get(Context.System).JournalSettings)
{ }

_serialization = Context.System.Serialization;
// This constructor is needed because config can come from both Akka.Persistence and Akka.Cluster.Sharding
public MongoDbJournal(Config config) : this(new MongoDbJournalSettings(config))
{ }

private MongoDbJournal(MongoDbJournalSettings settings)
{
_settings = settings;
_serialization = Context.System.Serialization;
}

protected override void PreStart()
Expand Down
12 changes: 9 additions & 3 deletions src/Akka.Persistence.MongoDb/Snapshot/MongoDbSnapshotStore.cs
Expand Up @@ -8,6 +8,7 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using Akka.Configuration;
using Akka.Persistence.Snapshot;
using Akka.Util;
using MongoDB.Driver;
Expand All @@ -26,10 +27,15 @@ public class MongoDbSnapshotStore : SnapshotStore

private readonly Akka.Serialization.Serialization _serialization;

public MongoDbSnapshotStore()
public MongoDbSnapshotStore() : this(MongoDbPersistence.Get(Context.System).SnapshotStoreSettings)
{ }

public MongoDbSnapshotStore(Config config) : this(new MongoDbSnapshotSettings(config))
{ }

public MongoDbSnapshotStore(MongoDbSnapshotSettings settings)
{
_settings = MongoDbPersistence.Get(Context.System).SnapshotStoreSettings;

_settings = settings;
_serialization = Context.System.Serialization;
}

Expand Down
4 changes: 2 additions & 2 deletions src/common.props
Expand Up @@ -23,8 +23,8 @@
<NetStandardLibVersion>netstandard2.0</NetStandardLibVersion>

<XunitVersion>2.4.1</XunitVersion>
<TestSdkVersion>17.1.0</TestSdkVersion>
<AkkaVersion>1.4.37</AkkaVersion>
<TestSdkVersion>17.2.0</TestSdkVersion>
<AkkaVersion>1.4.38</AkkaVersion>
</PropertyGroup>
<!-- SourceLink support for all Akka.NET projects -->
<ItemGroup>
Expand Down