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

Nihal Jain edited comment on HBASE-21872 at 2/12/19 2:17 PM:
-------------------------------------------------------------

bq. [https://github.com/policeman-tools/forbidden-apis]
[~krisden] Thanks for sharing. This looks like a great plugin. Tried this and 
the results look great.
NOTE: I used the default bundled signatures.

{noformat}
[INFO] --- forbiddenapis:2.6:check (forbidden-apis) @ hbase-backup ---
[INFO] Scanning for classes to check...
[INFO] Reading bundled API signatures: jdk-unsafe-1.6
[INFO] Reading bundled API signatures: jdk-deprecated-1.6
[INFO] Reading bundled API signatures: jdk-non-portable
[INFO] Reading bundled API signatures: jdk-reflection
[INFO] Loading classes to check...
[INFO] Scanning classes for violations...
[ERROR] Forbidden method invocation: java.util.Calendar#getInstance() [Uses 
default locale or time zone]
[ERROR]   in org.apache.hadoop.hbase.backup.BackupInfo (BackupInfo.java:502)
[ERROR] Forbidden method invocation: java.util.Calendar#getInstance() [Uses 
default locale or time zone]
[ERROR]   in org.apache.hadoop.hbase.backup.BackupInfo (BackupInfo.java:511)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:177)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:178)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:179)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:281)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:351)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[],int,int) 
[Uses default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable$1 
(BackupSystemTable.java:1071)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[],int,int) 
[Uses default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable$1 
(BackupSystemTable.java:1075)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[],int,int) 
[Uses default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable$1 
(BackupSystemTable.java:1079)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in 
org.apache.hadoop.hbase.backup.regionserver.LogRollBackupSubprocedure 
(LogRollBackupSubprocedure.java:61)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in 
org.apache.hadoop.hbase.backup.master.LogRollMasterProcedureManager 
(LogRollMasterProcedureManager.java:133)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:567)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1618)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1698)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1768)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1849)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1905)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:2009)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:2040)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:144)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:148)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:149)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:157)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:158)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:160)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:161)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:168)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:169)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:170)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient 
(IncrementalTableBackupClient.java:158)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient 
(IncrementalTableBackupClient.java:160)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient 
(IncrementalTableBackupClient.java:162)
[ERROR] Forbidden method invocation: java.lang.String#toUpperCase() [Uses 
default locale]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupCommands$CreateCommand 
(BackupCommands.java:342)
[ERROR] Scanned 75 class file(s) for forbidden API invocations (in 0.99s), 34 
error(s).
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  43.724 s
[INFO] Finished at: 2019-02-12T19:43:44+05:30
[INFO] ------------------------------------------------------------------------
{noformat}

Ping [~Apache9], [~busbey], [~stack]


was (Author: nihaljain.cs):
bq. [https://github.com/policeman-tools/forbidden-apis]
[~krisden] Thanks for sharing. This looks like a great plugin. Tried this and 
the results look great.
NOTE: I used the default bundled signatures.

{noformat}
[INFO] --- forbiddenapis:2.6:check (forbidden-apis) @ hbase-backup ---
[INFO] Scanning for classes to check...
[INFO] Reading bundled API signatures: jdk-unsafe-1.6
[INFO] Reading bundled API signatures: jdk-deprecated-1.6
[INFO] Reading bundled API signatures: jdk-non-portable
[INFO] Reading bundled API signatures: jdk-reflection
[INFO] Loading classes to check...
[INFO] Scanning classes for violations...
[ERROR] Forbidden method invocation: java.util.Calendar#getInstance() [Uses 
default locale or time zone]
[ERROR]   in org.apache.hadoop.hbase.backup.BackupInfo (BackupInfo.java:502)
[ERROR] Forbidden method invocation: java.util.Calendar#getInstance() [Uses 
default locale or time zone]
[ERROR]   in org.apache.hadoop.hbase.backup.BackupInfo (BackupInfo.java:511)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:177)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:178)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:179)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:281)
[ERROR] Forbidden method invocation: 
java.lang.reflect.AccessibleObject#setAccessible(boolean) [Reflection usage to 
work around access flags fails with SecurityManagers and likely will not work 
anymore on runtime classes in Java 9]
[ERROR]   in 
org.apache.hadoop.hbase.backup.mapreduce.MapReduceBackupCopyJob$BackupDistCp 
(MapReduceBackupCopyJob.java:351)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[],int,int) 
[Uses default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable$1 
(BackupSystemTable.java:1071)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[],int,int) 
[Uses default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable$1 
(BackupSystemTable.java:1075)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[],int,int) 
[Uses default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable$1 
(BackupSystemTable.java:1079)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in 
org.apache.hadoop.hbase.backup.regionserver.LogRollBackupSubprocedure 
(LogRollBackupSubprocedure.java:61)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in 
org.apache.hadoop.hbase.backup.master.LogRollMasterProcedureManager 
(LogRollMasterProcedureManager.java:133)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:567)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1618)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1698)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1768)
[ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses 
default charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1849)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:1905)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:2009)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:2040)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:144)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:148)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:149)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:157)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:158)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:160)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:161)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:168)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:169)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupSystemTable 
(BackupSystemTable.java:170)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient 
(IncrementalTableBackupClient.java:158)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient 
(IncrementalTableBackupClient.java:160)
[ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses default 
charset]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient 
(IncrementalTableBackupClient.java:162)
[ERROR] Forbidden method invocation: java.lang.String#toUpperCase() [Uses 
default locale]
[ERROR]   in org.apache.hadoop.hbase.backup.impl.BackupCommands$CreateCommand 
(BackupCommands.java:342)
[ERROR] Scanned 75 class file(s) for forbidden API invocations (in 0.99s), 34 
error(s).
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  43.724 s
[INFO] Finished at: 2019-02-12T19:43:44+05:30
[INFO] ------------------------------------------------------------------------
{noformat}

WDYT [~Apache9], [~busbey]?

> Clean up getBytes() calls without charsets provided
> ---------------------------------------------------
>
>                 Key: HBASE-21872
>                 URL: https://issues.apache.org/jira/browse/HBASE-21872
>             Project: HBase
>          Issue Type: Task
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Trivial
>             Fix For: 3.0.0
>
>         Attachments: HBASE-21782.001.patch, HBASE-21782.002.patch
>
>
> As we saw over in HBASE-21201, the use of {{String.getBytes()}} without a 
> Charset can result is some compiler warnings. Let's just get rid of these 
> calls. There are only a handful anymore in master.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to