On 01/23/2017 04:51 AM, Jan Kasik wrote:
Hi, I recently started writing test for newly exposed metrics from
underlying XNIO to IO subsystem
). Because I didn't
understand the values I dig into XNIO implementation where I found out
that the underlying thread pool in org.xnio.XnioWorker is always fixed
size (e.g.: 'corePoolSize == maxPoolSize' - see line 117). I already
talked with David M. Lloyd about this and from what he said I understood
that this is currently feature because of danger of race conditions.
Because of this state there are several issues in context of IO
subsystem which bother me and I am not sure what to think about it:
* Newly exposed metric 'max-pool-size' is same value as already present
'task-max-threads' - are they really duplicitous?
* Newly exposed metrics 'max-pool-size' and 'core-pool-size' are always
* There is no way for user to find out without studying implementation -
shouldn't be user informed about this?
* Since they are always fixed size, the attribute 'task-keepalive' has
no meaning - am I right?
For now. It is on my task list to improve the thread pool
implementation, at which point these synonymous attributes will start
having individual meaning.