[
https://issues.apache.org/jira/browse/HBASE-21872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16766061#comment-16766061
]
Nihal Jain commented on HBASE-21872:
------------------------------------
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)