Skip to content

"epoll_ctl failed: Bad file descriptor" when testing keydb cluster with multi-threading  #125

@hengku

Description

@hengku

I tried a keydb cluster consisting of 4 keydb servers (complied under Ubuntu 18.04) running on 4 machines (56 cores, 384GB RAM). Each keydb server has 4 threads with binding cores. Both RDB and AOF were enabled on each server. I observed "epoll_ctl failed: Bad file descriptor" messages many times from each server when I ran the following test:

memtier_benchmark -s -p -d 256 -t 50 -c 1 --key-pattern=P:P -n 50000000 --key-minimum=1 --key-maximum=2500000000 --ratio 1:0 --cluster-mode --hide-histogram

However, I didn't see those messages when I ran the same test against Redis cluster in the same environment.

Here is the sample output:

Starting automatic rewriting of AOF on 101% growth
Background append only file rewriting started by pid 39718
AOF rewrite child asks to stop sending diffs.
Parent agreed to stop sending diffs. Finalizing AOF...
Concatenating 62.81 MB of AOF diff received from parent.
SYNC append only file rewrite performed
AOF rewrite: 337 MB of memory used by copy-on-write
Background AOF rewrite terminated with success
Residual parent diff successfully flushed to the rewritten AOF (29.51 MB)
Background AOF rewrite finished successfully
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor
epoll_ctl failed: Bad file descriptor

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions