Skip to content

Commit

Permalink
handle overflow
Browse files Browse the repository at this point in the history
  • Loading branch information
Vincent Chiang committed Oct 24, 2023
1 parent a0869c4 commit dba0661
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,17 @@ internal TargetScalerResult GetScaleResultInternal(TargetScalerContext context,
throw new ArgumentOutOfRangeException($"Unexpected concurrency='{concurrency}' - the value must be > 0.");
}

int targetWorkerCount = (int)Math.Ceiling(messageCount / (decimal)concurrency);
int targetWorkerCount;

try
{
targetWorkerCount = (int)Math.Ceiling(messageCount / (decimal)concurrency);
}
catch (OverflowException)
{
targetWorkerCount = int.MaxValue;
}

_logger.LogInformation($"Target worker count for function '{_functionId}' is '{targetWorkerCount}' (EntityPath='{_entityPath}', MessageCount ='{messageCount}', Concurrency='{concurrency}').");

return new TargetScalerResult
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ public void Setup()
[TestCase(100, true, true, null, 4)]
[TestCase(100, false, true, 19, 6)]
[TestCase(100, false, false, null, 3)]
public void ServiceBusTargetScaler_Returns_Expected(int messageCount, bool isSessionEnabled, bool singleDispatch, int? concurrency,int expected)
[TestCase(100, false, false, null, 3)]
[TestCase(2147483650, false, false, 1, 2147483647)] // cap targetWorkerCount at int.MaxValue
[TestCase(2147483650, false, false, 2, 1073741825)]
public void ServiceBusTargetScaler_Returns_Expected(long messageCount, bool isSessionEnabled, bool singleDispatch, int? concurrency, int expected)
{
ServiceBusOptions options = new ServiceBusOptions
{
Expand Down

0 comments on commit dba0661

Please sign in to comment.