You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Yonik Seeley (JIRA)" <ji...@apache.org> on 2016/11/08 22:52:58 UTC

[jira] [Updated] (SOLR-9740) Parameter substitution (MacroExpander) Map expand issue

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

Yonik Seeley updated SOLR-9740:
-------------------------------
    Attachment: SOLR-9740.patch

Yeah, so the bug causes all non-templated values after the first templated value would be dropped in a multi-valued argument.

Here's a patch + test.  I'll commit shortly.

> Parameter substitution (MacroExpander) Map expand issue
> -------------------------------------------------------
>
>                 Key: SOLR-9740
>                 URL: https://issues.apache.org/jira/browse/SOLR-9740
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 6.0.1
>            Reporter: Erik Hatcher
>         Attachments: SOLR-9740.patch
>
>
> {code}
>   @Test
>   public void testMap() {
>     final Map<String,String[]> request = new HashMap<String,String[]>();
>     request.put("fq", new String[] {"${one_ref}","two"});
>     request.put("one_ref",new String[] {"one"});
>     Map expanded = MacroExpander.expand(request);
>     assertEquals("one", ((String[])expanded.get("fq"))[0]);
>     assertEquals("two", ((String[]) expanded.get("fq"))[1]);
>   }
> {code}
> fails with `java.lang.ArrayIndexOutOfBoundsException` because the resultant `expanded` structure only has a single "fq" value of "one".  "two" got eaten.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org