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

Juan José closed SOLR-9747.
---------------------------
    Resolution: Works for Me

>From version 2.7.3 of com.fasterxml.jackson.core:jackson-databind is 
>controlled this bug at class com.fasterxml.jackson.databind.type.TypeFactory 
>checking if exist a supertype with the same type that current field.

> Issue when upgrade Apache Solr from version 5.4.1 to 5.5.0 the parse 
> serialization is not working from SolrDocument class to json
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-9747
>                 URL: https://issues.apache.org/jira/browse/SOLR-9747
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: search
>    Affects Versions: 5.5, 6.3
>            Reporter: Juan José
>         Attachments: issue-solr-code
>
>
> When upgrade Apache Solr from version 5.4.1 to 5.5.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;
> } 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to