• Amit Kapila's avatar
    Fix running out of file descriptors for spill files. · d2070380
    Amit Kapila authored
    Currently while decoding changes, if the number of changes exceeds a
    certain threshold, we spill those to disk.  And this happens for each
    (sub)transaction.  Now, while reading all these files, we don't close them
    until we read all the files.  While reading these files, if the number of
    such files exceeds the maximum number of file descriptors, the operation
    errors out.
    
    Use PathNameOpenFile interface to open these files as that internally has
    the mechanism to release kernel FDs as needed to get us under the
    max_safe_fds limit.
    
    Reported-by: Amit Khandekar
    Author: Amit Khandekar
    Reviewed-by: Amit Kapila
    Backpatch-through: 9.4
    Discussion: https://postgr.es/m/CAJ3gD9c-sECEn79zXw4yBnBdOttacoE-6gAyP0oy60nfs_sabQ@mail.gmail.com
    d2070380
006_logical_decoding.pl 5.99 KB