Skip to content

Concurrency problem with healthcheck #151

@marcusgc

Description

@marcusgc

Class below is called when creating a new pool. When two requests are trying to create a healthcheck with the same identifier, it can be duplicated on the DB, causing next requests with same data to fail, as it would return two objects on get().
Need to change code to avoid this from happening. Use lock?

networkapi.healthcheckexpect.models:
class Healthcheck(BaseModel):
def get_create_healthcheck(self, healthcheck):
try:
hc = Healthcheck.objects.get(**healthcheck)
except ObjectDoesNotExist:
hc = Healthcheck(**healthcheck)
hc.save()

Metadata

Metadata

Assignees

No one assigned

    Labels

    hacktoberfestopensource.globo.com/hacktoberfest

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions