You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Juan José (JIRA)" <ji...@apache.org> on 2016/11/10 16:17:58 UTC
[jira] [Commented] (SOLR-8339) SolrDocument and SolrInputDocument
should have a common interface
[ https://issues.apache.org/jira/browse/SOLR-8339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15654439#comment-15654439 ]
Juan José commented on SOLR-8339:
---------------------------------
When upgrade Apache Solr from version 4.10 to 5.0.0, the parse serialization is not working from SolrDocument class to json.
we use library com.fasterxml.jackson.core:jackson-databind:2.5.4 for json parsing. We are getting this exception:
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.StackOverflowError
org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1302)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
causa raíz
java.lang.StackOverflowError
com.fasterxml.jackson.databind.type.HierarchicType.getRawClass(HierarchicType.java:74)
com.fasterxml.jackson.databind.type.TypeFactory._doFindSuperInterfaceChain(TypeFactory.java:1009)
com.fasterxml.jackson.databind.type.TypeFactory._findSuperInterfaceChain(TypeFactory.java:1004)
com.fasterxml.jackson.databind.type.TypeFactory._findSuperTypeChain(TypeFactory.java:958)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:285)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:732)
com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:387)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:303)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:732)
com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:387)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:303)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:732)
com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:387)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:303)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:732)
com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:387)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:303)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:732)
com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:387)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:303)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:732)
com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:387)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:303)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:732)
com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:387)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:303)
com.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(TypeFactory.java:279)
com.fasterxml.jackson.databind.type.TypeFactory._mapType(TypeFactory.java:891)
We solved this error getting fields manually from the map _field, the code is:
public List<Object> transformSolrDocumentsListToDocuments(SolrDocumentList searched) {
List<Object> documents = new ArrayList<>();
for (SolrDocument solrDocument : searched) {
Map<String, Object> fields = new HashMap<>();
for (String key : solrDocument.getFieldValueMap().keySet()) {
Object field = solrDocument.getFieldValue(key);
fields.put(key, field);
}
documents.add(fields);
}
return documents;
}
> SolrDocument and SolrInputDocument should have a common interface
> -----------------------------------------------------------------
>
> Key: SOLR-8339
> URL: https://issues.apache.org/jira/browse/SOLR-8339
> Project: Solr
> Issue Type: Improvement
> Reporter: Ishan Chattopadhyaya
> Assignee: Shalin Shekhar Mangar
> Fix For: 5.5, 6.0
>
> Attachments: SOLR-8339.patch, SOLR-8339.patch, SOLR-8339.patch, SOLR-8339.patch
>
>
> Currently, both share a Map interface (SOLR-928). However, there are many common methods like createField(), setField() etc. that should perhaps go into an interface/abstract class.
--
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