[
https://issues.apache.org/jira/browse/HBASE-21247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16648182#comment-16648182
]
Sean Busbey commented on HBASE-21247:
-------------------------------------
bq. What about using the set of enum values to determine if we should try to
parse it as a class name? Instead of clsName != null && clsName.contains("."),
construct a Set<String> of the enum value name from Providers.values() and use
that to determine if we should try to parse it as a class name (without
changing the ordering of this method).
The existing "do a classname lookup if none of the enums match" already does
this.
bq. Can you point out where the second place is ? There is only one call to
Class.forName in WALFactory after the patch.
I posted it already in a comment. (Search for "This code here in
WALFactory.java" in prior comments)
> Custom WAL Provider cannot be specified by configuration whose value is
> outside the enums in Providers
> ------------------------------------------------------------------------------------------------------
>
> Key: HBASE-21247
> URL: https://issues.apache.org/jira/browse/HBASE-21247
> Project: HBase
> Issue Type: Bug
> Reporter: Ted Yu
> Assignee: Ted Yu
> Priority: Major
> Fix For: 3.0.0
>
> Attachments: 21247.v1.txt, 21247.v2.txt, 21247.v3.txt, 21247.v4.tst,
> 21247.v4.txt, 21247.v5.txt, 21247.v6.txt, 21247.v7.txt
>
>
> Currently all the WAL Providers acceptable to hbase are specified in
> Providers enum of WALFactory.
> This restricts the ability for additional WAL Providers to be supplied - by
> class name.
> This issue fixes the bug by allowing the specification of new WAL Provider
> class name using the config "hbase.wal.provider".
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)