Skip to content

Sync host with Protobuf - removing retry_options and config_source #8070

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 2 commits into from
Jan 19, 2022

Conversation

surgupta-msft
Copy link
Contributor

Host protobuf file has extra fields as compared to Protobuf repo. Removing those fields to bring them in sync.
Discussion - #7849

Copy link
Member

@liliankasem liliankasem left a comment

Choose a reason for hiding this comment

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

In future let's make sure we're all following these steps to get the proto in sync. Ideally the proto change goes into the protobuf repo, and then we have a single PR in the host to bump the version


// Configuration Source: string representation of JToken configuration source property in function metadata
string config_source = 12;

// unique function identifier (avoid name collisions, facilitate reload case)
string function_id = 13;
Copy link
Member

@kshyju kshyju Jan 18, 2022

Choose a reason for hiding this comment

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

GRPC newbie question: Does the order change of properties has any impact? (11 and 12 are gone now)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

even 5 is not there in this message.

Copy link
Member

Choose a reason for hiding this comment

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

Field numbers are an important part of Protobuf. They're used to identify fields in the binary encoded data, which means they can't change from version to version of your service. The advantage is that backward compatibility and forward compatibility are possible. Clients and services will ignore field numbers that they don't know about, as long as the possibility of missing values is handled.

https://docs.microsoft.com/en-us/dotnet/architecture/grpc-for-wcf-developers/protobuf-messages

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@soninaren Any thoughts on this?

Copy link
Member

Choose a reason for hiding this comment

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

If I understood correctly, we shouldn't change the numbers to keep the protobuf backwards compatible

Copy link
Member

Choose a reason for hiding this comment

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

Thank you!

@surgupta-msft surgupta-msft merged commit 00b0e86 into dev Jan 19, 2022
@surgupta-msft surgupta-msft deleted the surgupta/protobuf-sync branch January 19, 2022 00:29
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.

3 participants