Skip to content

Sending command line args with functions- prefix to prevent conflicts #9514

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
Oct 2, 2023

Conversation

kshyju
Copy link
Member

@kshyju kshyju commented Sep 7, 2023

Fixes #9504

During initial testing, we identified 3 language workers were not able to handle the extra/new command line arguments sent to them. Fixed those on the language worker sides and host was updated to consume the new version of language worker nuget package with the fix.

  1. PowerShell - Update PowerShell Language Workers 7.0 (to version 4.0.2973), 7.2 (to version 4.0.2974), and 7.4 (to version 4.0.2975)  #9528
  2. Java - Update Java Worker Version to 2.13.0 #9544
  3. Python - Update Python Worker Version to 4.18.0 #9556

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
  • My changes do not require diagnostic events changes
    • Otherwise: I have added/updated all related diagnostic events and their documentation (Documentation issue linked to PR)
  • I have added all required tests (Unit tests, E2E tests)

@kshyju kshyju force-pushed the shkr/wrkr_1547_new_cmdnline_args branch 3 times, most recently from 6132996 to a0536a0 Compare September 18, 2023 22:27
@kshyju kshyju force-pushed the shkr/wrkr_1547_new_cmdnline_args branch from a0536a0 to b4060df Compare September 21, 2023 14:36
@kshyju kshyju marked this pull request as ready for review September 21, 2023 15:28
@kshyju kshyju requested a review from a team as a code owner September 21, 2023 15:28
@kshyju kshyju force-pushed the shkr/wrkr_1547_new_cmdnline_args branch from b4060df to b15033f Compare September 26, 2023 20:08
Copy link
Contributor

@Francisco-Gamino Francisco-Gamino left a comment

Choose a reason for hiding this comment

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

@kshyju -- The code change LGTM.

Regarding the old command arguments, should we create a work item to remove support for these (host, port, workerId, requestId, and grpcMaxMessageLength) in the future? IMHO, the language workers should only use the new command line arguments going forward.

@kshyju
Copy link
Member Author

kshyju commented Oct 2, 2023

@kshyju -- The code change LGTM.

Regarding the old command arguments, should we create a work item to remove support for these (host, port, workerId, requestId, and grpcMaxMessageLength) in the future? IMHO, the language workers should only use the new command line arguments going forward.

Yes, If the language worker is deployed with a host version, then please consider updating the language worker to remove reading the old params).

@kshyju kshyju merged commit f4fa1b1 into dev Oct 2, 2023
@kshyju kshyju deleted the shkr/wrkr_1547_new_cmdnline_args branch October 2, 2023 19:53
@Francisco-Gamino
Copy link
Contributor

@kshyju -- The code change LGTM.
Regarding the old command arguments, should we create a work item to remove support for these (host, port, workerId, requestId, and grpcMaxMessageLength) in the future? IMHO, the language workers should only use the new command line arguments going forward.

Yes, If the language worker is deployed with a host version, then please consider updating the language worker to remove reading the old params).

@kshyju -- I was also asking about removing support for the old command line arguments from the Functions Host. Thoughts?

@kshyju
Copy link
Member Author

kshyju commented Oct 5, 2023

Functions

Dotnet isolated apps which were deployed with older version of .net worker nuget packages (which does not have the code to read the new args) will fail. So It is not safe for us to delete the old args at this point.

VpOfEngineering pushed a commit that referenced this pull request Oct 12, 2023
…#9514)

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* Cleanup

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* switched to functions- prefix

* Removed duplicate port from functions_uri

* Switching to kebab case for the new args

* Update test

* Update native placeholder package to handle new args

* Update release notes.
VpOfEngineering pushed a commit that referenced this pull request Oct 12, 2023
…#9514)

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* Cleanup

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* switched to functions- prefix

* Removed duplicate port from functions_uri

* Switching to kebab case for the new args

* Update test

* Update native placeholder package to handle new args

* Update release notes.
@VpOfEngineering VpOfEngineering mentioned this pull request Oct 12, 2023
8 tasks
VpOfEngineering added a commit that referenced this pull request Oct 12, 2023
* Updating patch version

* Sending command line args with functions- prefix to prevent conflicts (#9514)

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* Cleanup

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* switched to functions- prefix

* Removed duplicate port from functions_uri

* Switching to kebab case for the new args

* Update test

* Update native placeholder package to handle new args

* Update release notes.

* Limit dotnet-isolated specialization to 64 bit host process (#9553)

* Skipping native placeholder specialization if host is not 64 bit process

* formatting linting fix

* Stylecop fix.

* fix indentation

* Adding E2E test.

* Improving log message.

* Switch from LogDebug to LogInformation

* Fix tests to reflect logging changes

* Logging with EventId

* Logging using an event name

* Updated release notes after rebase merge

* Handling env reload response from native placeholder for failure case. (#9602)

* Handling env reload response from native placeholder for failure case.

* Almost working except one test needs cleanup

* Cleanup

* Cleanup

* Fixing Worker.Extensions.Http package version to align with Http.AspNetCore package.

* Logging error as it is received from the worker.

* DotNetIsolatedNativeHost package to 1.0.2

* Inlining a variable (Reverting to previous version)

* Updating release notes for 4.27.5

* Update PowerShell Language Workers 7.0 (to version 4.0.2973), 7.2 (to version 4.0.2974), and 7.4 (to version 4.0.2975)  (#9528)

* Upgrade PowerShell language worker 7.4 to 4.0.2975

* Upgrade PowerShell language worker 7.2 to 4.0.2974

* Upgrade PowerShell language worker 7.0 to 4.0.2973

* Update release notes

* Update Java Worker Version to 2.13.0 (#9544)

* Update Java Worker Version to 2.13.0

* Update release_notes.md for Java worker

---------

Co-authored-by: AzureFunctionsJava <funcdisc@microsoft.com>

---------

Co-authored-by: azfuncgh <azfuncgh@github.com>
Co-authored-by: Shyju Krishnankutty <connectshyju@gmail.com>
Co-authored-by: Francisco Gamino <Francisco-Gamino@users.noreply.github.com>
Co-authored-by: Shreyas Gopalakrishna <11889130+shreyas-gopalakrishna@users.noreply.github.com>
Co-authored-by: AzureFunctionsJava <funcdisc@microsoft.com>
VpOfEngineering added a commit that referenced this pull request Nov 16, 2023
* Updating patch version

* Sending command line args with functions- prefix to prevent conflicts (#9514)

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* Cleanup

* Sending a second copy of command line args with "FUNCTIONS_" prefix

* switched to functions- prefix

* Removed duplicate port from functions_uri

* Switching to kebab case for the new args

* Update test

* Update native placeholder package to handle new args

* Update release notes.

* Limit dotnet-isolated specialization to 64 bit host process (#9553)

* Skipping native placeholder specialization if host is not 64 bit process

* formatting linting fix

* Stylecop fix.

* fix indentation

* Adding E2E test.

* Improving log message.

* Switch from LogDebug to LogInformation

* Fix tests to reflect logging changes

* Logging with EventId

* Logging using an event name

* Updated release notes after rebase merge

* Handling env reload response from native placeholder for failure case. (#9602)

* Handling env reload response from native placeholder for failure case.

* Almost working except one test needs cleanup

* Cleanup

* Cleanup

* Fixing Worker.Extensions.Http package version to align with Http.AspNetCore package.

* Logging error as it is received from the worker.

* DotNetIsolatedNativeHost package to 1.0.2

* Inlining a variable (Reverting to previous version)

* Updating release notes for 4.27.5

* Update PowerShell Language Workers 7.0 (to version 4.0.2973), 7.2 (to version 4.0.2974), and 7.4 (to version 4.0.2975)  (#9528)

* Upgrade PowerShell language worker 7.4 to 4.0.2975

* Upgrade PowerShell language worker 7.2 to 4.0.2974

* Upgrade PowerShell language worker 7.0 to 4.0.2973

* Update release notes

* Update Java Worker Version to 2.13.0 (#9544)

* Update Java Worker Version to 2.13.0

* Update release_notes.md for Java worker

---------

Co-authored-by: AzureFunctionsJava <funcdisc@microsoft.com>

---------

Co-authored-by: azfuncgh <azfuncgh@github.com>
Co-authored-by: Shyju Krishnankutty <connectshyju@gmail.com>
Co-authored-by: Francisco Gamino <Francisco-Gamino@users.noreply.github.com>
Co-authored-by: Shreyas Gopalakrishna <11889130+shreyas-gopalakrishna@users.noreply.github.com>
Co-authored-by: AzureFunctionsJava <funcdisc@microsoft.com>
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.

Send command line args with non-generic names to language worker
5 participants