Skip to content

Possibility for data loss Async UIDs? #44

@mike-kaufman

Description

@mike-kaufman

I'm looking through the AsyncWrap code, and it appears that 64-bit signed int values are being cast to 32-bit signed int values here, here and here.

A few questions:

  1. Am I reading this correctly?
  2. Is there an alternative here? I don't immediately see how to seed a V8::Number with a 64-bit int.
  3. Is 32 bits enough "space" to maintain a monotonically increasing set of unique IDs? A process running continuously for 30 days, and consuming 1657 async events per second would exhaust this space & subsequent casts would overlap with previously issued IDs.

Thanks,

Mike

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions