Hi Mark, You're incredible! Pointing out that null pointer, led me to find out that our solr server configurations were not set up properly (we have an external solr server). I logged out the configurationService.getProperty("solr-statistics.server") and it was coming back null. Fixed that and solr queries are now working in the servlet. Wowza! Thank you DSpace Community! Thank you Mark, this has helped me remove a blocker from our sprint. Please have a wonderful remainder of the week and take care!
Thank you, Rachel On Tuesday, June 9, 2020 at 8:22:12 AM UTC-4, Mark H. Wood wrote: > > On Mon, Jun 08, 2020 at 09:16:17AM -0700, R W wrote: > > I am reaching out to ask for a second pair of eyes on this custom > servlet > > that I'm migrating from DSpace JSPUI x5.9 to x6.3. The servlet builds > and > > deploys without any issues but does not return a response from the solr > > query when the servlet URL is requested. The goal of this servlet is to > > return json data about deposits that have been recently viewed, the > > original solr query is in line 76. The logs don't indicate a solr > response > > is returned at all, the last log is at line 89 and doesn't go past line > 93 > > where the response value is assigned. If anyone can spot anything I've > > missed or have some feedback about another approach, that would be > greatly > > appreciated. Thank you for reading. > > > > Servlet > > 60 public class SolrStatsServlet extends DSpaceServlet > > 61 { > > 62 /** log4j category */ > > 63 private static Logger log = > > Logger.getLogger(SolrStatsServlet.class); > > 64 private HandleService handleService; > > 65 private ItemService itemService; > > 66 // private static final String RESOURCE_TYPE_FIELD = > > "search.resourcetype"; > > 67 private HttpSolrServer solr = null; > > 68 > > 69 protected void doDSGet(Context context, HttpServletRequest > request, > > 70 HttpServletResponse response) throws ServletException, > > IOException, > > 71 SQLException, AuthorizeException { > > 72 > > 73 handleService = > > HandleServiceFactory.getInstance().getHandleService(); > > 74 itemService = > > ContentServiceFactory.getInstance().getItemService(); > > 75 > > 76 // Original solr query - > > > 'select?indent=on&start=0&rows=10&q=type:2&fq=-isBot:true&fq=statistics_type:view&sort=time+desc' > > > > 77 QueryResponse solrResponse = null; > > 78 > > 79 try { > > 80 > > 81 log.info("Debug 1"); > > 82 SolrQuery solrQuery = new > SolrQuery().setQuery("type:2"); > > 83 > > 84 solrQuery.addFilterQuery("-isBot:true"); > > 85 solrQuery.addFilterQuery("statistics_type:view"); > > 86 solrQuery.addSortField("time", SolrQuery.ORDER.desc); // > > sort by time > > 87 solrQuery.setRows(10);// 10 results max > > 88 log.info("Debug 2"); > > 89 log.info(solrQuery); > > 90 > > > > //q=type%3A0&fq=-isBot%3Atrue&fq=statistics_type%3Aview&sort=time+desc&rows=10 > > > > 91 > > 92 // solrResponse = solr.query(solrQuery); > > 93 solrResponse = solr.query(solrQuery, > > SolrRequest.METHOD.GET); > > 94 log.info("Debug 3"); > > 95 > > 96 } catch (SolrServerException e) { > > 97 log.info("Debug 4 - ERROR"); > > 98 log.error("Solr failed to return docs for home page map: > " > > + e.getMessage()); > > 99 return; > > 100 } > > 101 > > 102 log.info("Debug 5"); > > 103 SolrDocumentList docList = solrResponse.getResults(); > > 104 log.info("Debug 6"); > > > > > > 136 } > > 137 > > 138 protected void doDSPost(Context context, HttpServletRequest > request, > > 139 HttpServletResponse response) throws ServletException, > > IOException, > > 140 SQLException, AuthorizeException > > 141 { > > 142 // Treat as a GET > > 143 doDSGet(context, request, response); > > 144 } > > > > > > > > Dspace.log file > > > > 2020-06-08 11:55:56,314 INFO > org.dspace.app.webui.servlet.SolrStatsServlet > > @ Debug 1 > > 2020-06-08 11:55:56,315 INFO > org.dspace.app.webui.servlet.SolrStatsServlet > > @ Debug 2 > > 2020-06-08 11:55:56,315 INFO > org.dspace.app.webui.servlet.SolrStatsServlet > > @ > > > q=type%3A2&fq=-isBot%3Atrue&fq=statistics_type%3Aview&sort=time+desc&rows=10 > > > 2020-06-08 11:55:56,315 WARN org.dspace.app.webui.servlet.DSpaceServlet > @ > > > anonymous:session_id=09DCF4D40B91772CB2F26D8F645148E5:ip_addr=142.150.192.3:general_jspui_error:java.lang.NullPointerException > > > > java.lang.NullPointerException > > at > > > org.dspace.app.webui.servlet.SolrStatsServlet.doDSGet(SolrStatsServlet.java:93) > > > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > You have a NullPointerException, probably because 'solr' is set to > null at line 67 and is never set to a reference afterward. > > -- > Mark H. Wood > Lead Technology Analyst > > University Library > Indiana University - Purdue University Indianapolis > 755 W. Michigan Street > Indianapolis, IN 46202 > 317-274-0749 > www.ulib.iupui.edu > -- All messages to this mailing list should adhere to the DuraSpace Code of Conduct: https://duraspace.org/about/policies/code-of-conduct/ --- You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group. To unsubscribe from this group and stop receiving emails from it, send an email to dspace-tech+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dspace-tech/c2721891-5b93-49a9-bb75-f03754a82873o%40googlegroups.com.