Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
14 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
dotnet-version: 8.0.x

- name: Install dependencies
run: dotnet restore
Expand All @@ -27,7 +27,7 @@ jobs:
- name: Test
run: dotnet test --configuration Release --no-build --verbosity normal --logger:trx
- name: Upload Test Results
uses: actions/upload-artifact@v2.2.0
uses: actions/upload-artifact@v4
with:
# Artifact name
name: Test Results
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prerelease-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
dotnet-version: 8.0.x

- uses: dotnet/nbgv@master
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
dotnet-version: 8.0.x

- uses: dotnet/nbgv@master
with:
Expand Down
4 changes: 2 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>latest</LangVersion>
<Version Condition="'$(PackageVersion)' != ''">$(PackageVersion)</Version>
<Version Condition="'$(PackageVersion)' == ''">$(Version)</Version>
Expand Down Expand Up @@ -38,7 +38,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Lindhart.Analyser.MissingAwaitWarning" />
<!-- <PackageReference Include="Microsoft.CodeQuality.Analyzers" /> -->
<!-- <PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" /> -->
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" />
<PackageReference Include="StyleCop.Analyzers" />
</ItemGroup>
Expand Down
68 changes: 35 additions & 33 deletions Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,58 @@

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Update="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Update="Microsoft.Extensions.Logging" Version="6.0.0" />
<PackageReference Update="Microsoft.Extensions.Logging.Debug" Version="6.0.0" />
<PackageReference Update="Microsoft.Extensions.DependencyModel" Version="6.0.0" />
<PackageReference Update="Microsoft.Extensions.Caching.Abstractions" Version="6.0.0" />
<PackageReference Update="Microsoft.Extensions.Logging.Abstractions" Version="6.0.1" />
<PackageReference Update="Microsoft.Extensions.ObjectPool" Version="6.0.7" />
<PackageReference Update="Microsoft.Extensions.Options" Version="6.0.0" />
<PackageReference Update="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0" />
<PackageReference Update="BenchmarkDotNet" Version="0.13.1" />

<PackageReference Update="Microsoft.Orleans.CodeGenerator.MSBuild" Version="3.6.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Update="Microsoft.Orleans.OrleansProviders" Version="3.6.2"/>
<PackageReference Update="Microsoft.Orleans.Core" Version="3.6.2" />
<PackageReference Update="Microsoft.Orleans.Core.Abstractions" Version="3.6.2" />
<PackageReference Update="Microsoft.Orleans.Runtime.Abstractions" Version="3.6.2" />
<PackageReference Update="Microsoft.Orleans.OrleansRuntime" Version="3.6.2" />
<PackageReference Update="Microsoft.Orleans.TestingHost" Version="3.6.2" />
<PackageReference Update="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Update="Microsoft.Extensions.Logging" Version="8.0.1" />
<PackageReference Update="Microsoft.Extensions.Logging.Debug" Version="8.0.1" />
<PackageReference Update="Microsoft.Extensions.DependencyModel" Version="8.0.2" />
<PackageReference Update="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
<PackageReference Update="Microsoft.Extensions.Logging.Abstractions" Version="8.0.2" />
<PackageReference Update="Microsoft.Extensions.ObjectPool" Version="8.0.10" />
<PackageReference Update="Microsoft.Extensions.Options" Version="8.0.2" />
<PackageReference Update="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.1" />
<PackageReference Update="BenchmarkDotNet" Version="0.14.0" />

<PackageReference Update="Microsoft.Orleans.Core" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.Sdk" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.CodeGenerator" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.Streaming" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.Core.Abstractions" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.Runtime.Abstractions" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.OrleansRuntime" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.TestingHost" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.Reminders" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.Persistence.Memory" Version="8.2.0" />
<PackageReference Update="Microsoft.Orleans.Server" Version="8.2.0" />

<PackageReference Update="System.Buffers" Version="4.5.1" />
<PackageReference Update="System.Runtime.Loader" Version="4.3.0" />
<PackageReference Update="System.Text.Json" Version="6.0.1" />
<PackageReference Update="System.Threading.Tasks.Dataflow" Version="6.0.0" />
<PackageReference Update="Confluent.Kafka" Version="1.9.0" />
<PackageReference Update="RabbitMQ.Client" Version="6.4.0" />
<PackageReference Update="System.Reactive" Version="4.4.1" />
<PackageReference Update="System.Text.Json" Version="8.0.5" />
<PackageReference Update="System.Threading.Tasks.Dataflow" Version="8.0.1" />
<PackageReference Update="Confluent.Kafka" Version="2.6.0" />
<PackageReference Update="RabbitMQ.Client" Version="6.8.1" />
<PackageReference Update="System.Reactive" Version="6.0.1" />
<PackageReference Update="linq2db" Version="4.1.1" />
<PackageReference Update="IdGen" Version="3.0.1" />
<PackageReference Update="IdGen" Version="3.0.7" />

