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

Worker Indexing Changes #7606

Merged
merged 43 commits into from
Nov 9, 2021
Merged

Conversation

anandagopal6
Copy link
Contributor

@anandagopal6 anandagopal6 commented Aug 11, 2021

Issue describing the changes in this PR

#7496

Wiki

https://github.com/Azure/azure-functions-host/wiki/Worker-Indexing-Changes

Design doc - Here

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

Additional information

Additional PR information

anandagopal6 and others added 24 commits August 6, 2021 11:28
…ables/worker config variables to test cases.

Add null checks to _workerRuntime and workerConfig code sections.
…sage names

Fixed invocation troubles for worker indexed functions --> was just missing a few lines from ScriptHost
…ots of tests

Replaced dispatcher.InitializeAsync(null) with new List<FunctionMetadata> as the parameter instead of null

Renamed FunctionMetadataProviderTests as HostFunctionMetadataProviderTests
…tEnv

Added new RawFunctionMetadata type

Moved Binding parsing logic into WorkerFunctionMetadataProvider
…nd ValidateMetadata() validation logic

Added simple HttpFunctionInvocationDispatcher implementation for worker indexing functions

Cleaned ScriptHost worker indexing logic and WorkerFunctionMetadataProvider logic
Add detailed binding validation logic to WorkerFunctionMetadataProvider

Add detailed comments to HTTP dispatcher
Throw NotSupportedException in HttpFunctionInvocationDispatcher for worker indexing-related functions
@fabiocav
Copy link
Member

fabiocav commented Nov 2, 2021

@vrdmr we're getting close to merging this, but I wanted to see if you have any additional feedback you want to provide.

@fabiocav fabiocav changed the title [DRAFT] Worker Indexing Changes Worker Indexing Changes Nov 2, 2021
@fabiocav fabiocav marked this pull request as ready for review November 2, 2021 22:34
alrod
alrod previously requested changes Nov 3, 2021
var workerConfigs = _languageWorkerOptions.Value.WorkerConfigs;

IFunctionMetadataProvider metadataProvider = Utility.CanWorkerIndex(workerConfigs, _environment)
? new WorkerFunctionMetadataProvider(_loggerFactory.CreateLogger<WorkerFunctionMetadataProvider>(), dispatcher)
Copy link
Member

Choose a reason for hiding this comment

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

We can add something like IFunctionMetadataProviderFactory which will create appropriate IFunctionMetadataProvider depending on the config. IFunctionMetadataProviderFactory is added to FunctionMetadataManager using DI.

To get a dispatcher use FunctionInvocationDispatcherFactory

src/WebJobs.Script/Host/ScriptHost.cs Show resolved Hide resolved
src/WebJobs.Script/Host/ScriptHost.cs Show resolved Hide resolved
@alrod
Copy link
Member

alrod commented Nov 3, 2021

Can you please rebase on latest dev

@surgupta-msft
Copy link
Contributor

Can you please rebase on latest dev

yes, last done on 11/8. Doing this regularly.

soninaren
soninaren previously approved these changes Nov 8, 2021
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.

Merging PR for worker indexing (project stein)
6 participants