RFR 8197518: Kerberos krb5 authentication: AuthList's put method leads to performance issue

Weijun Wang weijun.wang at oracle.com
Fri Feb 23 01:55:12 UTC 2018

Updated webrev at http://cr.openjdk.java.net/~weijun/8197518/webrev.01/.

> On Feb 23, 2018, at 9:02 AM, Weijun Wang <weijun.wang at oracle.com> wrote:
> You mean I can save it somewhere and only update it when a cleanup is performed?
> This should be better. Now there will be only isEmpty(), getFirst() and addFirst(), and one less getLast().
> Thanks
> Max
>> On Feb 23, 2018, at 1:45 AM, Xuelei Fan <xuelei.fan at oracle.com> wrote:
>> Looks like list synchronization is a factor of the performance impact. Maybe, you can have a private time for the oldest entry so don't access/iterate/cleanup entries list until necessary.  The "at most every minute" may be not a good strategy in some situations.

In fact, it's now almost "exactly every minute". What situations do you think it's not good? I cannot use size() because I have to remember all entries with lifespan to be correct.


>> Xuelei
>> On 2/22/2018 12:36 AM, Weijun Wang wrote:
>>> Please take a review at
>>>   http://cr.openjdk.java.net/~weijun/8197518/webrev.00/
>>> Two notes:
>>> 1. I tried list.subList(here, end).clear() but it's not faster.
>>> 2. I have looked at ConcurrentHashMap + ConcurrentSkipListMap but will need more time to verify its correctness and measure the performance gain. Since the bug is reported on 8u, a safer fix looks better.
>>> Noreg-perf.
>>> Thanks
>>> Max

More information about the security-dev mailing list