<PackageReference Update="Lindhart.Analyser.MissingAwaitWarning" Version="2.0.0" PrivateAssets="All" />
<PackageReference Update="Microsoft.CodeAnalysis.CSharp" Version="4.0.1" PrivateAssets="All" />
<PackageReference Update="Microsoft.Data.Sqlite" Version="6.0.7" />
<PackageReference Update="Nerdbank.GitVersioning" Version="3.5.108" PrivateAssets="All" />
<PackageReference Update="Microsoft.CodeQuality.Analyzers" Version="3.3.2">
<PackageReference Update="Nerdbank.GitVersioning" Version="3.6.143" PrivateAssets="All" />
<PackageReference Update="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Update="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.3">
<PackageReference Update="StyleCop.Analyzers" Version="1.2.0-beta.321">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Update="StyleCop.Analyzers" Version="1.2.0-beta.321">

<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

<PackageReference Update="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
<PackageReference Update="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Update="xunit" Version="2.4.1" />
<PackageReference Update="xunit.runner.visualstudio" Version="2.4.5">
Expand All @@ -64,4 +66,4 @@
</PackageReference>
</ItemGroup>

</Project>
</Project>
1 change: 1 addition & 0 deletions Vertex.sln
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{69B221ED-2A00-494F-AC36-C08025BBD2E6}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
Packages.props = Packages.props
EndProjectSection
EndProject
Global
Expand Down
10 changes: 5 additions & 5 deletions examples/Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\Packages.props" />
<ItemGroup>
<PackageReference Update="Microsoft.Extensions.Hosting" Version="6.0.1" />
<PackageReference Update="Microsoft.Extensions.Logging.Console" Version="6.0.0" />
<PackageReference Update="MySqlConnector" Version="2.1.11" />
<PackageReference Update="Npgsql" Version="6.0.5" />
<PackageReference Update="Microsoft.Data.SqlClient" Version="4.1.0" />
<PackageReference Update="Microsoft.Extensions.Hosting" Version="8.0.1" />
<PackageReference Update="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
<PackageReference Update="MySqlConnector" Version="2.2.0" />
<PackageReference Update="Npgsql" Version="7.0.0" />
<PackageReference Update="Microsoft.Data.SqlClient" Version="5.0.0" />
</ItemGroup>
</Project>
68 changes: 49 additions & 19 deletions examples/Transfer.Client/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@
using System.Linq;
using System.Threading.Tasks;
using IdGen;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Orleans;
using Orleans.Configuration;
using Orleans.Hosting;
using Transfer.IGrains.Common;
using Transfer.IGrains.DTx;

Expand All @@ -14,10 +18,11 @@ namespace Transfer.Client
internal class Program
{
private static readonly IdGenerator IdGen = new IdGenerator(0);
private static IHost host;

private static async Task Main(string[] args)
{
using var client = await StartClientWithRetries();
var client = await StartClientWithRetries();

while (true)
{
Expand All @@ -31,7 +36,13 @@ private static async Task Main(string[] args)
{
await DTx(client);
}
else
{
break;
}
}

host.Dispose();
}

private static async Task Normal(IClusterClient client)
Expand All @@ -46,23 +57,28 @@ private static async Task Normal(IClusterClient client)
var topupTaskList = new List<Task>();
foreach (var account in Enumerable.Range(0, accountCount))
{
topupTaskList.AddRange(Enumerable.Range(0, times).Select(x => client.GetGrain<IAccount>(account).TopUp(100, IdGen.CreateId().ToString())));
topupTaskList.AddRange(Enumerable.Range(0, times).Select(x =>
client.GetGrain<IAccount>(account).TopUp(100, IdGen.CreateId().ToString())));
}

topupWatch.Start();
await Task.WhenAll(topupTaskList);
topupWatch.Stop();
Console.WriteLine($"{times * accountCount} Recharge completed, taking: {topupWatch.ElapsedMilliseconds}ms");
Console.WriteLine(
$"{times * accountCount} Recharge completed, taking: {topupWatch.ElapsedMilliseconds}ms");
foreach (var account in Enumerable.Range(0, accountCount))
{
Console.WriteLine($"The balance of account {account} is{await client.GetGrain<IAccount>(account).GetBalance()}");
Console.WriteLine(
$"The balance of account {account} is{await client.GetGrain<IAccount>(account).GetBalance()}");
}

var transferWatch = new Stopwatch();
var transferTaskList = new List<Task>();
foreach (var account in Enumerable.Range(0, accountCount))
{
transferTaskList.AddRange(Enumerable.Range(0, times).Select(x => client.GetGrain<IAccount>(account).Transfer(account + accountCount, 50, IdGen.CreateId().ToString())));
transferTaskList.AddRange(Enumerable.Range(0, times).Select(x =>
client.GetGrain<IAccount>(account)
.Transfer(account + accountCount, 50, IdGen.CreateId().ToString())));
}

transferWatch.Start();
Expand All @@ -72,12 +88,14 @@ private static async Task Normal(IClusterClient client)
$"{times * accountCount}The transfer is completed, taking: {transferWatch.ElapsedMilliseconds}ms");
foreach (var account in Enumerable.Range(0, accountCount))
{
Console.WriteLine($"The balance of account {account} is{await client.GetGrain<IAccount>(account).GetBalance()}");
Console.WriteLine(
$"The balance of account {account} is{await client.GetGrain<IAccount>(account).GetBalance()}");
}

