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