cancel
Showing results for 
Search instead for 
Did you mean: 

Relationship between CMIS->Solr via Alfresco?

ddelapasse
Champ in-the-making
Champ in-the-making
I have a development environment and a demo environment which are fairly identical.  The other day a CMIS sql query that worked just fine on dev gave a nasty sql error on the demo system (unfortunately I didn't save that exact error). 

After an hour of googling I found someone with a similar error who said that deleting the Solr indexes solved his problem.  That didn't/doesn't make sense to me, but being fairly desperate I tried and indeed - my query worked!

So obviously Solr is used for more than searching.  Could someone please explain how the CMIS api uses Solr?  And possibly, what I could have done that caused my indexes to become invalid?

thanks!
1 REPLY 1

ddelapasse
Champ in-the-making
Champ in-the-making
This was the CMIS error I mentioned (it happened again):

Caused by: org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 05080012 Request failed 500 /solr/alfresco/alfresco?wt=json&fl=DBID%2Cscore&rows=10000&df=TEXT&start=0&locale=en_US&alternativeDic=DEFAULT_DICTIONARY&fq=%7B%21afts%7DAUTHORITY_FILTER_FROM_JSON&fq=%7B%21afts%7DTENANT_FILTER_FROM_JSON
        at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.executeQuery(SolrQueryHTTPClient.java:459)
        at org.alfresco.repo.search.impl.solr.SolrQueryLanguage.executeQuery(SolrQueryLanguage.java:49)
        at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:348)
        at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:152)
        at org.alfresco.repo.search.SearcherComponent.query(SearcherComponent.java:67)
        at org.alfresco.repo.search.AbstractSearcherComponent.query(AbstractSearcherComponent.java:53)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)


^^^ that one goes away after I remove the Solr index files.  But it seems that anytime I change the content model now I get this one: so this time I captured the error message (error always follows a warning - in this case I was renaming a type that I have not yet used).  If I shutdown/restart AGAIN the error goes away.

11:44:19,934 WARN  [org.alfresco.repo.dictionary.DictionaryDAO] Type not found: {http://www.oss_csss.com/model/content/1.0}mediaLibraryArtifact
11:44:19,935 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 05080007 Wrapped Exception (with status template): 05080012 Nodes with no type are ignored by SOLR
org.springframework.extensions.webscripts.WebScriptException: 05080007 Wrapped Exception (with status template): 05080012 Nodes with no type are ignored by SOLR
   at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:1067)
   at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:171)
   at org.alfresco.repo.web.scripts.RepositoryContainer$3.execute(RepositoryContainer.java:422)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:491)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:529)
   at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:268)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:378)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)
   at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)