Azure / Azure/azure-functions-powershell-library

Bug bash: CurrentUtcDateTime not getting updated with DurableTimers

Open
#40 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
2
Forks
10
PR merge metrics
No merged PRs in 30d

Description

Using template definitions for the HTTP Start function, an orchestrator with the following code
```
function DurableFunctionsOrchestrator1 {
[Function()]
param(
[OrchestrationTrigger()]
$Context
)

# $output = @()
# $task1 = Invoke-DurableActivity -FunctionName 'Hello1' -Input 'Tokyo' -NoWait
# $task2 = Invoke-DurableActivity -FunctionName 'Hello1' -Input 'Seattle' -NoWait
# $task3 = Invoke-DurableActivity -FunctionName 'Hello1' -Input 'London' -NoWait
# $output += Wait-DurableTask -Task @($task1, $task2, $task3) -Any

$timer1 = Start-DurableTimer -Duration (New-Timespan -Seconds 10) -nowait
Write-Host "Started durable timer1 at $($Context.CurrentUtcDateTime)"
$timer2 = Start-DurableTimer -Duration (New-Timespan -Seconds 5) -nowait
Write-Host "Started durable timer 2 $($Context.CurrentUtcDateTime)"
$output += Wait-DurableTask -Task @($timer1, $timer2) -Any
Write-Host "Finished awaiting timers at $($Context.CurrentUtcDateTime)"
Stop-DurableTimerTask -Task $timer1
Write-Host 'Stopped durable timer'

$output
}
```
Will not have the `$Context.CurrentUtcDateTime` update after the timer is awaited. Here are the corresponding logs:
```
Azure Functions Core Tools
Core Tools Version: 4.0.4833 Commit hash: N/A (64-bit)
Function Runtime Version: 4.11.2.19273

[2022-10-13T20:46:40.633Z] Worker process started and initialized.

Functions:

DurableFunctionsHttpStart1: [GET,POST] http://localhost:7071/api/DurableStart

HttpTriggerMinimal: [GET,POST] http://localhost:7071/api/HttpTriggerMinimal

Trig: [GET,POST] http://localhost:7071/api/rerouted

DurableFunctionsOrchestrator1: orchestrationTrigger

Hello1: activityTrigger

For detailed output, run func with --verbose flag.
[2022-10-13T20:46:41.594Z] Host lock lease acquired by instance ID '000000000000000000000000FE55AF73'.
[2022-10-13T20:47:01.540Z] Executing 'Functions.DurableFunctionsHttpStart1' (Reason='This function was programmatically called via the host APIs.', Id=dddd86c0-e61a-4863-a71a-8efddaf53503)
[2022-10-13T20:47:03.265Z] INFORMATION: Started orchestration with ID = '42bcad0f-69aa-49dd-b503-a063d46cc1cf'
[2022-10-13T20:47:03.453Z] Executing 'Functions.DurableFunctionsOrchestrator1' (Reason='(null)', Id=8d801bde-baec-4e4b-8c8f-a000da6e8fda)
[2022-10-13T20:47:03.683Z] Executed 'Functions.DurableFunctionsHttpStart1' (Succeeded, Id=dddd86c0-e61a-4863-a71a-8efddaf53503, Duration=2396ms)
[2022-10-13T20:47:03.845Z] Executed 'Functions.DurableFunctionsOrchestrator1' (Succeeded, Id=8d801bde-baec-4e4b-8c8f-a000da6e8fda, Duration=408ms)
[2022-10-13T20:47:03.978Z] Executing 'Functions.Hello1' (Reason='(null)', Id=98fd6399-9d15-4e70-ba0e-55252b0707e7)
[2022-10-13T20:47:03.978Z] Executing 'Functions.Hello1' (Reason='(null)', Id=e3a82680-f8b8-46ff-8b2a-45c8d5ba086d)
[2022-10-13T20:47:03.978Z] Executing 'Functions.Hello1' (Reason='(null)', Id=6220f997-a32b-46e8-b4ac-171da593ac7b)
[2022-10-13T20:47:04.035Z] Executed 'Functions.Hello1' (Succeeded, Id=98fd6399-9d15-4e70-ba0e-55252b0707e7, Duration=63ms)
[2022-10-13T20:47:04.069Z] Executed 'Functions.Hello1' (Succeeded, Id=6220f997-a32b-46e8-b4ac-171da593ac7b, Duration=97ms)
[2022-10-13T20:47:04.165Z] Executing 'Functions.DurableFunctionsOrchestrator1' (Reason='(null)', Id=d0abb2e1-7574-4d26-8f77-cce4c39ad063)
[2022-10-13T20:47:04.170Z] Executed 'Functions.Hello1' (Succeeded, Id=e3a82680-f8b8-46ff-8b2a-45c8d5ba086d, Duration=197ms)
[2022-10-13T20:47:04.223Z] INFORMATION: Started durable timer1 at 10/13/2022 20:47:04
[2022-10-13T20:47:04.226Z] INFORMATION: Started durable timer 2 10/13/2022 20:47:04
[2022-10-13T20:47:04.289Z] Executed 'Functions.DurableFunctionsOrchestrator1' (Succeeded, Id=d0abb2e1-7574-4d26-8f77-cce4c39ad063, Duration=130ms)
[2022-10-13T20:47:04.380Z] Executing 'Functions.DurableFunctionsOrchestrator1' (Reason='(null)', Id=892d33d6-095a-4436-92be-6c1d1fc9e65b)
[2022-10-13T20:47:04.454Z] INFORMATION: Started durable timer1 at 10/13/2022 20:47:04
[2022-10-13T20:47:04.458Z] INFORMATION: Started durable timer 2 10/13/2022 20:47:04
[2022-10-13T20:47:04.498Z] Executed 'Functions.DurableFunctionsOrchestrator1' (Succeeded, Id=892d33d6-095a-4436-92be-6c1d1fc9e65b, Duration=142ms)
[2022-10-13T20:47:10.371Z] Executing 'Functions.DurableFunctionsOrchestrator1' (Reason='(null)', Id=469166b7-4d78-434c-b7b8-ceae00b77a1d)
[2022-10-13T20:47:10.386Z] INFORMATION: Started durable timer1 at 10/13/2022 20:47:04
[2022-10-13T20:47:10.390Z] INFORMATION: Started durable timer 2 10/13/2022 20:47:04
[2022-10-13T20:47:10.393Z] INFORMATION: Finished awaiting timers at 10/13/2022 20:47:04
[2022-10-13T20:47:10.396Z] INFORMATION: Stopped durable timer
[2022-10-13T20:47:10.468Z] OUTPUT: Microsoft.Azure.Functions.PowerShellWorker.Durable.Tasks.ActivityInvocationTask
[2022-10-13T20:47:10.472Z] OUTPUT: Microsoft.Azure.Functions.PowerShellWorker.Durable.Tasks.DurableTimerTask
[2022-10-13T20:47:10.564Z] Executed 'Functions.DurableFunctionsOrchestrator1' (Succeeded, Id=469166b7-4d78-434c-b7b8-ceae00b77a1d, Duration=193ms)
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.