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

Keith Turner commented on ACCUMULO-1188:
----------------------------------------

Seems like executing iterators in a separate process would be a good way to go. 
 

 * Have a pool of java processes for executing iterators, because starting a 
java process is not quick.  Reusing processes can have its own problems.  
Should probably throw a process away anytime there is an exception in the 
iterator stack.
 * External processes could read RFiles directly from HDFS
 * External process would not benefit from current in memory tserver file 
cache.  Store cache in shared memory?  Take a look at latest HBase cache code.
 * For compactions, external processes could also write files directly to HDFS.
 * For scans, need to figure out best way to get data from external process 
back to client.  Client connects to tserver process.
 * Scans and Minor Compactions will need to read in memory map from tablet 
server.

This seems really easy for major compactions, the external process would just 
read rfiles and write a rfile using the iterator stack.  Scans seems trickier 
because of cache, in memory map, and efficiently getting data back to client.


                
> Sandbox iterators
> -----------------
>
>                 Key: ACCUMULO-1188
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1188
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: Keith Turner
>             Fix For: 1.6.0
>
>
> Its possible that a user iterator can bring down a tablet server.  For 
> example if it has a OOM or creates too many threads.  It would be nice it 
> iterators could be sandboxed in some way.

--
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