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