Russ Bradberry
Russ Bradberry

Reputation: 10865

Errors when attempting to create a CQL3 backed SOLR Core

We are currently attempting to create a CQL3 Backed SOLR core on DSE 3.2.5. The curl command to create the core fails with a schema disagreement error (after waiting 30 seconds). After attempting to reload the core several times the indexes were created. We tried adding in some data and reindexing but kept getting null:org.apache.solr.common.SolrException errors on two of the machines. One machine works.

EDIT: The field name error was due to inserting the maps with the incorrect field name. Now one node works but the other two keep getting the following error.

we are getting this error on two of the nodes:

 INFO [http-8983-7] 2014-03-17 16:02:01,715 SolrDispatchFilter.java (line 618) [admin] webapp=null path=/admin/cores params={deleteAll=true&action=RELOAD&reindex=true&_=1395072121091&core=linkcurrent_search.content_items&wt=json} status=500 QTime=543
ERROR [http-8983-7] 2014-03-17 16:02:01,715 SolrException.java (line 136) null:org.apache.solr.common.SolrException
    at com.datastax.bdp.search.solr.core.SolrCoreResourceManager.reloadCore(SolrCoreResourceManager.java:439)
    at com.datastax.bdp.search.solr.handler.admin.CassandraCoreAdminHandler.handleReloadAction(CassandraCoreAdminHandler.java:144)
    at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:170)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
    at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:615)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:206)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)
    at com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:90)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:194)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.datastax.bdp.search.solr.auth.CassandraAuthorizationFilter.doFilter(CassandraAuthorizationFilter.java:92)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.datastax.bdp.search.solr.auth.DseAuthenticationFilter.doFilter(DseAuthenticationFilter.java:102)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:724)

ERROR [http-8983-7] 2014-03-17 16:02:01,716 SolrDispatchFilter.java (line 642) Error request exception: null
org.apache.solr.common.SolrException
    at com.datastax.bdp.search.solr.core.SolrCoreResourceManager.reloadCore(SolrCoreResourceManager.java:439)
    at com.datastax.bdp.search.solr.handler.admin.CassandraCoreAdminHandler.handleReloadAction(CassandraCoreAdminHandler.java:144)
    at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:170)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
    at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:615)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:206)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)
    at com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:90)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:194)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.datastax.bdp.search.solr.auth.CassandraAuthorizationFilter.doFilter(CassandraAuthorizationFilter.java:92)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.datastax.bdp.search.solr.auth.DseAuthenticationFilter.doFilter(DseAuthenticationFilter.java:102)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:724)

Here is our schema.xml:

<schema name="content" version="1.5">
  <types>

    <fieldType name="tfloat" class="solr.TrieFloatField" omitNorms="true" positionIncrementGap="0"/>
    <fieldType name="string" class="solr.StrField"/>
    <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>

    <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.LowerCaseTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
      </analyzer>
    </fieldType>

    <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>
  </types>

  <fields>
    <!-- Our standard fields for searching -->
    <field name="content_id" type="string" indexed="true" stored="true" required="true" />
    <field name="account_id" type="string" indexed="true" stored="true" required="true" />
    <field name="url"  type="string" indexed="true"  stored="true" required="true" />
    <field name="published_at"  type="tdate" indexed="true"  stored="true" />
    <field name="title"  type="text_general" indexed="true"  stored="true" />

    <!-- Multi-valued fields -->
    <field name="authors"  type="lowercase" multiValued="true" stored="true" indexed="true" omitNorms="true" />
    <field name="tags"  type="lowercase" multiValued="true" stored="true" indexed="true" omitNorms="true" />
    <field name="channels"  type="lowercase" multiValued="true" stored="true" indexed="true" omitNorms="true" />
    <field name="boards"  type="lowercase" multiValued="true" stored="true" indexed="true" omitNorms="true" />

    <!-- Dynamic fields -->
    <dynamicField name="shared_on_*" type="string" indexed="true" stored="true" />
    <dynamicField name="score_value_*" type="tfloat" indexed="true" stored="true" />
    <dynamicField name="score_calculated_*" type="tdate" indexed="true" stored="true" />
    <dynamicField name="score_pspv_*" type="tfloat" indexed="true" stored="true" />
    <dynamicField name="score_velocity_*" type="tfloat" indexed="true" stored="true" />
  </fields>

  <defaultSearchField>title</defaultSearchField>
  <solrQueryParser defaultOperator="AND" />
  <uniqueKey>content_id</uniqueKey>
</schema>

and our table definition:

CREATE KEYSPACE linkcurrent_search
    WITH REPLICATION = { 'class': 'NetworkTopologyStrategy', 'Solr': 3, 'Cassandra': 3 }; -- production

USE linkcurrent_search;

CREATE TABLE content_items (
  content_id TEXT,        -- The content_id
  account_id TEXT,        -- The account_id
  url TEXT,               -- The URL of the article
  published_at TIMESTAMP, -- When the article was published
  title TEXT,             -- The title of the article

  -- Our multi-valued fields
  authors SET<TEXT>,      -- Set of authors
  channels SET<TEXT>,     -- Set of channels
  tags SET<TEXT>,         -- Set of tags
  boards SET<TEXT>,       -- Set of associated boards

  -- Our dynammic fields
  shared_on_ MAP<TEXT, TEXT>, -- Social networks that item has been shared on
  score_value_ MAP<TEXT, FLOAT>, -- The current score value
  score_calculated_ MAP<TEXT, TIMESTAMP>, -- The last time the score was calculated
  score_pspv_ MAP<TEXT, FLOAT>, -- The predicted social pageviews from the score calculation
  score_velocity_ MAP<TEXT, FLOAT>, -- The current velocity of the score

  PRIMARY KEY(content_id)
) WITH comment = 'Content items '
   AND read_repair_chance=0.001000;

And this is the data we entered:

cqlsh:linkcurrent_search> select * from content_items;

@ Row 1
-------------------+-----------------------------------------------------------------------------------------------
 content_id        | 4893332cd2caa0a1424702f1e1c55cba
 account_id        | 4893332cd2caa0a1424702f1e1c55cbd
 authors           | {'Test McTest'}
 boards            | {'530e5a6cb91c275929002dbf'}
 channels          | {'us.test'}
 published_at      | 2014-03-14 11:03:00+0000
 score_calculated_ | {'realtime': '2014-03-17 12:34:23+0000'}
 score_pspv_       | {'realtime': 124}
 score_value_      | {'realtime': 42}
 score_velocity_   | {'realtime': 0.42}
 shared_on_        | {'facebook': '9138739jdh', 'twitter': '1243243214'}
 solr_query        | null
 tags              | null
 title             | Test title
 url               | http://www.test.com/2014/03/14/test.html

Upvotes: 1

Views: 296

Answers (1)

Russ Bradberry
Russ Bradberry

Reputation: 10865

Bounced DSE on the problem nodes seems to have resolved the issue.

Upvotes: 1

Related Questions