[ 
https://issues.apache.org/jira/browse/HBASE-9941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-9941:
----------------------------------

    Attachment: 9941.patch

Updated patch that modifies the microbenchmark to do a little bit of work in 
the upcall for a bit more realism.

Baseline:

{noformat}
 0% Scenario{vm=java, trial=0, benchmark=ObserverInvocation} 35.02 ns; σ=0.27 
ns @ 3 trials
10% Scenario{vm=java, trial=1, benchmark=ObserverInvocation} 34.87 ns; σ=0.30 
ns @ 3 trials
20% Scenario{vm=java, trial=2, benchmark=ObserverInvocation} 34.96 ns; σ=0.60 
ns @ 10 trials
30% Scenario{vm=java, trial=3, benchmark=ObserverInvocation} 35.08 ns; σ=3.78 
ns @ 10 trials
40% Scenario{vm=java, trial=4, benchmark=ObserverInvocation} 34.57 ns; σ=0.23 
ns @ 3 trials
50% Scenario{vm=java, trial=5, benchmark=ObserverInvocation} 34.91 ns; σ=0.57 
ns @ 10 trials
60% Scenario{vm=java, trial=6, benchmark=ObserverInvocation} 34.85 ns; σ=0.70 
ns @ 10 trials
70% Scenario{vm=java, trial=7, benchmark=ObserverInvocation} 34.26 ns; σ=0.25 
ns @ 3 trials
80% Scenario{vm=java, trial=8, benchmark=ObserverInvocation} 34.96 ns; σ=2.02 
ns @ 10 trials
90% Scenario{vm=java, trial=9, benchmark=ObserverInvocation} 34.77 ns; σ=0.34 
ns @ 3 trials
{noformat}

With patch here:

{noformat}
 0% Scenario{vm=java, trial=0, benchmark=ObserverInvocation} 103.56 ns; σ=2.53 
ns @ 10 trials
10% Scenario{vm=java, trial=1, benchmark=ObserverInvocation} 102.90 ns; σ=1.85 
ns @ 10 trials
20% Scenario{vm=java, trial=2, benchmark=ObserverInvocation} 102.67 ns; σ=1.77 
ns @ 10 trials
30% Scenario{vm=java, trial=3, benchmark=ObserverInvocation} 106.80 ns; σ=2.97 
ns @ 10 trials
40% Scenario{vm=java, trial=4, benchmark=ObserverInvocation} 101.95 ns; σ=0.17 
ns @ 3 trials
50% Scenario{vm=java, trial=5, benchmark=ObserverInvocation} 101.43 ns; σ=1.69 
ns @ 10 trials
60% Scenario{vm=java, trial=6, benchmark=ObserverInvocation} 106.33 ns; σ=0.96 
ns @ 4 trials
70% Scenario{vm=java, trial=7, benchmark=ObserverInvocation} 106.06 ns; σ=0.36 
ns @ 3 trials
80% Scenario{vm=java, trial=8, benchmark=ObserverInvocation} 100.90 ns; σ=0.19 
ns @ 3 trials
90% Scenario{vm=java, trial=9, benchmark=ObserverInvocation} 101.11 ns; σ=0.47 
ns @ 3 trials
{noformat}

Accounting for the difference in the upcall the results are stable and 
consistent with previous. 

> The context ClassLoader isn't set while calling into a coprocessor
> ------------------------------------------------------------------
>
>                 Key: HBASE-9941
>                 URL: https://issues.apache.org/jira/browse/HBASE-9941
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>    Affects Versions: 0.96.0
>            Reporter: Benoit Sigoure
>            Assignee: Andrew Purtell
>             Fix For: 0.98.0
>
>         Attachments: 9941.patch, 9941.patch, 9941.patch
>
>
> Whenever one of the methods of a coprocessor is invoked, the context 
> {{ClassLoader}} isn't set to be the {{CoprocessorClassLoader}}.  It's only 
> set properly when calling the coprocessor's {{start}} method.  This means 
> that if the coprocessor code attempts to load classes using the context 
> {{ClassLoader}}, it will fail to find the classes it's looking for.



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

Reply via email to