Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11016: Boost file logging misbehaves when file system is full
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-02-13 09:33:42
#11016: Boost file logging misbehaves when file system is full
-------------------------------+---------------------
Reporter: michi@⦠| Owner: andysem
Type: Bugs | Status: new
Milestone: To Be Determined | Component: log
Version: Boost 1.55.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+---------------------
Comment (by Michi Henning <michi.henning@â¦>):
Replying to [comment:8 andysem]:
>
> I'm not saying global suppression. You can suppress exceptions on
different levels, including the logger you use in your library.
Ah, OK, I didn't know that, thanks! Where do I look for this? Any doc on
that?
> > In my opinion, throwing from log methods (at least the ones that
create log messages) is a big no-no. If a log message can't be written,
there is typically nothing that the code that does the logging can do. All
it would achieve is that I would have to clutter the calling code with
masses of catch handlers.
>
> Have a look at exception handlers, you don't have to write try/catch
everywhere.
OK, again thanks, I didn't know that!
> > Timers wouldn't be needed. Just remember the current time if a failure
occurs. Then, when trying to write, if in the error state, check the
current time and, if within the ban period, skip the write. Once a write
works, re-enter the no-error state, to avoid the overhead of checking the
current time.
>
> What does such record peeling give? Other than losing some records which
could have been written when free space appears, it doesn't seem to do any
significant effect.
The savings would be minor. Basically, you'd avoid trying to write for a
while, dealing with the failed calls and potentially re-establishing the
previously bad situation. But I agree, this is just an embellishment and
won't solve the fundamental problem.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11016#comment:9> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC