Kahadb has an accessor pool of random access files and a periodic cleanup. However the cleanup does not work as expected.
Only on journal gc does the pool get purged.
This issue can arise with very large amounts of journal files that are paging and on recovery when the entire journal needs to be replayed.
In essence, currently there needs to be fd per journal data file.
The workaround is to increase the nofiles (max open files) for the broker process.