[
https://issues.apache.org/jira/browse/SOLR-6815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14233343#comment-14233343
]
Kiran Kumar Dontam edited comment on SOLR-6815 at 12/3/14 6:57 PM:
-------------------------------------------------------------------
Attached a simple testcase to reproduce the issue.
was (Author: kiran214):
Simple testcase to reproduce the issue.
> Issue with Collections in field value while indexing a document.
> ----------------------------------------------------------------
>
> Key: SOLR-6815
> URL: https://issues.apache.org/jira/browse/SOLR-6815
> Project: Solr
> Issue Type: Bug
> Components: clients - java
> Affects Versions: 4.9
> Reporter: Kiran Kumar Dontam
> Priority: Minor
> Attachments: SolrIndexingTest.java
>
>
> Issue with {{SolrInputDocument.addField()}} method.
> If this method is called for the first time for a field, it will call
> {{setField}} method, which calls {{SolrInputField.setValue}}.
> Assume that the value is a Collection in this flow. The value's reference is
> added to the field in the doc. If we add another value to the same field
> (using {{addField}}), it will be added to the original collection.
> This is incorrect because we are modifying user's original collection.
> This will break in the following cases:
> 1. If the original collection is unmodifiable. This will throw
> {{UnsupportedOperationException}} while adding 2nd value.
> 2. If the user wants to add the same value (Collection) to different fields,
> those fields may get corrupted. Adding more values to one fields will add
> them to other fields as well. (This is how I found the issue).
> One solution:
> In {{SolrInputField.setValue}} we can always create a new Collection
> (ArrayList) if the incoming value is a Collection.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]