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

Function app with 'Warmup' function #10169

Open
pragnagopa opened this issue May 16, 2024 · 1 comment
Open

Function app with 'Warmup' function #10169

pragnagopa opened this issue May 16, 2024 · 1 comment

Comments

@pragnagopa
Copy link
Member

If functions runtime cannot fully specialize it can get stuck with the placeholder 'WarmUp' function

Sample pod - in the below case the specialization succeeded once and loaded the actual customer functions. Functions runtime restarted and then re-specialization failed (due to lack of container start context mount non-availability in this case) and the pod was left with 'Warmup' Function

Note1 - The exact thing to address is - we should never return WarmUp Function when customer lists functions (i.e portal shouldn't display 'Warmup' function)
Note2 - In the below pod the failure was during re-specialization but this can happen during initial specialization as well
Note3 - The exact reason here is a different bug (lack of context mount path) but even if we fix that, there might be other reasons for failures. so this workitem is to explore options to see if we can
a) dont switch to specialized mode if specialization is 'fully complete'
b) if we cannot do a, can we revert back to placeholder mode to prevent the instance from causing confusion

Execute: [Web] [Desktop] [Web (Lens)] [Desktop (SAW)] https://wawseus.kusto.windows.net/wawsprod
FunctionsLogs

| where PreciseTimeStamp >= datetime(2024-05-14T15:57:00.0000000Z) - 3h

| where PreciseTimeStamp <= datetime(2024-05-15T01:04:00.0000000Z) + 3h

| where SourceNamespace == "FunctionsLegion"

| extend PodName = RoleInstance

| where PodName == "3ea83371-4d4d-4d4e-bf18-ccf6aefc9798"

| project PreciseTimeStamp, Summary

| order by PreciseTimeStamp asc

| where Summary contains "Found the following functions:" or Summary contains "will attempt"

 

 

PreciseTimeStamp | Summary -- | -- 2024-05-14 22:47:28.0664600 | Found the following functions: Host.Functions.WarmUp 2024-05-14 22:47:31.0712436 | Found the following functions: Host.Functions.WarmUp 2024-05-15 00:56:52.1614246 | Found the following functions: Host.Functions.HelloWorld Host.Functions.HtmlParser Host.Functions.LoaderIO 2024-05-15 01:03:05.1607510 | WebHost has shut down. Will attempt restart. 2024-05-15 01:03:30.1589962 | Found the following functions: Host.Functions.WarmUp

 

 


If functions runtime cannot fully specialize it can get stuck with the placeholder 'WarmUp' function

Sample pod - in the below case the specialization succeeded once and loaded the actual customer functions. Functions runtime restarted and then re-specialization failed (due to lack of container start context mount non-availability in this case) and the pod was left with 'Warmup' Function

Note1 - The exact thing to address is - we should never return WarmUp Function when customer lists functions (i.e portal shouldn't display 'Warmup' function)
Note2 - In the below pod the failure was during re-specialization but this can happen during initial specialization as well
Note3 - The exact reason here is a different bug (lack of context mount path) but even if we fix that, there might be other reasons for failures. so this workitem is to explore options to see if we can
a) dont switch to specialized mode if specialization is 'fully complete'
b) if we cannot do a, can we revert back to placeholder mode to prevent the instance from causing confusion

Execute: [Web] [Desktop] [Web (Lens)] [Desktop (SAW)] https://wawseus.kusto.windows.net/wawsprod
FunctionsLogs

| where PreciseTimeStamp >= datetime(2024-05-14T15:57:00.0000000Z) - 3h

| where PreciseTimeStamp <= datetime(2024-05-15T01:04:00.0000000Z) + 3h

| where SourceNamespace == "FunctionsLegion"

| extend PodName = RoleInstance

| where PodName == "3ea83371-4d4d-4d4e-bf18-ccf6aefc9798"

| project PreciseTimeStamp, Summary

| order by PreciseTimeStamp asc

| where Summary contains "Found the following functions:" or Summary contains "will attempt"

PreciseTimeStamp

Summary

2024-05-14 22:47:28.0664600

Found the following functions: Host.Functions.WarmUp

2024-05-14 22:47:31.0712436

Found the following functions: Host.Functions.WarmUp

2024-05-15 00:56:52.1614246

Found the following functions: Host.Functions.HelloWorld Host.Functions.HtmlParser Host.Functions.LoaderIO

2024-05-15 01:03:05.1607510

WebHost has shut down. Will attempt restart.

2024-05-15 01:03:30.1589962

Found the following functions: Host.Functions.WarmUp

@pragnagopa
Copy link
Member Author

cc @balag0

@fabiocav please triage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant