Solr - ConcurrentHashMap - NullPointerException

2012-06-18 Thread Fuad Efendi

I am recalling big noise in JIRA; and Paul Nobble implemented first version
of thisŠ what can be wrong now, after few years? Solr 3.6.0


Jun 18, 2012 3:40:43 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
at org.apache.solr.util.ConcurrentLRUCache.get(ConcurrentLRUCache.java:87)
at org.apache.solr.search.FastLRUCache.get(FastLRUCache.java:136)
at 
org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher
.java:632)
at 
org.apache.solr.search.SolrIndexSearcher.numDocs(SolrIndexSearcher.java:1743
)
at 
org.apache.solr.request.SimpleFacets.getFacetQueryCounts(SimpleFacets.java:2
34)
at 
org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:194)
at 
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java
:72)
at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHand
ler.java:186)
at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.
java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:3
65)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:
260)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127
)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:680)



Fuad Efendi
416-993-2060
http://www.tokenizer.ca





Re: Solr - ConcurrentHashMap - NullPointerException

2012-06-18 Thread Fuad Efendi
Some research, line 768 of ConcurrentHashMap:

 int hash = hash(key.hashCode());


I believe we have Unit Test with null as a keyŠ very strange for Solr cache
implementationŠ



   /**

 * Returns the value to which the specified key is mapped,

 * or {@code null} if this map contains no mapping for the key.

 *

 * pMore formally, if this map contains a mapping from a key

 * {@code k} to a value {@code v} such that {@code key.equals(k)},

 * then this method returns {@code v}; otherwise it returns

 * {@code null}.  (There can be at most one such mapping.)

 *

 * @throws NullPointerException if the specified key is null

 */

public V get(Object key) {

int hash = hash(key.hashCode());

return segmentFor(hash).get(key, hash);

}







From:  Fuad Efendi f...@efendi.ca
Reply-To:  lucene-dev dev@lucene.apache.org
Date:  Monday, 18 June, 2012 11:45 AM
To:  lucene-dev dev@lucene.apache.org
Subject:  Solr - ConcurrentHashMap - NullPointerException


I am recalling big noise in JIRA; and Paul Nobble implemented first version
of thisŠ what can be wrong now, after few years? Solr 3.6.0


Jun 18, 2012 3:40:43 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
at org.apache.solr.util.ConcurrentLRUCache.get(ConcurrentLRUCache.java:87)
at org.apache.solr.search.FastLRUCache.get(FastLRUCache.java:136)
at 
org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher
.java:632)
at 
org.apache.solr.search.SolrIndexSearcher.numDocs(SolrIndexSearcher.java:1743
)
at 
org.apache.solr.request.SimpleFacets.getFacetQueryCounts(SimpleFacets.java:2
34)
at 
org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:194)
at 
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java
:72)
at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHand
ler.java:186)
at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.
java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:3
65)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:
260)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127
)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:680)



Fuad Efendi
416-993-2060
http://www.tokenizer.ca





Re: Solr - ConcurrentHashMap - NullPointerException

2012-06-18 Thread Fuad Efendi
Rare problemŠ it happened when I provided NULL facet query via solrconfig:
   str name=facet.query/str

 


We probably should add null check:

  // only handle positive (non negative) queries

  DocSet getPositiveDocSet(Query q) throws IOException {

DocSet answer;

if (filterCache != null) {

  answer = filterCache.get(q);

  if (answer!=null) return answer;

}

answer = getDocSetNC(q,null);

if (filterCache != null) filterCache.put(

q,answer);

return answer;

  }





From:  Fuad Efendi f...@efendi.ca
Reply-To:  lucene-dev dev@lucene.apache.org
Date:  Monday, 18 June, 2012 11:52 AM
To:  lucene-dev dev@lucene.apache.org
Subject:  Re: Solr - ConcurrentHashMap - NullPointerException

Some research, line 768 of ConcurrentHashMap:

 int hash = hash(key.hashCode());


I believe we have Unit Test with null as a keyŠ very strange for Solr cache
implementationŠ



   /**

 * Returns the value to which the specified key is mapped,

 * or {@code null} if this map contains no mapping for the key.

 *

 * pMore formally, if this map contains a mapping from a key

 * {@code k} to a value {@code v} such that {@code key.equals(k)},

 * then this method returns {@code v}; otherwise it returns

 * {@code null}.  (There can be at most one such mapping.)

 *

 * @throws NullPointerException if the specified key is null

 */

public V get(Object key) {

int hash = hash(key.hashCode());

return segmentFor(hash).get(key, hash);

}







From:  Fuad Efendi f...@efendi.ca
Reply-To:  lucene-dev dev@lucene.apache.org
Date:  Monday, 18 June, 2012 11:45 AM
To:  lucene-dev dev@lucene.apache.org
Subject:  Solr - ConcurrentHashMap - NullPointerException


I am recalling big noise in JIRA; and Paul Nobble implemented first version
of thisŠ what can be wrong now, after few years? Solr 3.6.0


Jun 18, 2012 3:40:43 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
at org.apache.solr.util.ConcurrentLRUCache.get(ConcurrentLRUCache.java:87)
at org.apache.solr.search.FastLRUCache.get(FastLRUCache.java:136)
at 
org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher
.java:632)
at 
org.apache.solr.search.SolrIndexSearcher.numDocs(SolrIndexSearcher.java:1743
)
at 
org.apache.solr.request.SimpleFacets.getFacetQueryCounts(SimpleFacets.java:2
34)
at 
org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:194)
at 
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java
:72)
at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHand
ler.java:186)
at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.
java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:3
65)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:
260)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127
)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:680)



Fuad Efendi
416-993-2060
http://www.tokenizer.ca