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

Ted Yu commented on HBASE-6942:
-------------------------------

{code}
+public class BulkDeleteEndpoint extends BaseEndpointCoprocessor implements 
BulkDeleteProtocol {
{code}
Please add annotation for audience and stability.
{code}
+        List<byte[]> deleteRowKeys = new ArrayList<byte[]>(rowBatchSize);
{code}
Should a Set be used ? The use case is for deleting entire rows. We just need 
to collect unique row keys.
{code}
+    if (scan.getFilter() == null) {
+      // What we need is just the rowkeys. So only 1st KV from any row is 
enough.
+      scan.setFilter(new FirstKeyOnlyFilter());
+    }
{code}
If user has specified Filter already but the Filter would return many KeyValues 
from one row, should we introduce FirstKeyOnlyFilter through FilterList ?
                
> Endpoint implementation for bulk delete rows
> --------------------------------------------
>
>                 Key: HBASE-6942
>                 URL: https://issues.apache.org/jira/browse/HBASE-6942
>             Project: HBase
>          Issue Type: Improvement
>          Components: Coprocessors, Performance
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: HBASE-6942.patch, HBASE-6942_V2.patch, 
> HBASE-6942_V3.patch
>
>
> We can provide an end point implementation for doing a bulk deletion of 
> rows(based on a scan) at the server side. This can reduce the time taken for 
> such an operation as right now it need to do a scan to client and issue 
> delete(s) using rowkeys.
> Query like  delete from table1 where...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to