In a question that was originally opened under the forum for PSMDB (link) the following error was observed when using PSMDB 4.4 in the operator.
psmdb_1 | {"t":{"$date":"2020-09-01T19:50:00.963+00:00"},"s":"E", "c":"STORAGE", "id":22435, "ctx":"thread1","msg":"WiredTiger error","attr":{"error":95,"message":"[1598989800:963675][1:0x7f882be42700], log-server: __posix_std_fallocate, 58: /data/db/journal/WiredTigerTmplog.0000000003: fallocate:: Operation not supported"}}
psmdb_1 | {"t":{"$date":"2020-09-01T19:50:00.963+00:00"},"s":"E", "c":"STORAGE", "id":22435, "ctx":"thread1","msg":"WiredTiger error","attr":{"error":95,"message":"[1598989800:963758][1:0x7f882be42700], log-server: __posix_sys_fallocate, 75: /data/db/journal/WiredTigerTmplog.0000000003: fallocate:: Operation not supported"}}
As the error message shows the unix syscall fallocate() simply failed. MongoDB might retry a few times, but if can’t get file space allocated it has to give up, and error-exits.
The following Stackoverflow QA suggests the syscall failure is a limitation of docker: https://stackoverflow.com/questions/31155591/fallocate-failing-inside-my-docker-container .
Is this a true problem, and does it affect PSMDB operator now?
If this isn’t the cause then I guess fallocate() is failing because there truly is no filesystem space to allocate. How would we debug that in kubernetes?