Hi Mike,
By the way, there is a new implementation of the
TargetLengthBasedClassNameAbbreviator.abbreviate method that is not only
simpler, it creates only a single StringBuffer object per call.
Comments welcome.
--
Ceki
On 08/08/2021 18:39, Ceki Gülcü wrote:
Hi Mike,
Thank you for your message as well as PR 477.
Please have a look at the code (commit 135bb88cd87e2c9 or later). Note
that the viaCache(String) method is synchronized. It is the only place
where the cache, a subclass of LinkedHashMap, is modified. It can be
cleared via a call to disableCache() but this method may be called
indirectly from within viaCache(String).
Thus, I think the implementation is quite thread safe.
You mentioned a lock free solution as well as solutions limiting memory
usage. I am all ears.
--
Ceki
On 08/08/2021 17:49, [email protected] wrote:
Hi
Its good to see the work on this issue progressing, however there was
a solution ready in https://github.com/qos-ch/logback/pull/477 for
review, which has been working in a very large closed source systems
for over a year now
The fix that is not in master seems not to be threadsafe though.
LinkedHashMap on which it is based isn't and that why I used CHM
Maintaining a threadsafe no blocking LRU is complex, so I would
suggest that to implementation in master is at least synchronized
I an happy to work on a better lock free solution though, but I am
unconvinced that we need to have a limit on the size, and there are
simpler approaches to limiting the growth if memory constraints are
the concern
Regards
Mike
-----Original Message-----
From: logback-dev <[email protected]> On Behalf Of Ceki Gulcu
Sent: 07 August 2021 22:08
To: [email protected]
Subject: [logback-dev] [qos-ch/logback] fd9006: ongoing work on
LOGBACK-1509
Branch: refs/heads/master
Home: https://github.com/qos-ch/logback
Commit: fd9006981ac7ff52fbc79187254b1f3c1bd70bf8
https://github.com/qos-ch/logback/commit/fd9006981ac7ff52fbc79187254b1f3c1bd70bf8
Author: Ceki Gulcu <[email protected]>
Date: 2021-08-07 (Sat, 07 Aug 2021)
Changed paths:
M
logback-classic/src/main/java/ch/qos/logback/classic/pattern/NamedConverter.java
M
logback-classic/src/test/java/ch/qos/logback/classic/pattern/LoggerNameConverterPerfTest.java
Log Message:
-----------
ongoing work on LOGBACK-1509
Signed-off-by: Ceki Gulcu <[email protected]>
_______________________________________________
logback-dev mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-dev