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

Azure Service Fabric based new provider implementation. #307

Merged
merged 12 commits into from
Sep 3, 2019
Merged

Azure Service Fabric based new provider implementation. #307

merged 12 commits into from
Sep 3, 2019

Conversation

tkamesh
Copy link
Contributor

@tkamesh tkamesh commented Jul 16, 2019

This pull request will introduce new provider based on Azure Service Fabric.

  • Scheduled Tasks, Timers, Sub orchestrations work!
  • Fabric based instance store has limited functionality for now!
    • No support for history events.
    • Only the latest state for a given Orchestration instance is stored (previous state changes are overwritten by latest). [For a period of 24 hour time window]
    • State can be queried only for Orchestrations still running / pending OR completed within an hour ago.

For more detailed notes refer to src\DurableTask.AzureServiceFabric\ReadMe.md

kamesrao and others added 11 commits July 10, 2019 12:24
* Add Integration Tests.
* Integrate with DTFx controllers.
1. Provide ability to store last N execution ids.
2. Provide ability to retun history (with the last event).
3. Fix Generic parameters for the stores.
4. Address code review comments.
5. Implement FabricService.
Listen for `ClientDisconnected` event.
Merge both the event sources into single one.
Refactor Event Source.
#2)

* Introduce new interface `IServiceListener` to represent each listener in StatefulService.
This allows us to develop each listener separately.
Migrate current codebase to consume the same.
}, initialDelay: TimeSpan.FromMinutes(5), delayOnSuccess: TimeSpan.FromHours(12), delayOnException: TimeSpan.FromHours(1), actionName: $"{nameof(CleanupDayOldDictionaries)}", token: this.cancellationToken);
}

Task CleanupOldDictionaries()
Copy link
Contributor

Choose a reason for hiding this comment

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

CleanupOldDictionaries [](start = 13, length = 22)

Async

/// <summary>
/// Traces application exceptions.
/// </summary>
public class ProxyServiceExceptionsLogger : ExceptionLogger
Copy link
Contributor

Choose a reason for hiding this comment

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

Exceptions [](start = 29, length = 10)

Here and a few other places, use singular in classnames not plural. Also SessionMessagesProvider, SessionsProvider.

public class DefaultStringPartitionHashing : IPartitionHashing<string>
{
/// <inheritdoc/>
public Task<long> GeneratePartitionHashCode(string value, CancellationToken cancellationToken)
Copy link
Contributor

Choose a reason for hiding this comment

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

Task [](start = 15, length = 4)

Interested why a hashing func would return a task. If this should be like this naming should have async suffix

Update version.
Address comments.
@shankarsama shankarsama merged commit d2885ff into Azure:master Sep 3, 2019
@tkamesh tkamesh deleted the azure-service-fabric branch February 8, 2021 11:32
shankarsama pushed a commit to shankarsama/durabletask that referenced this pull request Apr 27, 2021
* * Add DurableTask.ServiceFabric project.
* Add Integration Tests.
* Integrate with DTFx controllers.

* Fixes:
1. Provide ability to store last N execution ids.
2. Provide ability to retun history (with the last event).
3. Fix Generic parameters for the stores.
4. Address code review comments.
5. Implement FabricService.

* Provider IHasher interface to abstract hashing strategy.
Create Register method.

* Addressing code review comments.
Listen for `ClientDisconnected` event.
Merge both the event sources into single one.

* Fix reported issue.

* Address code review comments - Implement simple partition resolver, without local caching.

* Fix duplicate orchestration issue.
Refactor Event Source.

* Introduce new interface `IServiceListener` to represent each listener… (Azure#2)

* Introduce new interface `IServiceListener` to represent each listener in StatefulService.
This allows us to develop each listener separately.
Migrate current codebase to consume the same.

* Remove IOrchestrationsProvider interface.

* Rename to AzureServiceFabric - Folders, CsProj files.

* Rename Namespaces.

* Add list of contributors.
Update version.
Address comments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants