Skip to content

Randomly occuring blocks on GETs & SETs after large number of consecutive operations #43

@ujvl

Description

@ujvl

I am trying to benchmark Redis using Redox by executing hundreds of thousands of consecutive GETs; however, after an arbitrary amount (usually in the 10k-100k range) of GETs, redox blocks indefinitely on one. That is, some arbitrary get never returns to the calling function, even though the ones before it did successfully. And how many before this block occurs varies every time I run the program.

I'm convinced that the problem lies with Redox and not with my Redis setup since I was able to replace code calling the Redox API with corresponding calls to the Hiredis API and it then worked fine (didn't block at any point), but I might be wrong in what the cause is.

I also encountered the same problem trying to mass-insert KV pairs into Redis using Redox's SET; however, Redis docs specifically mention that the recommended way is using this instead, so it's not as big of an issue.

My setup details: I'm using Redis with an LRU caching policy, no persistence/snapshotting, 28G memory allocated to Redis, and a data set of size ~8G, with each key of size 1000B. All data is loaded into memory prior to the process execution, so it never goes to disk.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions