Skip to content

Commit

Permalink
split brain resolver (#4587)
Browse files Browse the repository at this point in the history
Co-authored-by: Aaron Stannard <aaron@petabridge.com>
  • Loading branch information
zbynek001 and Aaronontheweb authored Feb 2, 2021
1 parent 9fe0da4 commit 8360e41
Show file tree
Hide file tree
Showing 14 changed files with 4,053 additions and 59 deletions.
45 changes: 45 additions & 0 deletions src/core/Akka.API.Tests/CoreAPISpec.ApproveCluster.approved.txt
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,51 @@ namespace Akka.Cluster.Routing
public string UseRole { get; }
}
}
namespace Akka.Cluster.SBR
{
public sealed class KeepOldestSettings
{
public KeepOldestSettings(bool downIfAlone, string role) { }
public bool DownIfAlone { get; }
public string Role { get; }
}
public sealed class LeaseMajoritySettings
{
public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, string role) { }
public System.TimeSpan AcquireLeaseDelayForMinority { get; }
public string LeaseImplementation { get; }
public string Role { get; }
}
public class SplitBrainResolverProvider : Akka.Cluster.IDowningProvider
{
public SplitBrainResolverProvider(Akka.Actor.ActorSystem system) { }
public System.TimeSpan DownRemovalMargin { get; }
public Akka.Actor.Props DowningActorProps { get; }
}
public sealed class SplitBrainResolverSettings
{
public static readonly System.Collections.Immutable.ImmutableHashSet<string> AllStrategyNames;
public const string DownAllName = "down-all";
public const string KeepMajorityName = "keep-majority";
public const string KeepOldestName = "keep-oldest";
public const string LeaseMajorityName = "lease-majority";
public const string StaticQuorumName = "static-quorum";
public SplitBrainResolverSettings(Akka.Configuration.Config config) { }
public System.TimeSpan DownAllWhenUnstable { get; }
public System.TimeSpan DowningStableAfter { get; }
public string DowningStrategy { get; }
public string KeepMajorityRole { get; }
public Akka.Cluster.SBR.KeepOldestSettings KeepOldestSettings { get; }
public Akka.Cluster.SBR.LeaseMajoritySettings LeaseMajoritySettings { get; }
public Akka.Cluster.SBR.StaticQuorumSettings StaticQuorumSettings { get; }
}
public sealed class StaticQuorumSettings
{
public StaticQuorumSettings(int size, string role) { }
public string Role { get; }
public int Size { get; }
}
}
namespace Akka.Cluster.Serialization
{
public class ClusterMessageSerializer : Akka.Serialization.Serializer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ namespace Akka.Coordination
public LeaseSettings(string leaseName, string ownerName, Akka.Coordination.TimeoutSettings timeoutSettings, Akka.Configuration.Config leaseConfig) { }
public Akka.Configuration.Config LeaseConfig { get; }
public string LeaseName { get; }
public System.Type LeaseType { get; }
public string OwnerName { get; }
public Akka.Coordination.TimeoutSettings TimeoutSettings { get; }
public static Akka.Coordination.LeaseSettings Create(Akka.Configuration.Config config, string leaseName, string ownerName) { }
Expand Down
1 change: 1 addition & 0 deletions src/core/Akka.Cluster.Tests/Akka.Cluster.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\contrib\cluster\Akka.Cluster.Tools.Tests\Akka.Cluster.Tools.Tests.csproj" />
<ProjectReference Include="..\Akka.Cluster\Akka.Cluster.csproj" />
<ProjectReference Include="..\Akka.Tests.Shared.Internals\Akka.Tests.Shared.Internals.csproj" />
</ItemGroup>
Expand Down
Loading

0 comments on commit 8360e41

Please sign in to comment.