Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

OverseerAutoReplicaFailoverThread Could not find dataDir or ulogDir in cluster state.

Highlighted

OverseerAutoReplicaFailoverThread Could not find dataDir or ulogDir in cluster state.

Hi, I'm having trouble getting autoAddReplicas to work in CDH 5.4.0 (Solr 4.10.3).

 

I created a simple test collection (on a 3 node Solr cluster) as follows: 

 

curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=foo2&numShards=3&maxShardsPerNode=3&autoAddReplicas=true&collection.configName=collection1"

collection1 configuration is from the Solr distribution, if it matters: https://github.com/cloudera/lucene-solr/tree/cdh5-4.10.3_5.4.1/solr/example/solr/collection1/conf

 

 

So I add a few documents, and then kill one of the Solr instances, then see the following in the Overseer logs:

 

 

5/20/2015, 10:40:42 AM
WARN
OverseerAutoReplicaFailoverThread
Replica core_node3 may need to failover.
5/20/2015, 10:41:12 AM
WARN
OverseerAutoReplicaFailoverThread
Could not find dataDir or ulogDir in cluster state.
5/20/2015, 10:41:22 AM
WARN
OverseerAutoReplicaFailoverThread
Could not find dataDir or ulogDir in cluster state.
5/20/2015, 10:41:32 AM
WARN
OverseerAutoReplicaFailoverThread
Could not find dataDir or ulogDir in cluster state.

 

I tracked down the following code in Solr, but it looks like the dataDir and ulogDir properties are missing from my clusterstate: https://github.com/cloudera/lucene-solr/blob/cdh5-4.10.3_5.4.1/solr/core/src/java/org/apache/solr/cl...

 

 

{"foo2":{
    "shards":{
      "shard1":{
        "range":"80000000-d554ffff",
        "state":"active",
        "replicas":{"core_node1":{
            "state":"active",
            "core":"foo2_shard1_replica1",
            "node_name":"w2a-brett-1:8983_solr",
            "base_url":"http://w2a-brett-1:8983/solr",
            "leader":"true"}}},
      "shard2":{
        "range":"d5550000-2aa9ffff",
        "state":"active",
        "replicas":{"core_node2":{
            "state":"active",
            "core":"foo2_shard2_replica1",
            "node_name":"w2a-brett-3:8983_solr",
            "base_url":"http://w2a-brett-3:8983/solr",
            "leader":"true"}}},
      "shard3":{
        "range":"2aaa0000-7fffffff",
        "state":"active",
        "replicas":{"core_node3":{
            "state":"active",
            "core":"foo2_shard3_replica1",
            "node_name":"w2a-brett-2:8983_solr",
            "base_url":"http://w2a-brett-2:8983/solr",
            "leader":"true"}}}},
    "maxShardsPerNode":"3",
    "router":"compositeId",
    "replicationFactor":"1",
    "autoAddReplicas":"true",
    "routerSpec":{"name":"compositeId"}}}

Which means a replica can't be added for the missing shard: https://github.com/cloudera/lucene-solr/blob/cdh5-4.10.3_5.4.1/solr/core/src/java/org/apache/solr/cl...

 

Does anyone know what I'm missing, or why the Overseer isn't putting the dataDir and ulogDir into the collectionstate like it seems like it should be?

 

1 REPLY 1

Re: OverseerAutoReplicaFailoverThread Could not find dataDir or ulogDir in cluster state.

Nevermind, I thought Cloudera's collection1 was using HDFS by default, but it wasn't. :)

Don't have an account?
Coming from Hortonworks? Activate your account here