[
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: [email protected]
For additional commands, e-mail: [email protected]