Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
214 commits
Select commit Hold shift + click to select a range
da72e1e
Project outline for service fabric provider implementation, no classe…
Aug 9, 2016
d7f7dcb
Dummy classes for the minimally required interfaces for a custom prov…
Aug 9, 2016
0e48515
simple in memory implementation using queues / dictionaries. There's …
Aug 15, 2016
58b4dc5
Need to test the changes, also right now collections use an object th…
Aug 16, 2016
478284f
Orchestration client implementation and instance store implementation…
Aug 17, 2016
222ba78
Some thing that works!!! Has a lot of todos...
Aug 18, 2016
f0c65f2
New solution to contains all service fabric related stuff and a few o…
Aug 18, 2016
073f3e8
Test fabric application and test stateful service from templates,
Aug 18, 2016
a042562
Code to be able to do F5 and test an orchestration by hitting break p…
Aug 18, 2016
2cbaf2c
Adding licence to missing files and cleaning up unused namespace usings.
Aug 18, 2016
42c518b
Deleting unintentionally added files.
Aug 18, 2016
645fbf5
Refactoring the activity fetching in fabric orchestration service to …
Aug 18, 2016
b1e879d
Deleting the protoype in memory implementation used to initially to s…
Aug 18, 2016
1e98fe8
Moving the project folders according to the latest convention.
Aug 19, 2016
4cd2c86
Fixing up sln files and project references for the new dir structure.
Aug 19, 2016
f063e17
Fixing up package references in csproj to make it build.
Aug 19, 2016
c7015e1
Fixing a bad merge.
Aug 20, 2016
188ad08
Some implementation of timers that works for now.
Aug 23, 2016
27abc41
Changes that I think will enable sub orchestration and task continuat…
Aug 23, 2016
c3460b2
Cleaning up unused code.
Aug 23, 2016
a802a56
MSTest based functional tests for service fabric provider.
Aug 25, 2016
f11eb7f
Tests for ContinuedAsNew and I see that it's not working, need more t…
Aug 25, 2016
eed55ec
Test for sub orchestrations - good thing is that it works!
Aug 25, 2016
72675f0
Fixing a todo in code:
Aug 26, 2016
dda0f9d
Using the same data converter that's used in other parts of the code.
Aug 26, 2016
d03984c
Extra comments.
Aug 30, 2016
fdd5504
Changes to use a parameter for synchronous work item processing.
Aug 30, 2016
56659b8
Refactoring the stress test orchestrations into a separate assemly so…
Aug 30, 2016
062854f
My previous check in to use DataConverter broke the tests because it …
Aug 30, 2016
01e17fd
Changes to run a stress test and measure the time, the same pre-reqs
Aug 30, 2016
bd3c0ba
Minor change to stress test to also emit the orchestration time in ad…
Aug 30, 2016
d730c82
Removing the use of SetAsync and using AddOrUpdateAsync instead.
Aug 30, 2016
365ef4d
Minor change to timer test to log the orchestration time and waiter t…
Aug 30, 2016
add5984
nit changes.
Aug 30, 2016
3b710bc
more comments / todo.
Aug 30, 2016
9ef2e96
There is no need to call CommitAsync for read-only transactions becau…
Aug 30, 2016
750977c
An attempt to use code generation tool for the immutable class.
Aug 30, 2016
9ddfec1
Fixing a few coding issues (from late night coding :-)) to make the t…
Aug 30, 2016
81e6270
Self code review on differences from base branch.
Aug 30, 2016
3bb0375
A first draft of a console program to test reliability (fault-toleran…
Sep 13, 2016
6e6a35c
Adding/Removing tracing.
Sep 14, 2016
049cb0d
Minor improvement.
Sep 14, 2016
60756a6
cleaning up and re-ararnging some todo's.
Sep 16, 2016
b83c725
Converting the instance store interface to be transaction aware... no…
Sep 16, 2016
0fe9dbd
Adding the pending item list (but we are not sure how many we want fo…
Sep 16, 2016
45c46b0
Implementing one to-do which I think we will need : Support purging s…
Sep 16, 2016
e3b3c8b
Result will be useful when the deployment is new.
Aug 30, 2016
fb671bf
Some changes in test service to be able to assert the result in faster
Aug 30, 2016
6973428
Changes to remove session row when the orchestration is complete.
Sep 16, 2016
ad35fa1
Clearing some easy to-do's in code.
Sep 16, 2016
f2abb0b
Event source and events within the provider.
Sep 16, 2016
466802f
Writing a test to validate the data contract serialization for Persis…
Sep 16, 2016
4ea778c
Separating unit tests into a separate assemly (because they don't nee…
Sep 16, 2016
020cc3c
Expanding the test to cover all fields. (And to measure time)
Sep 16, 2016
d7c64ef
Adapting the test a bit to be able to easily increase the size of obj…
Sep 16, 2016
3041f8c
Ugly serialization fix to identify other issues - I am comminting thi…
Sep 16, 2016
e0e9d81
May not have optimizations for memory but something that might work...
Sep 16, 2016
fdbb680
A reasonable (according to me) compromise to keep the class immutable…
Sep 16, 2016
7276301
Removing the fields used to assert synchronous processing.
Sep 23, 2016
889cf3b
Bringing the change (not to rely on CancellationToken parameter for L…
Sep 26, 2016
4352f1b
Project outline for service fabric provider implementation, no classe…
Aug 9, 2016
c24a1c2
A simple peek lock implementation on sessions.
Aug 30, 2016
04abeb6
Simple peek lock implementation for activities.
Aug 30, 2016
03f1d8a
reducing the time outs on tests and fixing a nullref caused by a race…
Aug 30, 2016
0f1dbac
Something that works reliably (atleast in the context of a single nod…
Aug 30, 2016
f8338d6
Simpler implementation for sessions (using similar approach as activi…
Aug 30, 2016
0aabe26
Cleaning up a couple of todo's after email thread with Andrew about i…
Aug 30, 2016
25fbede
Changes to remove session row when the orchestration is complete.
Sep 13, 2016
47686cc
Clearing some easy to-do's in code.
Sep 13, 2016
49cc669
Event source and events within the provider.
Sep 15, 2016
1a768ef
Fixing an issue observed while testing node failures.
Sep 15, 2016
3189435
Fixing the regression (tests failed and now they are back to passing).
Sep 15, 2016
3cd5350
Commented code that's required but causing problems because of transa…
Sep 16, 2016
71a2317
Ugly serialization fix to identify other issues - I am comminting thi…
Sep 15, 2016
52ee835
May not have optimizations for memory but something that might work...
Sep 16, 2016
9a074ff
A reasonable (according to me) compromise to keep the class immutable…
Sep 16, 2016
b607bb0
Minor change to create state manager transaction only if needed.
Sep 16, 2016
8216131
Fixing bad rebase.
Sep 27, 2016
61c23f9
Some improvement that would avoid locking/enumerating for activities.
Sep 26, 2016
529457b
Adding a todo identified when doing node failure.
Sep 26, 2016
bd9c71a
Refactor -> Rename.
Sep 26, 2016
0b24d2a
Minor change to test.
Sep 26, 2016
bc8ef48
Improvement to PersistentSession API.
Sep 26, 2016
a17e2ca
Clearing some simple todo's.
Sep 26, 2016
90cdc3a
Adding check for invalidating creating an orchestration when another …
Sep 26, 2016
72f051f
Making changes to tests so that I can keep the source repository beha…
Sep 26, 2016
d43d796
Some more test changes and diagnostics.
Sep 26, 2016
91575db
Undoing some changes which were done for initial prototyping and no m…
Sep 26, 2016
c0e384e
Changing the test structure again (this time favored duplication of t…
Sep 26, 2016
b3aac23
Reverting another change made to the core provider.
Sep 26, 2016
5039543
Adding simple perf test (using preditable sleep time).
Sep 26, 2016
9d97bb0
More test scenarios.
Sep 26, 2016
ab68531
Clearing a Todo : Use signalling between Send and Receive instead of …
Sep 26, 2016
0216156
Some attempt to use inmemory locking for sessions. (And avoid enumera…
Sep 26, 2016
d143925
Clearing a todo : Using signalling mechanism for AcceptSession (like …
Sep 26, 2016
9e2bc08
Changes for trying out timeout wrapper in orchestrations.
Oct 4, 2016
b492999
Changed the stress tests to use timers and take one measurement.
Oct 4, 2016
337cb10
Using ImmutableSortedSet to improve the time complexity of scheduled …
Oct 4, 2016
075f985
Minor change to test program.
Oct 4, 2016
9858cb4
More fixes to test program.
Oct 4, 2016
d45f43c
Refactoring of common code from PeekLockQueue to a base class.
Oct 4, 2016
d230b7f
Renaming file/class.
Oct 4, 2016
519b711
Minor bug fixes.
Oct 4, 2016
a3f30f5
An alternative implementation for scheduled messages (i.e., timers).
Oct 4, 2016
c473386
Refactoring the SessionsProvider also to derive from common base to r…
Oct 4, 2016
4023e7d
some cleanup of unreferenced files and changing the project reference…
Oct 14, 2016
69c849e
Adding a couple of todo comments in code.
Oct 20, 2016
8a018b2
Changes to upgrade the test application according to the latest winfa…
Nov 7, 2016
246299f
Making SessionsProvider internal (and also other provider implementat…
Nov 7, 2016
4e40413
//Todo: Create a settings class to customize interesting properties o…
Nov 7, 2016
378cb08
Making another class internal that missed in commit : 246299fe3.
Nov 8, 2016
8e1434a
Fixing a Todo: CreateTaskOrchestrationAsync should also add to instan…
Nov 8, 2016
aaa5b50
Sample showing customizing the orchestrator settings in test applicat…
Nov 8, 2016
9aa48c7
Changes to create nupkg files from Visual Studio build.
Oct 19, 2016
6d4c087
Changes to generate service fabric nuget package.
Oct 19, 2016
7c4fd47
Some code review comments - moving the nuproj into a top level folder…
Oct 19, 2016
f4ee66d
Fixing the relative path of project since the folder structure changed.
Oct 19, 2016
8a35f59
Rearranging the files according to the changed structure.
Oct 19, 2016
9f1d18c
cleaning up package and project references.
Oct 19, 2016
6fdc59f
Fixing the package references and project references.
Oct 19, 2016
9ef39df
More cleanup.
Oct 19, 2016
36244d4
Checking in a nuspec file as there were issues with generating packag…
Oct 19, 2016
40bfea4
A few changes:
Nov 8, 2016
6db7b1d
Removing the nuproj files.
Nov 8, 2016
dac330c
Merge pull request #69 from PradeepKadubandi/vnext_servicefabric
PradeepKadubandi Nov 23, 2016
eb394af
Changes to support querying the state using only instance id without …
PradeepKadubandi Dec 17, 2016
53386dd
Handling code review comments for previous checkin.
PradeepKadubandi Jan 3, 2017
2225706
Generated and uploaded the 'alpha2' version of respective packages, b…
PradeepKadubandi Jan 4, 2017
8698d7e
Updating the version of dll to match the version of nuget package tha…
PradeepKadubandi Jan 4, 2017
f29a663
Generated and uploaded the 'alpha3' version of respective packages, b…
PradeepKadubandi Jan 4, 2017
0813bb5
Fixing a potential null ref.
PradeepKadubandi Jan 30, 2017
ed9b55f
Minor optimization.
PradeepKadubandi Jan 30, 2017
4dcc522
Fixing release build break.
PradeepKadubandi Feb 2, 2017
62e417f
Generated and uploaded the 'alpha4' version of respective packages, c…
PradeepKadubandi Feb 2, 2017
28547d2
Add ETW event for current pending entry count for all stores in DTFX.
PradeepKadubandi Feb 8, 2017
ff7a090
forcing the termination of Task hub worker to see how that works and …
PradeepKadubandi Feb 10, 2017
7d32cf7
Fixing a potential race. Though I couldn't repro the issue locally, I…
PradeepKadubandi Feb 11, 2017
d07834c
Fixing a minor thing that I missed in my last check in.
PradeepKadubandi Feb 11, 2017
19f01fd
A couple of fixes:
PradeepKadubandi Feb 23, 2017
c520043
A few minor fixes:
PradeepKadubandi Mar 1, 2017
cc8f947
Updating the test fabric application to 5.4 CU2 Version of fabric SDK.
PradeepKadubandi Mar 1, 2017
535f8fa
Log execution id as well for Created event.
PradeepKadubandi Mar 7, 2017
9e506c9
Changes to test retry activity in an orchestration.
PradeepKadubandi Mar 7, 2017
d7f87a2
Uph, after a considerable effort (more than a day), I could get this …
PradeepKadubandi Mar 7, 2017
304f461
Squashed commit of the following:
PradeepKadubandi Mar 8, 2017
ce2ac55
Adding prefixes to reliable collection name constants to make them un…
PradeepKadubandi Apr 4, 2017
2f08d28
Fixing the regression caused by my previous checkin.
PradeepKadubandi Apr 6, 2017
338a6ba
Movinng Newtonsoft.Json version to 8.0.3 acoss all projects including
PradeepKadubandi Apr 6, 2017
2209968
Making DataContracts in SF Provider implement IExtensibleDataObject f…
PradeepKadubandi Apr 6, 2017
1c9bc44
Merge branch 'vnext' into pk/sf/merge_vnext_uptp_718f28de
PradeepKadubandi Apr 7, 2017
7bcd190
Fix build break caused by FI. For now simply throw NotImplementedExce…
PradeepKadubandi Apr 7, 2017
350aada
Upgrade the test fabric application to SF 1.5.* version which is used…
PradeepKadubandi Apr 7, 2017
0485ec3
Framework contract changed, it can send non-execution started event t…
PradeepKadubandi Apr 7, 2017
ff16215
Merge branch 'vnext' into vnext_servicefabric
PradeepKadubandi Apr 7, 2017
9478b39
Fix null ref detected while running tests.
May 3, 2017
ccfb79c
Some minor optimizations related to async await.
PradeepKadubandi Apr 28, 2017
1af5609
Squashed commit of the following:
PradeepKadubandi May 4, 2017
2059d21
A few more fixes. Basically we want to put back the item in in-memory…
PradeepKadubandi May 8, 2017
81fb515
Squashed commit of the following:
PradeepKadubandi May 13, 2017
0dfd898
Squashed commit of the following:
PradeepKadubandi May 17, 2017
75282de
Squashed commit of the following:
PradeepKadubandi May 23, 2017
d5228cf
Nit - formatting fix.
PradeepKadubandi May 31, 2017
aebbf08
Squashed commit of the following:
PradeepKadubandi Jun 5, 2017
c03f7f1
Changes to make the session messages dictionary name unique per execu…
PradeepKadubandi Jun 6, 2017
5bf6bfa
Squashed commit of the following:
PradeepKadubandi Jun 7, 2017
61f9977
Squashed commit of the following:
PradeepKadubandi Jun 7, 2017
d586d6c
Squashed commit of the following:
PradeepKadubandi Jun 7, 2017
995c0fd
Support for getting runtime state dump when the orchestration runs.
PradeepKadubandi Jun 7, 2017
6a0ea7d
Squashed commit of the following:
PradeepKadubandi Jun 8, 2017
b7e428e
Squashed commit of the following:
PradeepKadubandi Jun 8, 2017
d5cf4f9
Squashed commit of the following:
PradeepKadubandi Jun 9, 2017
20e6e0e
Refactor rename the property.
PradeepKadubandi Jun 9, 2017
cee35be
Minor ETW Fix and Improvements.
PradeepKadubandi Jun 13, 2017
0246b2f
Adding retry on transient exceptions remaining transactions which wer…
PradeepKadubandi Jun 13, 2017
edd12e6
Minor change in the order of statements in a transaction.
PradeepKadubandi Jun 15, 2017
5194844
A test tooling app to inspect stuck orchestrations - this is just a c…
PradeepKadubandi Jun 22, 2017
df72dd5
Nit code changes I missed in my last checkin for tooling app - adding…
PradeepKadubandi Jun 22, 2017
826eb60
Removing some ETW logging statements as these were needed before when…
PradeepKadubandi Jun 22, 2017
cd4d700
There is a problem detected in failover testing with fabric state tra…
PradeepKadubandi Jun 22, 2017
6cec92b
Fixing an issue identified in failover testing where some orchestrati…
PradeepKadubandi Jun 23, 2017
272db89
Correct way to fix stuck orchestrations issue (this was a slight risk…
PradeepKadubandi Jun 23, 2017
32c5223
Increasing the stabilization wait timeout so that test runs more reli…
PradeepKadubandi Jun 23, 2017
81a70e9
Revert "Correct way to fix stuck orchestrations issue (this was a sli…
PradeepKadubandi Jun 24, 2017
5f1beaa
Updating the code comments with complete explanation (which is same a…
PradeepKadubandi Jun 24, 2017
f874818
Hmm - another observeation, Release work item can be called even when…
PradeepKadubandi Jun 24, 2017
6cc6970
Improving the WaitForOrchestration logic to avoid polling each 2 seco…
PradeepKadubandi Jun 24, 2017
4ee8a4a
Fixing a null reference exception observed in stress run.
PradeepKadubandi Jun 26, 2017
ccf1654
I missed one place where the transaction to update the state to compl…
PradeepKadubandi Jun 27, 2017
3f1d721
Upgrade the sfproj for fabric 1.6.0 tooling package.
PradeepKadubandi Jul 26, 2017
e2222b5
Changes for terminating a stuck orchestration to work.
PradeepKadubandi Jul 26, 2017
e2a32c0
ETW improvements to log execution id in addition to instance id.
PradeepKadubandi Jul 26, 2017
3cb56ff
Just adding to comments to indicate the latest status.
PradeepKadubandi Aug 1, 2017
f96086f
Fixing an issue observed in stress test - it's possible that an orche…
PradeepKadubandi Aug 1, 2017
3635a27
Moving the implementation of IFabricProviderClient to a separate impl…
PradeepKadubandi Aug 11, 2017
6482106
Add a test to try ForceTerminate twice, this validates that it does n…
PradeepKadubandi Aug 11, 2017
602e466
Minor change to failover program. (I am hoping this helps in intermit…
PradeepKadubandi Jun 27, 2017
c8d10d9
Fixing a subtle bug with TryEnqueueSession in the way it uses 'AddOrU…
PradeepKadubandi Aug 14, 2017
3bd3bd7
Add configuration for enabling DTFX framework traces for test service…
PradeepKadubandi Aug 18, 2017
0c283b1
Fix for the issue where issuing TerminateInstanceAsync twice from cli…
PradeepKadubandi Aug 30, 2017
8bb791c
Now that the fix for multiple termination commands issue is made in m…
PradeepKadubandi Sep 1, 2017
f7c54ca
Remove ThrowIfStopped method because this is not really adding any va…
PradeepKadubandi Oct 14, 2017
5c6be3c
Changes to Event Source class to make it visible for event listners.
PradeepKadubandi May 17, 2018
8cf1be7
Upgrading the fabric SDK used to build the fabric test application.
PradeepKadubandi Aug 23, 2018
262b314
Merge branch 'master' into 'vnext_servicefabric' branch on (with name…
PradeepKadubandi Aug 23, 2018
13857b9
Removing a file which was not needed after the merge.
PradeepKadubandi Aug 23, 2018
addb210
Adding a readme for fabric provider.
PradeepKadubandi Aug 23, 2018
c67d56d
Changes to make the DurableTask.ServiceFabric project build.
PradeepKadubandi Aug 23, 2018
baa4b65
Changes to make the entire solution build.
PradeepKadubandi Aug 23, 2018
5f45e85
This was needed to make the tests pass!
PradeepKadubandi Aug 24, 2018
9450233
PR Comment1: Move the usings in all files inside the namespace statem…
Sep 8, 2018
18d7090
CR comment : Move usings inside namespace.
PradeepKadubandi Nov 2, 2018
dd3e02d
CR Comment : Skipping InternalsVisibleTo attributes when signing asse…
PradeepKadubandi Nov 2, 2018
6cba647
Minor fix needed to make the tests pass!
PradeepKadubandi Dec 18, 2018
de31204
Support for ContinueForNew feature. (Querying for orchestration state…
PradeepKadubandi Jun 20, 2019
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
bin/
obj/
packages/
pkg/
TestResults/

# Packages #
Expand Down
142 changes: 142 additions & 0 deletions DurableTask.ServiceFabric.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.7
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{501E1168-418C-4832-B88C-617735BD02C9}"
ProjectSection(SolutionItems) = preProject
.nuget\NuGet.Config = .nuget\NuGet.Config
.nuget\NuGet.exe = .nuget\NuGet.exe
.nuget\NuGet.targets = .nuget\NuGet.targets
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{0AE737F5-4AA1-402F-A61C-258CA00E282C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{5177D1DE-AC86-41B9-8D04-41988A7C2208}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestFabricApplication", "TestFabricApplication", "{507C0CC2-082F-4EB7-8984-E2648976EB04}"
EndProject
Project("{A07B5EB6-E848-4116-A8D0-A826331D98C6}") = "TestFabricApplication", "Test\TestFabricApplication\TestFabricApplication\TestFabricApplication.sfproj", "{CA924781-AE52-45FA-A817-C39C822FB782}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestStatefulService", "Test\TestFabricApplication\TestStatefulService\TestStatefulService.csproj", "{95D6C9C7-F7A0-4125-840D-1854BEC24978}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestApplication.Common", "Test\TestFabricApplication\TestApplication.Common\TestApplication.Common.csproj", "{EA90334D-3194-4266-81EB-EECA9C760315}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DurableTask.ServiceFabric", "src\DurableTask.ServiceFabric\DurableTask.ServiceFabric.csproj", "{5C617B24-4902-4992-8F71-AB14F00B74A8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DurableTask.ServiceFabric.Test", "Test\DurableTask.ServiceFabric.Test\DurableTask.ServiceFabric.Test.csproj", "{EDC63DDB-8397-4AEC-BF54-6395B2527075}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DurableTask.Test.Orchestrations", "Test\DurableTask.Test.Orchestrations\DurableTask.Test.Orchestrations.csproj", "{2BC2A5AD-4200-41B9-A034-332BB1D7187B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DurableTask.ServiceFabric.Failover.Tests", "Test\DurableTask.ServiceFabric.Stress.Tests\DurableTask.ServiceFabric.Failover.Tests.csproj", "{BE4624F3-E565-428F-9EED-E6847530746A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DurableTask.ServiceFabric.UnitTests", "Test\DurableTask.ServiceFabric.UnitTests\DurableTask.ServiceFabric.UnitTests.csproj", "{31C9C932-6376-46D4-A68A-A0A7F2726D38}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DurableTask.ServiceFabric.Tests.Tooling", "Test\DurableTask.ServiceFabric.Tests.Tooling\DurableTask.ServiceFabric.Tests.Tooling.csproj", "{ED6817FD-A301-40CA-B287-1C40E7AAC7D1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DurableTask.Core", "src\DurableTask.Core\DurableTask.Core.csproj", "{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CA924781-AE52-45FA-A817-C39C822FB782}.Debug|Any CPU.ActiveCfg = Debug|x64
{CA924781-AE52-45FA-A817-C39C822FB782}.Debug|x64.ActiveCfg = Debug|x64
{CA924781-AE52-45FA-A817-C39C822FB782}.Debug|x64.Build.0 = Debug|x64
{CA924781-AE52-45FA-A817-C39C822FB782}.Debug|x64.Deploy.0 = Debug|x64
{CA924781-AE52-45FA-A817-C39C822FB782}.Release|Any CPU.ActiveCfg = Release|x64
{CA924781-AE52-45FA-A817-C39C822FB782}.Release|x64.ActiveCfg = Release|x64
{CA924781-AE52-45FA-A817-C39C822FB782}.Release|x64.Build.0 = Release|x64
{CA924781-AE52-45FA-A817-C39C822FB782}.Release|x64.Deploy.0 = Release|x64
{95D6C9C7-F7A0-4125-840D-1854BEC24978}.Debug|Any CPU.ActiveCfg = Debug|x64
{95D6C9C7-F7A0-4125-840D-1854BEC24978}.Debug|x64.ActiveCfg = Debug|x64
{95D6C9C7-F7A0-4125-840D-1854BEC24978}.Debug|x64.Build.0 = Debug|x64
{95D6C9C7-F7A0-4125-840D-1854BEC24978}.Release|Any CPU.ActiveCfg = Release|x64
{95D6C9C7-F7A0-4125-840D-1854BEC24978}.Release|x64.ActiveCfg = Release|x64
{95D6C9C7-F7A0-4125-840D-1854BEC24978}.Release|x64.Build.0 = Release|x64
{EA90334D-3194-4266-81EB-EECA9C760315}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA90334D-3194-4266-81EB-EECA9C760315}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA90334D-3194-4266-81EB-EECA9C760315}.Debug|x64.ActiveCfg = Debug|Any CPU
{EA90334D-3194-4266-81EB-EECA9C760315}.Debug|x64.Build.0 = Debug|Any CPU
{EA90334D-3194-4266-81EB-EECA9C760315}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA90334D-3194-4266-81EB-EECA9C760315}.Release|Any CPU.Build.0 = Release|Any CPU
{EA90334D-3194-4266-81EB-EECA9C760315}.Release|x64.ActiveCfg = Release|Any CPU
{EA90334D-3194-4266-81EB-EECA9C760315}.Release|x64.Build.0 = Release|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Debug|x64.ActiveCfg = Debug|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Debug|x64.Build.0 = Debug|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Release|Any CPU.Build.0 = Release|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Release|x64.ActiveCfg = Release|Any CPU
{5C617B24-4902-4992-8F71-AB14F00B74A8}.Release|x64.Build.0 = Release|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Debug|x64.ActiveCfg = Debug|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Debug|x64.Build.0 = Debug|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Release|Any CPU.Build.0 = Release|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Release|x64.ActiveCfg = Release|Any CPU
{EDC63DDB-8397-4AEC-BF54-6395B2527075}.Release|x64.Build.0 = Release|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Debug|x64.ActiveCfg = Debug|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Debug|x64.Build.0 = Debug|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Release|Any CPU.Build.0 = Release|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Release|x64.ActiveCfg = Release|Any CPU
{2BC2A5AD-4200-41B9-A034-332BB1D7187B}.Release|x64.Build.0 = Release|Any CPU
{BE4624F3-E565-428F-9EED-E6847530746A}.Debug|Any CPU.ActiveCfg = Debug|x64
{BE4624F3-E565-428F-9EED-E6847530746A}.Debug|x64.ActiveCfg = Debug|x64
{BE4624F3-E565-428F-9EED-E6847530746A}.Debug|x64.Build.0 = Debug|x64
{BE4624F3-E565-428F-9EED-E6847530746A}.Release|Any CPU.ActiveCfg = Release|x64
{BE4624F3-E565-428F-9EED-E6847530746A}.Release|x64.ActiveCfg = Release|x64
{BE4624F3-E565-428F-9EED-E6847530746A}.Release|x64.Build.0 = Release|x64
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Debug|Any CPU.Build.0 = Debug|Any CPU
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Debug|x64.ActiveCfg = Debug|Any CPU
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Debug|x64.Build.0 = Debug|Any CPU
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Release|Any CPU.ActiveCfg = Release|Any CPU
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Release|Any CPU.Build.0 = Release|Any CPU
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Release|x64.ActiveCfg = Release|Any CPU
{31C9C932-6376-46D4-A68A-A0A7F2726D38}.Release|x64.Build.0 = Release|Any CPU
{ED6817FD-A301-40CA-B287-1C40E7AAC7D1}.Debug|Any CPU.ActiveCfg = Debug|x64
{ED6817FD-A301-40CA-B287-1C40E7AAC7D1}.Debug|x64.ActiveCfg = Debug|x64
{ED6817FD-A301-40CA-B287-1C40E7AAC7D1}.Debug|x64.Build.0 = Debug|x64
{ED6817FD-A301-40CA-B287-1C40E7AAC7D1}.Release|Any CPU.ActiveCfg = Release|x64
{ED6817FD-A301-40CA-B287-1C40E7AAC7D1}.Release|x64.ActiveCfg = Release|x64
{ED6817FD-A301-40CA-B287-1C40E7AAC7D1}.Release|x64.Build.0 = Release|x64
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Debug|x64.ActiveCfg = Debug|Any CPU
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Debug|x64.Build.0 = Debug|Any CPU
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Release|Any CPU.Build.0 = Release|Any CPU
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Release|x64.ActiveCfg = Release|Any CPU
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{507C0CC2-082F-4EB7-8984-E2648976EB04} = {5177D1DE-AC86-41B9-8D04-41988A7C2208}
{CA924781-AE52-45FA-A817-C39C822FB782} = {507C0CC2-082F-4EB7-8984-E2648976EB04}
{95D6C9C7-F7A0-4125-840D-1854BEC24978} = {507C0CC2-082F-4EB7-8984-E2648976EB04}
{EA90334D-3194-4266-81EB-EECA9C760315} = {507C0CC2-082F-4EB7-8984-E2648976EB04}
{5C617B24-4902-4992-8F71-AB14F00B74A8} = {0AE737F5-4AA1-402F-A61C-258CA00E282C}
{EDC63DDB-8397-4AEC-BF54-6395B2527075} = {5177D1DE-AC86-41B9-8D04-41988A7C2208}
{2BC2A5AD-4200-41B9-A034-332BB1D7187B} = {5177D1DE-AC86-41B9-8D04-41988A7C2208}
{BE4624F3-E565-428F-9EED-E6847530746A} = {5177D1DE-AC86-41B9-8D04-41988A7C2208}
{31C9C932-6376-46D4-A68A-A0A7F2726D38} = {5177D1DE-AC86-41B9-8D04-41988A7C2208}
{ED6817FD-A301-40CA-B287-1C40E7AAC7D1} = {5177D1DE-AC86-41B9-8D04-41988A7C2208}
{6B386E8F-20EB-43DE-BBD7-6408A232B4BA} = {0AE737F5-4AA1-402F-A61C-258CA00E282C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EnterpriseLibraryConfigurationToolBinariesPath = packages\TransientFaultHandling.Core.5.1.1209.1\lib\NET4
SolutionGuid = {AB50E5E3-EAB4-4EBA-AE13-551034A521F8}
EndGlobalSection
EndGlobal
63 changes: 63 additions & 0 deletions Test/DurableTask.ServiceFabric.Stress.Tests/ChaosRunner.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// ----------------------------------------------------------------------------------
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------

namespace DurableTask.ServiceFabric.Failover.Tests
{
using System;
using System.ComponentModel;
using System.Fabric;
using System.Fabric.Testability.Scenario;
using System.Threading;
using System.Threading.Tasks;

class ChaosRunner
{
public async Task RunFailoverScenario(TimeSpan timeToRun, CancellationToken token)
{
var partitionSelector = PartitionSelector.PartitionKeyOf(new Uri("fabric:/TestFabricApplication/TestStatefulService"), 1);
TimeSpan maxServiceStabilizationTimeout = TimeSpan.FromMinutes(3);
var client = new FabricClient("localhost:19000");

var parameters = new FailoverTestScenarioParameters(
partitionSelector,
timeToRun,
maxServiceStabilizationTimeout);

Console.WriteLine($"FailoverTest Info : TimeToRun = {parameters.TimeToRun}");
Console.WriteLine($"FailoverTest Info : WaitTimeBetweenFaults = {parameters.WaitTimeBetweenFaults}");
Console.WriteLine($"FailoverTest Info : MaxServiceStabilizationTimeout = {parameters.MaxServiceStabilizationTimeout}");

var testScenario = new FailoverTestScenario(client, parameters);
testScenario.ProgressChanged += OnTestProgressChanged;

try
{
await testScenario.ExecuteAsync(token);
}
catch (TaskCanceledException)
{
}
catch (AggregateException ae)
{
Console.Error.WriteLine($"{DateTime.UtcNow} : Exception inside the failover test scenario : {ae.InnerException}");
}
}

private void OnTestProgressChanged(object sender, ProgressChangedEventArgs e)
{
var utcNow = DateTime.UtcNow;
Console.WriteLine($"{utcNow} : FailoverTest Progress Percentage {e.ProgressPercentage}");
Console.WriteLine($"{utcNow} : FailoverTest UserState {e.UserState}");
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should at least switch to the new csproj format, would be really weird bring in the old format to master at this point.

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory),DurableTask.sln))\tools\DurableTask.props" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{BE4624F3-E565-428F-9EED-E6847530746A}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DurableTask.ServiceFabric.Failover.Tests</RootNamespace>
<AssemblyName>DurableTask.ServiceFabric.Failover.Tests</AssemblyName>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<PlatformTarget>x64</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.ServiceFabric.Data">
<HintPath>..\..\packages\Microsoft.ServiceFabric.Data.2.5.216\lib\net45\Microsoft.ServiceFabric.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ServiceFabric.Data.Interfaces">
<HintPath>..\..\packages\Microsoft.ServiceFabric.Data.2.5.216\lib\net45\Microsoft.ServiceFabric.Data.Interfaces.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ServiceFabric.FabricTransport, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=AMD64">
<HintPath>..\..\packages\Microsoft.ServiceFabric.FabricTransport.Internal.2.5.216\lib\net45\Microsoft.ServiceFabric.FabricTransport.dll</HintPath>
</Reference>
<Reference Include="Microsoft.ServiceFabric.Internal">
<HintPath>..\..\packages\Microsoft.ServiceFabric.5.5.216\lib\net45\Microsoft.ServiceFabric.Internal.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ServiceFabric.Internal.Strings">
<HintPath>..\..\packages\Microsoft.ServiceFabric.5.5.216\lib\net45\Microsoft.ServiceFabric.Internal.Strings.dll</HintPath>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This version is quite old, can this be udaed to newer?

<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ServiceFabric.Services">
<HintPath>..\..\packages\Microsoft.ServiceFabric.Services.2.5.216\lib\net45\Microsoft.ServiceFabric.Services.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ServiceFabric.Services.Remoting, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=AMD64">
<HintPath>..\..\packages\Microsoft.ServiceFabric.Services.Remoting.2.5.216\lib\net45\Microsoft.ServiceFabric.Services.Remoting.dll</HintPath>
</Reference>
<Reference Include="ServiceFabricServiceModel">
<HintPath>..\..\packages\Microsoft.ServiceFabric.Services.2.5.216\lib\net45\ServiceFabricServiceModel.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Fabric, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=AMD64">
<HintPath>..\..\packages\Microsoft.ServiceFabric.5.5.216\lib\net45\System.Fabric.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ChaosRunner.cs" />
<Compile Include="OrchestrationRunner.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Utils.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\DurableTask.Core\DurableTask.Core.csproj">
<Project>{6B386E8F-20EB-43DE-BBD7-6408A232B4BA}</Project>
<Name>DurableTask.Core</Name>
</ProjectReference>
<ProjectReference Include="..\DurableTask.Test.Orchestrations\DurableTask.Test.Orchestrations.csproj">
<Project>{2bc2a5ad-4200-41b9-a034-332bb1d7187b}</Project>
<Name>DurableTask.Test.Orchestrations</Name>
</ProjectReference>
<ProjectReference Include="..\TestFabricApplication\TestApplication.Common\TestApplication.Common.csproj">
<Project>{ea90334d-3194-4266-81eb-eeca9c760315}</Project>
<Name>TestApplication.Common</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
Loading