[ https://issues.apache.org/jira/browse/HBASE-2058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell updated HBASE-2058: ---------------------------------- Description: Use the ASM bytecode analysis and rewriting engine to impose some constraints on CPU and memory use. This is middle ground between arbitrary function and a locked down language. We will be given arbitrary bytecode input. It is acceptable to reject a class and abort coprocessor loading if it defies analysis at load time such that we have insufficient confidence about the result. Wrap allocations to simply disallow large allocations. Hook or add finalizers to keep a running tally of aggregate heap charge. Disallow allocation beyond policy limit. Weave CPU usage tracking into loop headers. Throw an uncatchable exception if time limits prescribed by policy are exceeded. > Coprocessors: CPU and memory limit policy enforcment via runtime weaving > ------------------------------------------------------------------------ > > Key: HBASE-2058 > URL: https://issues.apache.org/jira/browse/HBASE-2058 > Project: Hadoop HBase > Issue Type: Sub-task > Reporter: Andrew Purtell > > Use the ASM bytecode analysis and rewriting engine to impose some constraints > on CPU and memory use. This is middle ground between arbitrary function and a > locked down language. > We will be given arbitrary bytecode input. It is acceptable to reject a class > and abort coprocessor loading if it defies analysis at load time such that we > have insufficient confidence about the result. > Wrap allocations to simply disallow large allocations. Hook or add finalizers > to keep a running tally of aggregate heap charge. Disallow allocation beyond > policy limit. > Weave CPU usage tracking into loop headers. Throw an uncatchable exception if > time limits prescribed by policy are exceeded. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.