Skip to content

Sending single load request in case of multiple functions #8054

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

Merged
merged 9 commits into from
Jan 19, 2022

Conversation

surgupta-msft
Copy link
Contributor

@surgupta-msft surgupta-msft commented Jan 11, 2022

Issue describing the changes in this PR

resolves #7880
PR in Protobuf repo - Azure/azure-functions-language-worker-protobuf#63

Host should have an ability to send single FunctionLoadRequest in case of multiple functions in Function App. Adding new message that can send a list of FunctionLoadRequest and new methods to process that in GRPCWorkerChannel.cs

@surgupta-msft surgupta-msft marked this pull request as ready for review January 18, 2022 17:59
satvu
satvu previously approved these changes Jan 18, 2022
Copy link
Member

@satvu satvu left a comment

Choose a reason for hiding this comment

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

My only hesitation is that some of the new gRPC message types and methods added have the same names as older messages/methods but with an extra 's' at the end. I feel like there's potential for confusion there.

Is the plan to keep the current model of sending function requests to workers one at a time? Will this new model ever move from a capability to the standard behavior, replacing the current one?

kshyju
kshyju previously approved these changes Jan 18, 2022
@surgupta-msft surgupta-msft dismissed stale reviews from kshyju and satvu via 84b83e5 January 19, 2022 00:05
@surgupta-msft surgupta-msft reopened this Jan 19, 2022
@surgupta-msft
Copy link
Contributor Author

My only hesitation is that some of the new gRPC message types and methods added have the same names as older messages/methods but with an extra 's' at the end. I feel like there's potential for confusion there.

Is the plan to keep the current model of sending function requests to workers one at a time? Will this new model ever move from a capability to the standard behavior, replacing the current one?

@satvu updated the code to avoid naming confusion.

@liliankasem
Copy link
Member

If you rebase after this PR goes in, you can remove protobuf changes from this PR

#8072

@surgupta-msft surgupta-msft merged commit 5ff3981 into dev Jan 19, 2022
@surgupta-msft surgupta-msft deleted the surgupta/send-single-load-request branch January 19, 2022 19:13
surgupta-msft added a commit that referenced this pull request Jul 22, 2022
* Sending single load request in case of multiple functions. Advertised via capabilities
surgupta-msft added a commit that referenced this pull request Jul 25, 2022
* Host to fall back on its own indexing if worker denies (#7980)

* Added host fall back if worker denies indexing

* Added Env in CanWorkerIndex

* Calling host if flag useDefaultWorkerIndexing is set to true

* Renaming workerFunctionMetadataProvider to AggregateFunctionMetadataProvider

* Code cleanup and test fixing

* code cleanup and resolving PR comments

* Tests

* Added tests

* Fixing test failures

* Code restructuring in AggregateFunctionMetadatProvider

* Improved logging and exception

* Added method to determine if worker denied indexing

* corrected environment variable

* Remvoing retry options and config source from proto file in host (#8070)

* Sending single load request in case of multiple functions (#8054)

* Sending single load request in case of multiple functions. Advertised via capabilities

* Adding comment to explain disabled function flow (#8099)

* Host to send load request correctly after fallback is requested by the worker (#8200)

* fix for hostfallback bug

* Added tests

* Sending load request

* Code refactoring

* Added tests

* Python sample app update for worker indexing

* Refactoring  in tests

* Worker indexing tests refactoring

* variable naming fix

* Worker Indexing - Adding log to inform about mixed function app (#8201)

* Adding logic to detect mixed app and log it

* Added tests

* Test logger string

* added tests

* Tests

* Tests refactoring

* passing scripthostoptions

* Taking scriptpath from scriptJobHostoptions

* Added list of legacy functions

* Project stein - Adding additional logs and exception handling (#8231)

* Added logs and exception handling

* minox fixes

* Minor improvements in CanWorkerIndex

* Mixed app Loglevel setting based on Environment name

* Added helper method and its test and link to document

* Checking IsCoreTools for logging

* Removing customer IsDev method

* Adding ability to allow worker to send Function load responses in batch (#8363)

* Adding FunctionLoadResponses to send single load response in case of multiple functions

* Subscribed to LoadResponseCollection

* Updated subtree from https://github.com/azure/azure-functions-language-worker-protobuf. Tag: v1.5.4-protofile. Commit: 576c9de

* Removing redundant line

* Added failure testcase for LoadRepsonseCollection

* Moving event subscription under if else block

* Send function outside else block

* Tests

* Renaming variable

* Adding timeout

* Cleaning up if-else

* Updating protobuf to latest v1.5.8

* Updating logs

* Protobuf update

* Updating logs in tests
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.

Sending single FunctionLoadRequest in case of multiple functions
4 participants