lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Heisey <apa...@elyograg.org>
Subject Something odd with async request status for BACKUP operation on Collections API
Date Fri, 12 Oct 2018 15:28:08 GMT
I'm working on reproducing a problem reported via the IRC channel.

Started a test cloud with 7.5.0. Initially with two nodes, then again 
with 3 nodes.  Did this on Windows 10.

Command to create a collection:

bin\solr create -c test2 -shards 30 -replicationFactor 2

For these URLs, I dropped them into a browser, so URL encoding was 
handled automatically.  I'm sure the URL to start the backup wouldn't 
work as-is with curl because it includes characters that need encoding.

Backup URL:

http://localhost:8983/solr/admin/collections?action=BACKUP&name=test2.3&collection=test2&location=C:\Users\elyograg\Downloads\solrbackups&async=sometag

Request status URL:

http://localhost:8983/solr/admin/collections?action=REQUESTSTATUS&requestid=sometag

Here's the raw JSON response from the status URL:
{
   "responseHeader":{
     "status":0,
     "QTime":3},
   "success":{
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":2}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":2}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":1}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":35}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":1}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":1}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":33}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":34}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":40}},
     "192.168.56.1:8984_solr":{
       "responseHeader":{
         "status":0,
         "QTime":2}},
     "192.168.56.1:8984_solr":{
       "responseHeader":{
         "status":0,
         "QTime":2}},
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8984_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8984_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:7574_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":0}},
     "192.168.56.1:8983_solr":{
       "responseHeader":{
         "status":0,
         "QTime":1}}},
   "sometag135341573915254":{
     "responseHeader":{
       "status":0,
       "QTime":0},
     "STATUS":"completed",
     "Response":"TaskId: sometag135341573915254 webapp=null 
path=/admin/cores 
params={core=test2_shard9_replica_n34&async=sometag135341573915254&qt=/admin/cores&name=shard9&action=BACKUPCORE&location=file:///C:/Users/elyograg/Downloads/solrbackups/test2.3&wt=javabin&version=2}

status=0 QTime=0"},
   "sometag135341570605052":{
     "responseHeader":{
       "status":0,
       "QTime":0},
     "STATUS":"completed",
     "Response":"TaskId: sometag135341570605052 webapp=null 
path=/admin/cores 
params={core=test2_shard1_replica_n1&async=sometag135341570605052&qt=/admin/cores&name=shard1&action=BACKUPCORE&location=file:///C:/Users/elyograg/Downloads/solrbackups/test2.3&wt=javabin&version=2}

status=0 QTime=0"},
   "sometag135341570647962":{
     "responseHeader":{
       "status":0,
       "QTime":0},
     "STATUS":"completed",
     "Response":"TaskId: sometag135341570647962 webapp=null 
path=/admin/cores 
params={core=test2_shard7_replica_n26&async=sometag135341570647962&qt=/admin/cores&name=shard7&action=BACKUPCORE&location=file:///C:/Users/elyograg/Downloads/solrbackups/test2.3&wt=javabin&version=2}

status=0 QTime=0"},
   "status":{
     "state":"completed",
     "msg":"found [sometag] in completed tasks"}}


As you can see, only 3 (out of 30) shards are mentioned in the response. 
When I did the same test on a 2-node cloud example, there were only 2 
shards in the response.

Should all 30 shards have been in the response? Is there a bug here?

If I make the request without the async parameter, the response doesn't 
contain ANY shard information at all. Because this is an empty 
collection, the backup is fast. I expected detailed information to be in 
the response.  Is that worth an issue in Jira?

Side note: In the status response, the individual shard info that IS 
present doesn't indicate what node handled the CoreAdmin call.  That 
would be useful information to include.

Thanks,
Shawn


Mime
View raw message