foreach (var account in Enumerable.Range(0, accountCount))
{
Console.WriteLine($"The balance of account {account} is{await client.GetGrain<IAccount>(account + accountCount).GetBalance()}");
Console.WriteLine(
$"The balance of account {account} is{await client.GetGrain<IAccount>(account + accountCount).GetBalance()}");
}
}
catch (Exception e)
Expand All @@ -98,16 +116,19 @@ private static async Task DTx(IClusterClient client)
var topupTaskList = new List<Task>();
foreach (var account in Enumerable.Range(0, accountCount))
{
topupTaskList.AddRange(Enumerable.Range(0, times).Select(x => client.GetGrain<IDTxAccount>(account).TopUp(100, IdGen.CreateId().ToString())));
topupTaskList.AddRange(Enumerable.Range(0, times).Select(x =>
client.GetGrain<IDTxAccount>(account).TopUp(100, IdGen.CreateId().ToString())));
}

topupWatch.Start();
await Task.WhenAll(topupTaskList);
topupWatch.Stop();
Console.WriteLine($"{times * accountCount} Recharge completed, taking: {topupWatch.ElapsedMilliseconds}ms");
Console.WriteLine(
$"{times * accountCount} Recharge completed, taking: {topupWatch.ElapsedMilliseconds}ms");
foreach (var account in Enumerable.Range(0, accountCount))
{
Console.WriteLine($"The balance of account {account} is{await client.GetGrain<IDTxAccount>(account).GetBalance()}");
Console.WriteLine(
$"The balance of account {account} is{await client.GetGrain<IDTxAccount>(account).GetBalance()}");
}

var transferWatch = new Stopwatch();
Expand All @@ -132,12 +153,14 @@ private static async Task DTx(IClusterClient client)
$"{times * accountCount}The transfer is completed, taking: {transferWatch.ElapsedMilliseconds}ms");
foreach (var account in Enumerable.Range(0, accountCount))
{
Console.WriteLine($"The balance of account {account} is{await client.GetGrain<IDTxAccount>(account).GetBalance()}");
Console.WriteLine(
$"The balance of account {account} is{await client.GetGrain<IDTxAccount>(account).GetBalance()}");
}

foreach (var account in Enumerable.Range(0, accountCount))
{
Console.WriteLine($"The balance of account {account} is{await client.GetGrain<IDTxAccount>(account + accountCount).GetBalance()}");
Console.WriteLine(
$"The balance of account {account} is{await client.GetGrain<IDTxAccount>(account + accountCount).GetBalance()}");
}
}
catch (Exception e)
Expand All @@ -154,13 +177,20 @@ private static async Task<IClusterClient> StartClientWithRetries(int initializeA
{
try
{
var builder = new ClientBuilder()
.UseLocalhostClustering()
.ConfigureApplicationParts(parts =>
parts.AddApplicationPart(typeof(IAccount).Assembly).WithReferences())
var builder = new HostBuilder()
.UseOrleansClient(clientBuilder =>
{
clientBuilder.UseLocalhostClustering();
clientBuilder.Configure<ClusterOptions>(options =>
{
options.ClusterId = "dev";
options.ServiceId = "Transfer";
});
})
.ConfigureLogging(logging => logging.AddConsole());
client = builder.Build();
await client.Connect();
host = builder.Build();
await host.StartAsync();
client = host.Services.GetService<IClusterClient>();
Console.WriteLine("Client successfully connect to silo host");
break;
}
Expand All @@ -181,4 +211,4 @@ private static async Task<IClusterClient> StartClientWithRetries(int initializeA
return client;
}
}
}
}
15 changes: 8 additions & 7 deletions examples/Transfer.Client/Transfer.Client.csproj
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Microsoft.Build.CentralPackageVersions" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<IsPackable>false</IsPackable>
<IsPackable>false</IsPackable>
<OutputType>Exe</OutputType>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="IdGen" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
<PackageReference Include="Microsoft.Orleans.Core" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\src\Storage\Vertex.Storage.Linq2db\Vertex.Storage.Linq2db.csproj" />
<ProjectReference Include="..\..\src\Stream\Vertex.Stream.Common\Vertex.Stream.Common.csproj" />
<ProjectReference Include="..\..\src\Vertex.Runtime\Vertex.Runtime.csproj" />
<ProjectReference Include="..\..\src\Vertex.Transaction\Vertex.Transaction.csproj" />
<ProjectReference Include="..\Transfer.IGrains\Transfer.IGrains.csproj" />
</ItemGroup>

Expand Down
Loading