Leak counting ad-hoc commands is preventing new commands from being executed
Steps to reproduce this problem
1. Have an external component connect to Openfire
2. Execute the fist step of a command that has many steps/stages
3. Disconnect the external component
4. Repeat the operation 101 times and make sure that it worked all times (or reduce system property "xmpp.command.limit" to a smaller number so you do not have to go to 100 + 1)
The same problem applies to clients and not only external components
still reproducible in Openfire v4.4.1
Client using same /Resource any time he join.
An adhoc command require more stages (e.g. fill a form with requested info before proceed)
1) Decrease xmpp.command.limit e.g. "3" (required to quickly face the issue)
2) Restart Openfire
3) Start a client session and during adhoc command execution (after 1st step) close the connection, or let the connection timeout
4) Repeat step 3) 2 more times
5) Any other try to execute an adhoc command will result in:
<error code="405" type="cancel"><not-allowed xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error>
In AdHocCommandManager there should be a method to remove sessionCounter(from) for closed or timedout sessions.
Currently, in case of incompleted adhoc command (no action="cancel" or "complete") this counter will only be increased.
resolving as incomplete. Can reopen if somebody is currently reproducing
I am not sure because i didn't had a closer look to this issue for at least 2 years. Maybe axel has an idea?
Holger, is this issue still valid?
Removing the 'fix version' for all unresolved issues that were scheduled for version 7.8.2. We're releasing this version today - the remaining issues should be rescheduled later.