Skip to content

Improve sql semaphore wait logic #264

@madelson

Description

@madelson

currently we do a 32ms wait on the first ticket we try. This is both (sometimes) too short for deadlock detection and also non-optimal because we might end up blocking when another ticket is currently free.

A better approach would be:

  • Wait only the LAST ticket we try instead of the first (@i == @{MaxCountParameter} - 1)
  • Instead of passing bool allowWait, we should pass in string? singleWaitExpression which will be something like expiry is never (inf) ? 250 : min(250, (1/3)(expiry - now))

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions