RFR: 8185525: [Event Request] Add Tracing event for DictionarySizes
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Wed Apr 10 21:56:09 UTC 2019
On 4/10/19 4:03 PM, gerard ziemski wrote:
>
>
> On 4/10/19 1:12 PM, coleen.phillimore at oracle.com wrote:
>>>>
>>>> I noticed that events are only emitted if we are able to take the
>>>> resize lock. Can this be fixed? What prevents us from always
>>>> getting the data? That's how other periodic events work and losing
>>>> data sometimes may lead to subtle bugs that hard to understand and
>>>> replicate in systems that rely on the information. Could we retry
>>>> on a failure?
>>> Good observation. If the resize lock is taken, then it's not likely
>>> that whoever owns it will be done soon, so retrying is most likely
>>> not going to succeed right away. Is it OK to tie up JFR periodic
>>> thread for some time? If so, how long?
>>>
>>> If the lock is taken, then it means that someone is scanning through
>>> the entire table, or the table is being resized. Either way, we're
>>> not loosing data, but are just temporarily blind - I don't see a
>>> problem here for a long running apps, they will start receiving
>>> events eventually (which happen every 10 sec by default)
>>
>> Robbin was talking about allowing scanning the table while resizing,
>> ie. not having the resize_lock, if we can accept that there might be
>> some entries double counted.
>
> Yes, we could do that - are you suggesting that this is what we should
> do?
Not for this change.
Coleen
> Personally, I think I'd prefer not to emit the event at all, rather
> than emit one that might be wrong (that's exactly what we do currently
> for jcmd print statistics).
>
> Erik, Robbin, do you have a preference here?
>
>
> cheers
>
More information about the jmc-dev
mailing list