[jira] [Commented] (HBASE-18243) HBase Thrift server lacks logic for renewing kerberos tickets

2017-06-28 Thread Steen Manniche (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16066014#comment-16066014
 ] 

Steen Manniche commented on HBASE-18243:


Starting the thrift server with a {{jaas}} configuration file which has 
instructions to not use a ticket cache ({{useTicketCache=false}}, but instead 
use a keytab ({{useKeyTab=true}} and values for {{keyTab}} and {{principal}}) 
seems to have solved the problem for us. However, I do not see any log-files 
from the {{UserGroupInformation#reloginFromTicketCache}}, which allegedly 
should be handling the kerberos ticket renewal for the thrift server?

> HBase Thrift server lacks logic for renewing kerberos tickets
> -
>
> Key: HBASE-18243
> URL: https://issues.apache.org/jira/browse/HBASE-18243
> Project: HBase
>  Issue Type: Bug
>  Components: Thrift
>Affects Versions: 2.0.0, 1.1.2
>Reporter: Steen Manniche
>Priority: Minor
>  Labels: security
>
> I have been looking through the hbase-thrift code looking for where
> the server performs renewals of kerberos tickets for the provided
> principal/keytab. There seems to be no logic in place for renewing tickets.
> The hadoop-common provides the class
> UserGroupInformation, which exposes the method
> {{checkTGTAndReloginFromKeytab}}. I can see that the {{ThriftServerRunner}} 
> class
> has a handle to the class
> (https://github.com/apache/hbase/blob/master/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java#L205),
> but I do not see the ticket renewal logic being called anywhere.
> A possible workaround is to renew the ticket outside the java process.
> The documentation on the {{checkTGTAndReloginFromKeytab}} states that if the 
> ticket is still valid, a call to the method is essentially a no-op.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18243) HBase Thrift server lacks logic for renewing kerberos tickets

2017-06-20 Thread Steen Manniche (JIRA)
Steen Manniche created HBASE-18243:
--

 Summary: HBase Thrift server lacks logic for renewing kerberos 
tickets
 Key: HBASE-18243
 URL: https://issues.apache.org/jira/browse/HBASE-18243
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 1.1.2, 2.0.0
Reporter: Steen Manniche
Priority: Minor


I have been looking through the hbase-thrift code looking for where
the server performs renewals of kerberos tickets for the provided
principal/keytab. There seems to be no logic in place for renewing tickets.

The hadoop-common provides the class
UserGroupInformation, which exposes the method
{{checkTGTAndReloginFromKeytab}}. I can see that the {{ThriftServerRunner}} 
class
has a handle to the class
(https://github.com/apache/hbase/blob/master/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java#L205),
but I do not see the ticket renewal logic being called anywhere.

A possible workaround is to renew the ticket outside the java process.

The documentation on the {{checkTGTAndReloginFromKeytab}} states that if the 
ticket is still valid, a call to the method is essentially a no-op.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-04-18 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Hadoop Flags: Reviewed
Release Note: Add table name to exception logging when a coprocessor is 
removed from a table by the region server
  Status: Patch Available  (was: Open)

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch, 
> HBASE-17817.master.002.patch, HBASE-17817.master.003.patch, 
> HBASE-17817.master.004.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-04-11 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: HBASE-17817.master.004.patch

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch, 
> HBASE-17817.master.002.patch, HBASE-17817.master.003.patch, 
> HBASE-17817.master.004.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-04-11 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: HBASE-17817.master.003.patch

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch, 
> HBASE-17817.master.002.patch, HBASE-17817.master.003.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-04-11 Thread Steen Manniche (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15964643#comment-15964643
 ] 

Steen Manniche commented on HBASE-17817:


Thank you for the elaborate comments. As per your suggestion on hbase-user, I 
created a review-board issue and continued the development of the patch there.

With regards to the {{isAssignableFrom}} comment: you are absolutely right, and 
I will make that part of the patch.

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch, 
> HBASE-17817.master.002.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-04-11 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: HBASE-17817.master.001.patch

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch, 
> HBASE-17817.master.002.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-04-11 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: HBASE-17817.master.002.patch

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.002.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-04-11 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: (was: HBASE-17817.master.001.patch)

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-28 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: (was: HBASE-17817.master.002.patch)

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-28 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: HBASE-17817.master.002.patch

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch, 
> HBASE-17817.master.002.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-28 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Attachment: HBASE-17817.master.001.patch

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
> Attachments: HBASE-17817.master.001.patch
>
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-27 Thread Steen Manniche (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15943057#comment-15943057
 ] 

Steen Manniche commented on HBASE-17817:


Great, that was what I was hoping for: some mechanism to supply the most 
detailed information available at the time the exception is thrown. Thanks!

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-27 Thread Steen Manniche (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15942756#comment-15942756
 ] 

Steen Manniche commented on HBASE-17817:


Got access to the log files again so I can give a bit more detail on the issue.

The hbase exception log message originates from here: 
https://github.com/apache/hbase/blob/ee1549cc9778af7124e3c7c6b187a0b124385a90/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java#L604

In this method, we have access to 
[{{CoprocessorEnvironment}}|https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/CoprocessorEnvironment.html],
 but I'm not sure if we can reliably extract the tablename from that?

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-24 Thread Steen Manniche (JIRA)

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

Steen Manniche updated HBASE-17817:
---
Description: 
When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
handles this according to {{hbase.coprocessor.abortonerror}}.

If the coprocessor was loaded on a specific table, the output in the logs give 
no indication as to which table the coprocessor was removed from (or which 
version, or jarfile is the culprit). This causes longer debugging and recovery 
times.

  was:
When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
handles this according to {{hbase.coprocessor.abortonerror}}.

The output in the logs give no indication as to which table the coprocessor was 
removed from (or which version, or jarfile is the culprit). This causes longer 
debugging and recovery times.


> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> If the coprocessor was loaded on a specific table, the output in the logs 
> give no indication as to which table the coprocessor was removed from (or 
> which version, or jarfile is the culprit). This causes longer debugging and 
> recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-22 Thread Steen Manniche (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15937292#comment-15937292
 ] 

Steen Manniche commented on HBASE-17817:


I don't have the relevant loglines with me right now. But the case is, when 
looking in the hbase-regionserver log, the exception shows the qualified name 
of the coprocessors as well as the line where the exception occurred. There is 
no trace of which table the coprocessor was loaded on.

> Make Regionservers log which tables it removed coprocessors from when aborting
> --
>
> Key: HBASE-17817
> URL: https://issues.apache.org/jira/browse/HBASE-17817
> Project: HBase
>  Issue Type: Improvement
>  Components: Coprocessors, regionserver
>Affects Versions: 1.1.2
>Reporter: Steen Manniche
>  Labels: logging
>
> When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
> handles this according to {{hbase.coprocessor.abortonerror}}.
> The output in the logs give no indication as to which table the coprocessor 
> was removed from (or which version, or jarfile is the culprit). This causes 
> longer debugging and recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (HBASE-17817) Make Regionservers log which tables it removed coprocessors from when aborting

2017-03-21 Thread Steen Manniche (JIRA)
Steen Manniche created HBASE-17817:
--

 Summary: Make Regionservers log which tables it removed 
coprocessors from when aborting
 Key: HBASE-17817
 URL: https://issues.apache.org/jira/browse/HBASE-17817
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, regionserver
Affects Versions: 1.1.2
Reporter: Steen Manniche


When a coprocessor throws a runtime exception (e.g. NPE), the regionserver 
handles this according to {{hbase.coprocessor.abortonerror}}.

The output in the logs give no indication as to which table the coprocessor was 
removed from (or which version, or jarfile is the culprit). This causes longer 
debugging and recovery times.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-14205) RegionCoprocessorHost System.nanoTime() performance bottleneck

2017-01-27 Thread Steen Manniche (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-14205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15842877#comment-15842877
 ] 

Steen Manniche commented on HBASE-14205:


The official HBase documentation still lists this functionality as available, 
which cost me some time looking through configuration files before I found this 
issue. The part in question is this:
http://hbase.apache.org/book.html#_monitor_time_spent_in_coprocessors

> RegionCoprocessorHost System.nanoTime() performance bottleneck
> --
>
> Key: HBASE-14205
> URL: https://issues.apache.org/jira/browse/HBASE-14205
> Project: HBase
>  Issue Type: Bug
>  Components: Coprocessors, Performance, regionserver
>Reporter: Jan Van Besien
>Assignee: Andrew Purtell
>Priority: Critical
>  Labels: needs_releasenote
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: HBASE-14205.patch
>
>
> The tracking of execution time of coprocessor methods introduced in 
> HBASE-11516 introduces 2 calls to System.nanoTime() per coprocessor method 
> per coprocessor. This is resulting in a serious performance bottleneck in 
> certain scenarios.
> For example consider the scenario where many rows are being ingested (PUT) in 
> a table which has multiple coprocessors (we have up to 20 coprocessors). This 
> results in 8 extra calls to System.nanoTime() per coprocessor (prePut, 
> postPut, postStartRegionOperation and postCloseRegionOperation) which has in 
> total (i.e. times 20) been seen to result in a 50% increase of execution time.
> I think it is generally considered bad practice to measure execution times on 
> such a small scale (per single operation). Also note that measurements are 
> taken even for coprocessors that do not even have an actual implementation 
> for certain operations, making the problem worse.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)