diff --git a/azure-pipelines-full.yml b/azure-pipelines-full.yml index a44ab4cc2..7b7478f06 100644 --- a/azure-pipelines-full.yml +++ b/azure-pipelines-full.yml @@ -28,20 +28,26 @@ jobs: steps: - task: UseDotNet@2 - displayName: Use .NET 6.0 + displayName: Use .NET 8.0 inputs: packageType: 'sdk' - version: '6.0.x' + version: '8.0.x' - task: UseDotNet@2 - displayName: Use .NET 7.0 + displayName: Use .NET 9.0 inputs: packageType: 'sdk' - version: '7.0.x' + version: '9.0.x' + + - task: UseDotNet@2 + displayName: Use .NET 10.0 + inputs: + packageType: 'sdk' + version: '10.0.x' - task: NodeTool@0 inputs: - versionSpec: 14.x + versionSpec: 24.x - script : npm install -g azurite displayName: Install Azurite @@ -145,16 +151,22 @@ jobs: steps: - task: UseDotNet@2 - displayName: Use .NET 6.0 + displayName: Use .NET 8.0 + inputs: + packageType: 'sdk' + version: '8.0.x' + + - task: UseDotNet@2 + displayName: Use .NET 9.0 inputs: packageType: 'sdk' - version: '6.0.x' + version: '9.0.x' - task: UseDotNet@2 - displayName: Use .NET 7.0 + displayName: Use .NET 10.0 inputs: packageType: 'sdk' - version: '7.0.x' + version: '10.0.x' - bash: | sudo npm install -g azurite diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9e27d1e6c..e6fe6d6ba 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -28,20 +28,26 @@ jobs: steps: - task: UseDotNet@2 - displayName: Use .NET 6.0 + displayName: Use .NET 8.0 inputs: packageType: 'sdk' - version: '6.0.x' + version: '8.0.x' - task: UseDotNet@2 - displayName: Use .NET 7.0 + displayName: Use .NET 9.0 inputs: packageType: 'sdk' - version: '7.0.x' + version: '9.0.x' + + - task: UseDotNet@2 + displayName: Use .NET 10.0 + inputs: + packageType: 'sdk' + version: '10.0.x' - task: NodeTool@0 inputs: - versionSpec: 14.x + versionSpec: 24.x - script : npm install -g azurite displayName: Install Azurite @@ -145,16 +151,22 @@ jobs: steps: - task: UseDotNet@2 - displayName: Use .NET 6.0 + displayName: Use .NET 8.0 + inputs: + packageType: 'sdk' + version: '8.0.x' + + - task: UseDotNet@2 + displayName: Use .NET 9.0 inputs: packageType: 'sdk' - version: '6.0.x' + version: '9.0.x' - task: UseDotNet@2 - displayName: Use .NET 7.0 + displayName: Use .NET 10.0 inputs: packageType: 'sdk' - version: '7.0.x' + version: '10.0.x' - bash: | sudo npm install -g azurite diff --git a/cs/.editorconfig b/cs/.editorconfig new file mode 100644 index 000000000..c1e73b552 --- /dev/null +++ b/cs/.editorconfig @@ -0,0 +1,9 @@ +root=true + +[*.csproj] +indent_style = space +indent_size = 2 + +[*.props] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/cs/FASTER.sln b/cs/FASTER.sln index 36476020a..ca48b6549 100644 --- a/cs/FASTER.sln +++ b/cs/FASTER.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.2.32526.322 +# Visual Studio Version 18 +VisualStudioVersion = 18.0.11222.15 d18.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FASTER.benchmark", "benchmark\FASTER.benchmark.csproj", "{33A732D1-2B58-4FEE-9696-B9483496229F}" EndProject @@ -101,6 +101,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "root", "root", "{CEDB9572-7D9F-444F-B302-41399F33BADB}" ProjectSection(SolutionItems) = preProject ..\.dockerignore = ..\.dockerignore + .editorconfig = .editorconfig ..\.gitattributes = ..\.gitattributes ..\.gitignore = ..\.gitignore ..\azure-pipelines-full.yml = ..\azure-pipelines-full.yml diff --git a/cs/benchmark/FASTER.benchmark.csproj b/cs/benchmark/FASTER.benchmark.csproj index 01b02a6f4..669d3f489 100644 --- a/cs/benchmark/FASTER.benchmark.csproj +++ b/cs/benchmark/FASTER.benchmark.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/performance/BenchmarkDotNet/BenchmarkDotNetTests.csproj b/cs/performance/BenchmarkDotNet/BenchmarkDotNetTests.csproj index 1449f7689..68bf918ef 100644 --- a/cs/performance/BenchmarkDotNet/BenchmarkDotNetTests.csproj +++ b/cs/performance/BenchmarkDotNet/BenchmarkDotNetTests.csproj @@ -1,6 +1,6 @@  - net7.0 + net10.0 AnyCPU @@ -15,8 +15,8 @@ - - + + diff --git a/cs/playground/AsyncStress/AsyncStress.csproj b/cs/playground/AsyncStress/AsyncStress.csproj index 302a7c8e5..ef802895d 100644 --- a/cs/playground/AsyncStress/AsyncStress.csproj +++ b/cs/playground/AsyncStress/AsyncStress.csproj @@ -2,15 +2,15 @@ Exe - net7.0 + net10.0 x64 latest true - - + + diff --git a/cs/playground/CacheStoreConcurrent/CacheStoreConcurrent.csproj b/cs/playground/CacheStoreConcurrent/CacheStoreConcurrent.csproj index 36b30cf3a..28cbaa45f 100644 --- a/cs/playground/CacheStoreConcurrent/CacheStoreConcurrent.csproj +++ b/cs/playground/CacheStoreConcurrent/CacheStoreConcurrent.csproj @@ -3,7 +3,7 @@ Exe true - net7.0 + net10.0 x64 latest diff --git a/cs/playground/ClassRecoveryDurability/ClassRecoveryDurability.csproj b/cs/playground/ClassRecoveryDurability/ClassRecoveryDurability.csproj index db758efe9..97cc407bc 100644 --- a/cs/playground/ClassRecoveryDurability/ClassRecoveryDurability.csproj +++ b/cs/playground/ClassRecoveryDurability/ClassRecoveryDurability.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net10.0 AnyCPU;x64 latest diff --git a/cs/playground/FasterLogMLSDTest/FasterLogStress.csproj b/cs/playground/FasterLogMLSDTest/FasterLogStress.csproj index a8e88c576..7366e944e 100644 --- a/cs/playground/FasterLogMLSDTest/FasterLogStress.csproj +++ b/cs/playground/FasterLogMLSDTest/FasterLogStress.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net10.0 x64 latest true diff --git a/cs/playground/MemoryDb/MemoryDb.csproj b/cs/playground/MemoryDb/MemoryDb.csproj index 945639462..bcb30d9e2 100644 --- a/cs/playground/MemoryDb/MemoryDb.csproj +++ b/cs/playground/MemoryDb/MemoryDb.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net10.0 x64 latest true diff --git a/cs/playground/SumStore/SumStore.csproj b/cs/playground/SumStore/SumStore.csproj index d91b4e60b..687fea55a 100644 --- a/cs/playground/SumStore/SumStore.csproj +++ b/cs/playground/SumStore/SumStore.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/playground/TstRunner/TstRunner.csproj b/cs/playground/TstRunner/TstRunner.csproj index 897426ced..8e2489be3 100644 --- a/cs/playground/TstRunner/TstRunner.csproj +++ b/cs/playground/TstRunner/TstRunner.csproj @@ -2,14 +2,14 @@ Exe - net7.0 + net10.0 x64 latest true - + diff --git a/cs/samples/AzureBackedStore/AzureBackedStore.csproj b/cs/samples/AzureBackedStore/AzureBackedStore.csproj index 7d8a6b476..5d868b8d8 100644 --- a/cs/samples/AzureBackedStore/AzureBackedStore.csproj +++ b/cs/samples/AzureBackedStore/AzureBackedStore.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/CacheStore/CacheStore.csproj b/cs/samples/CacheStore/CacheStore.csproj index 36b30cf3a..28cbaa45f 100644 --- a/cs/samples/CacheStore/CacheStore.csproj +++ b/cs/samples/CacheStore/CacheStore.csproj @@ -3,7 +3,7 @@ Exe true - net7.0 + net10.0 x64 latest diff --git a/cs/samples/EpvsSample/EpvsSample.csproj b/cs/samples/EpvsSample/EpvsSample.csproj index 32b69386d..8750d1cd1 100644 --- a/cs/samples/EpvsSample/EpvsSample.csproj +++ b/cs/samples/EpvsSample/EpvsSample.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net10.0 enable diff --git a/cs/samples/FasterLogPubSub/FasterLogPubSub.csproj b/cs/samples/FasterLogPubSub/FasterLogPubSub.csproj index d72232e5a..189230b13 100644 --- a/cs/samples/FasterLogPubSub/FasterLogPubSub.csproj +++ b/cs/samples/FasterLogPubSub/FasterLogPubSub.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/FasterLogSample/FasterLogSample.csproj b/cs/samples/FasterLogSample/FasterLogSample.csproj index 248f388e7..922ed6e08 100644 --- a/cs/samples/FasterLogSample/FasterLogSample.csproj +++ b/cs/samples/FasterLogSample/FasterLogSample.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/HelloWorld/HelloWorld.csproj b/cs/samples/HelloWorld/HelloWorld.csproj index afbe28628..172e9726a 100644 --- a/cs/samples/HelloWorld/HelloWorld.csproj +++ b/cs/samples/HelloWorld/HelloWorld.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/ReadAddress/VersionedRead.csproj b/cs/samples/ReadAddress/VersionedRead.csproj index a75c3f32d..fe8e96552 100644 --- a/cs/samples/ReadAddress/VersionedRead.csproj +++ b/cs/samples/ReadAddress/VersionedRead.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net10.0 x64 latest diff --git a/cs/samples/ResizableCacheStore/ResizableCacheStore.csproj b/cs/samples/ResizableCacheStore/ResizableCacheStore.csproj index 36b30cf3a..28cbaa45f 100644 --- a/cs/samples/ResizableCacheStore/ResizableCacheStore.csproj +++ b/cs/samples/ResizableCacheStore/ResizableCacheStore.csproj @@ -3,7 +3,7 @@ Exe true - net7.0 + net10.0 x64 latest diff --git a/cs/samples/SecondaryReaderStore/SecondaryReaderStore.csproj b/cs/samples/SecondaryReaderStore/SecondaryReaderStore.csproj index 36b30cf3a..28cbaa45f 100644 --- a/cs/samples/SecondaryReaderStore/SecondaryReaderStore.csproj +++ b/cs/samples/SecondaryReaderStore/SecondaryReaderStore.csproj @@ -3,7 +3,7 @@ Exe true - net7.0 + net10.0 x64 latest diff --git a/cs/samples/StoreAsyncApi/StoreAsyncApi.csproj b/cs/samples/StoreAsyncApi/StoreAsyncApi.csproj index f17bcc84c..700b84f83 100644 --- a/cs/samples/StoreAsyncApi/StoreAsyncApi.csproj +++ b/cs/samples/StoreAsyncApi/StoreAsyncApi.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/StoreCheckpointRecover/StoreCheckpointRecover.csproj b/cs/samples/StoreCheckpointRecover/StoreCheckpointRecover.csproj index edfd6e753..8d080d0df 100644 --- a/cs/samples/StoreCheckpointRecover/StoreCheckpointRecover.csproj +++ b/cs/samples/StoreCheckpointRecover/StoreCheckpointRecover.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/StoreCustomTypes/StoreCustomTypes.csproj b/cs/samples/StoreCustomTypes/StoreCustomTypes.csproj index aef14a185..709d870b5 100644 --- a/cs/samples/StoreCustomTypes/StoreCustomTypes.csproj +++ b/cs/samples/StoreCustomTypes/StoreCustomTypes.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/StoreDiskReadBenchmark/StoreDiskReadBenchmark.csproj b/cs/samples/StoreDiskReadBenchmark/StoreDiskReadBenchmark.csproj index ba5e983d9..70ebe32b1 100644 --- a/cs/samples/StoreDiskReadBenchmark/StoreDiskReadBenchmark.csproj +++ b/cs/samples/StoreDiskReadBenchmark/StoreDiskReadBenchmark.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/samples/StoreLogCompaction/StoreLogCompaction.csproj b/cs/samples/StoreLogCompaction/StoreLogCompaction.csproj index 36b30cf3a..28cbaa45f 100644 --- a/cs/samples/StoreLogCompaction/StoreLogCompaction.csproj +++ b/cs/samples/StoreLogCompaction/StoreLogCompaction.csproj @@ -3,7 +3,7 @@ Exe true - net7.0 + net10.0 x64 latest diff --git a/cs/samples/StoreVarLenTypes/StoreVarLenTypes.csproj b/cs/samples/StoreVarLenTypes/StoreVarLenTypes.csproj index 5b86ef22f..1cc7eb9b0 100644 --- a/cs/samples/StoreVarLenTypes/StoreVarLenTypes.csproj +++ b/cs/samples/StoreVarLenTypes/StoreVarLenTypes.csproj @@ -1,7 +1,7 @@  - net7.0 + net10.0 x64 latest diff --git a/cs/src/core/FASTER.core.csproj b/cs/src/core/FASTER.core.csproj index 5f2efcd5e..766754188 100644 --- a/cs/src/core/FASTER.core.csproj +++ b/cs/src/core/FASTER.core.csproj @@ -1,73 +1,88 @@  - - net7.0;net6.0;netstandard2.1;netstandard2.0 - + + net10.0;net9.0;net8.0;netstandard2.1;netstandard2.0 + - - AnyCPU;x64 - latest - + + AnyCPU;x64 + latest + - - true - FASTER.core - FASTER.core - prompt - true - - Library - - ../../FASTER.snk - false - true - bin\$(Platform)\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml - + + true + FASTER.core + FASTER.core + prompt + true + + Library + + ../../FASTER.snk + false + true + bin\$(Platform)\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml + + + + DEBUG + full + bin\$(Platform)\Debug\ + + + + + true + bin\$(Platform)\Release\ + + + + ;NU1605 + - - DEBUG - full - bin\$(Platform)\Debug\ - - - - - true - bin\$(Platform)\Release\ - - - - ;NU1605 - - - - + - - - - - + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cs/src/core/Index/CheckpointManagement/DefaultCheckpointNamingScheme.cs b/cs/src/core/Index/CheckpointManagement/DefaultCheckpointNamingScheme.cs index 536701914..e854c52f9 100644 --- a/cs/src/core/Index/CheckpointManagement/DefaultCheckpointNamingScheme.cs +++ b/cs/src/core/Index/CheckpointManagement/DefaultCheckpointNamingScheme.cs @@ -52,9 +52,18 @@ public DefaultCheckpointNamingScheme(string baseName = "") /// public Guid Token(FileDescriptor fileDescriptor) => Guid.Parse(new DirectoryInfo(fileDescriptor.directoryName).Name); +#if NET10_0_OR_GREATER /// public long CommitNumber(FileDescriptor fileDescriptor) => long.Parse(fileDescriptor.fileName.Split('.').Reverse().Take(2).Last()); - +#else + /// + public long CommitNumber(FileDescriptor fileDescriptor) + { + var span = fileDescriptor.fileName.Split('.'); + span.Reverse(); + return long.Parse(span.Take(2).Last()); + } +#endif /// public string IndexCheckpointBasePath() => "index-checkpoints"; /// diff --git a/cs/src/core/Utilities/FasterException.cs b/cs/src/core/Utilities/FasterException.cs index 3369fbbc2..9b2cbf960 100644 --- a/cs/src/core/Utilities/FasterException.cs +++ b/cs/src/core/Utilities/FasterException.cs @@ -35,6 +35,7 @@ public FasterException(string message, Exception innerException) : base(message, { } +#if NETSTANDARD2_0_OR_GREATER /// /// Throw FASTER exception /// @@ -43,6 +44,7 @@ public FasterException(string message, Exception innerException) : base(message, public FasterException(SerializationInfo info, StreamingContext context) : base(info, context) { } +#endif } /// diff --git a/cs/src/devices/AzureStorageDevice/FASTER.devices.AzureStorageDevice.csproj b/cs/src/devices/AzureStorageDevice/FASTER.devices.AzureStorageDevice.csproj index e92cb0a5e..aae10c840 100644 --- a/cs/src/devices/AzureStorageDevice/FASTER.devices.AzureStorageDevice.csproj +++ b/cs/src/devices/AzureStorageDevice/FASTER.devices.AzureStorageDevice.csproj @@ -1,7 +1,7 @@  - net7.0;net6.0;netstandard2.1;netstandard2.0 + net10.0;net9.0;net8.0;netstandard2.1;netstandard2.0 @@ -37,13 +37,13 @@ - + - - + + diff --git a/cs/stress/FASTER.stress.csproj b/cs/stress/FASTER.stress.csproj index e0b48e28e..03d13f51e 100644 --- a/cs/stress/FASTER.stress.csproj +++ b/cs/stress/FASTER.stress.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net10.0 enable disable True @@ -12,7 +12,7 @@ - + diff --git a/cs/test/FASTER.test.csproj b/cs/test/FASTER.test.csproj index 4ce5d8ab2..8fd0c8d57 100644 --- a/cs/test/FASTER.test.csproj +++ b/cs/test/FASTER.test.csproj @@ -1,7 +1,7 @@  - net7.0;net6.0 + net10.0;net9.0;net8.0 @@ -57,9 +57,9 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive