[ 
https://issues.apache.org/jira/browse/SOLR-5477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13876232#comment-13876232
 ] 

Shalin Shekhar Mangar commented on SOLR-5477:
---------------------------------------------

Some comments on the last patch:

# Why have two different sets of parameter names; 'requeststatus' with 'id' for 
collection handler and 'reqstatus' with 'requestid' for 
OverseerCollectionProcessor? Let's make it the same. Maybe just call it 
'status' with a request_id?
# In CollectionHandler.handleSplitShardAction, the following can throw NPE if 
ASYNC is not present. Use Boolean.parseBoolean instead:
{code}
if (req.getParams().get(ASYNC).equals("true")) {
      props.put(ASYNC, "true");
    }
{code}
# Shouldn't the CollectionHandler should add support for async in all commands 
and not just create collection and split?
# CollectionHandler.handleResponse should actually check for non-null value of 
"async" Just checking if the key exists is not enough.
# I guess the client creating/managing the id part is not implemented in the 
last patch.
# In DistributedQueue.createData -- there is debug logging that should be 
marked with nocommit and removed
# DistributedQueue.getNumericId is an unused method
# DistributedQueue.containsValue creates a new String from byte[] with the 
default charset. Similar issues with String.getBytes. Run ant 
check-forbidden-apis from inside the solr folder for a full list.
# The completed queue and the failure queue are actually for 
OverseerCollectionProcessor so they should be named appropriately i.e. 
/overseer/collection-queue-completed and /overseer/collection-queue-failed
# Why are items being put in the completedQueue in Overseer? The async and 
status support is only for collection commands not overseer commands.
# The OverseerCollectionProcessor.processMessage catches Throwables with this 
patch. It should be changed back to catching Exception only.
# Processing OverseerCollectionProcessor tasks in multiple threads is a key 
requirement because these tasks can be long running. Just making them 
asynchronous is not enough. This hasn't been addressed in this patch yet.

> Async execution of OverseerCollectionProcessor tasks
> ----------------------------------------------------
>
>                 Key: SOLR-5477
>                 URL: https://issues.apache.org/jira/browse/SOLR-5477
>             Project: Solr
>          Issue Type: Sub-task
>          Components: SolrCloud
>            Reporter: Noble Paul
>            Assignee: Anshum Gupta
>         Attachments: SOLR-5477-CoreAdminStatus.patch, SOLR-5477.patch
>
>
> Typical collection admin commands are long running and it is very common to 
> have the requests get timed out.  It is more of a problem if the cluster is 
> very large.Add an option to run these commands asynchronously
> add an extra param async=true for all collection commands
> the task is written to ZK and the caller is returned a task id. 
> as separate collection admin command will be added to poll the status of the 
> task
> command=status&id=7657668909
> if id is not passed all running async tasks should be listed
> A separate queue is created to store in-process tasks . After the tasks are 
> completed the queue entry is removed. OverSeerColectionProcessor will perform 
> these tasks in multiple threads



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to