Hi, I recently started writing test for newly exposed metrics from
underlying XNIO to IO subsystem (
https://issues.jboss.org/browse/WFCORE-1341).
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
equal
* 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?
Thank you for your ideas!
--
Jan (Honza) Kasik
Red Hat, Associate Quality Engineer, EAP QE