Joe Hammerbacher created KARAF-3873:
---------------------------------------

             Summary: 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: 4.0.0, cellar-3.0.3
            Reporter: Joe Hammerbacher


{{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