[ 
https://issues.apache.org/jira/browse/KARAF-3873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Baptiste Onofré updated KARAF-3873:
----------------------------------------
    Fix Version/s: cellar-3.0.4

> TimeoutTask doesn't correctly remove pending commands
> -----------------------------------------------------
>
>                 Key: KARAF-3873
>                 URL: https://issues.apache.org/jira/browse/KARAF-3873
>             Project: Karaf
>          Issue Type: Bug
>          Components: cellar-core
>    Affects Versions: cellar-4.0.0.M1, cellar-3.0.3, cellar-2.3.6
>            Reporter: Joe Hammerbacher
>            Assignee: Jean-Baptiste Onofré
>             Fix For: cellar-4.0.0.M1, cellar-3.0.4
>
>
> {{TimeoutTask}} uses the following code to attempt to remove pending commands 
> after the timeout period has expired:
> {noformat}
>         Boolean pending = store.getPending().containsKey(command);
>         if (pending) {
>             store.getPending().remove(command);
>         }
> {noformat}
> However, the keys for the {{ConcurrentMap}} returned by {{getPending()}} are 
> of type {{String}}, not {{Command}}. As a result, {{pending}} is always 
> {{false}} (and even if it were {{true}}, {{remove}} would fail to do 
> anything).
> The intended functionality is likely:
> {noformat}
>         Boolean pending = store.getPending().containsKey(command.getId());
>         if (pending) {
>             store.getPending().remove(command.getId());
>         }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to