I'm migrating my current DSE implementation to a (physical) multi datacenter implementation.
I've changed to from the SimpleSnitch to the GossipingPropertyFileSnitch, and after a rolling restart everything seems to be working fine, except SOLR.
When I try to create a core it works, but with an exception thrown:
org.apache.solr.common.SolrException: org.apache.cassandra.exceptions.InvalidRequestException: Undefined name workload in selection clause at com.datastax.bdp.search.solr.core.SolrCoreResourceManager.createCore(SolrCoreResourceManager.java:335) at com.datastax.bdp.search.solr.handler.admin.CassandraCoreAdminHandler.handleCreateAction(CassandraCoreAdminHandler.java:117) at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:144) 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)
The core is created and the dataimporthandler does it's job, but when I try to select some data it throws another exception:
java.lang.RuntimeException: java.lang.NullPointerException
at com.datastax.bdp.search.solr.handler.shard.CassandraHttpShardHandler.checkDistributed(CassandraHttpShardHandler.java:44)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:178)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1841)
.....
Caused by: java.lang.NullPointerException
at com.datastax.bdp.search.solr.dht.ShardRouter.endpointsToContact(ShardRouter.java:577)
at com.datastax.bdp.search.solr.dht.ShardRouter.route(ShardRouter.java:182)
at com.datastax.bdp.search.solr.handler.shard.CassandraHttpShardHandler.checkDistributed(CassandraHttpShardHandler.java:40)
I have no idea anymore where to look and can't find any relevant information on this error. So I hope someone here can point me in the right direction.
This is most likely a misconfiguration caused by replacing the DseDelegateSnitch in cassandra.yaml with the GossipingPropertyFileSnitch: you should keep the former, and configure the latter in dse.yaml.