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