camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chandra Bose Renganathan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CAMEL-11044) CLONE - EndpointHelper.resolveReferenceListParameter should not return immutable lists
Date Tue, 21 Mar 2017 21:33:41 GMT
Chandra Bose Renganathan created CAMEL-11044:
------------------------------------------------

             Summary: CLONE - EndpointHelper.resolveReferenceListParameter should not return
immutable lists
                 Key: CAMEL-11044
                 URL: https://issues.apache.org/jira/browse/CAMEL-11044
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
    Affects Versions: 2.16.1
            Reporter: Chandra Bose Renganathan
            Assignee: Claus Ibsen
            Priority: Minor
             Fix For: 2.16.3, 2.17.0


EndpointHelper.resolveReferenceListParameter can sometimes return immutable lists, which can
cause issues when other components try to add items to those lists.

The fact that other endpoints (like jetty-common JettyHttpComponent [enableCors line 279])
can add other components into the lists can cause hard to track down failures.

Sorry don't have a patch file, but the lines i would fix in EndpointHelper.java would be:

line 350: return Collections.emptyList();

line 360: return Arrays.asList(elements.size())

These should just return ArrayLists.


I know these parameters should optionally be Lists already, and this is a slight performance
hit when starting up, but i think it's better than trying to figure out what went wrong when
it fails.

My particular scenario was a Jetty endpoint with a filtersRef (with a single Filter - not
a list) and then enableCORS=true.  The filtersRef returned Arrays.asLIst and then enableCORS
tried to add an element into that list and crashed.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message