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