monolog icon indicating copy to clipboard operation
monolog copied to clipboard

Close file handle after each write

Open Seldaek opened this issue 1 year ago • 6 comments

refs #1862, refs #1860, refs #1634

Seldaek avatar Apr 15 '24 09:04 Seldaek

Thank you for making this fix, happy to share it's working for us. We deployed this fix to production today and its resolved hangups we were seeing on fwrite() leading to requests taking 10+ seconds.

rossmckelvie avatar May 22 '24 21:05 rossmckelvie

Hello @Seldaek

as it was found on version 2.x, couldn't it be released on version 2.x? this way we could still have this issue solved on php 8.0 and 8.2, and make a smooth php upgrade :)

Edit: I just saw there is a PR for 2.x :)

eerison avatar Sep 06 '24 08:09 eerison

There is https://github.com/Seldaek/monolog/pull/1882 for 2.x, but the problem is nobody has confirmed this fixes anything for them so far, so I'd rather not merge this for nothing as it does introduce overhead for everyone.

Seldaek avatar Sep 06 '24 08:09 Seldaek

Unfortunately we have the same error despite the change.

ChipZ91 avatar Sep 06 '24 14:09 ChipZ91

For reference this is how we applied the workaround directly without needing upstream changes. The project in question is on monolog 1.

class ClosingStreamHandler extends StreamHandler
{
    protected function streamWrite($stream, array $record)
    {
        parent::streamWrite($stream, $record);

        // https://github.com/Seldaek/monolog/pull/1883
        parent::close();
    }
}

ivanmartinvalle avatar Sep 06 '24 14:09 ivanmartinvalle

I have to correct myself. Unfortunately, we have the error twice in our system. Once through monolog and once via symfony/process.

I can confirm that the fix here fixes the monolog case.

Thank you for the work and @ivanmartinvalle for the information that helped me understand our case.

ChipZ91 avatar Sep 06 '24 15:09 ChipZ91