You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sean Busbey (JIRA)" <ji...@apache.org> on 2018/11/05 16:02:00 UTC

[jira] [Commented] (HBASE-21247) Custom WAL Provider cannot be specified by configuration whose value is outside the enums in Providers

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

Sean Busbey commented on HBASE-21247:
-------------------------------------

+1

nit:
{code}
129	  public Class<? extends WALProvider> getProviderClass(String key,
130	      Class<? extends WALProvider> defaultVal) {
131	    if (conf.get(key) == null) {
132	      return conf.getClass(key, defaultVal, WALProvider.class);
133	    }
{code}

I think this extra call to {{getClass}} instead of just returning {{defaultVal}} (since we already know {{key}} doesn't map to a value) is confusing, but I suppose this is _technically_ more correct in case we have some kind of special {{Configuration}} implementation that has its own opinion about how fallback to the passed default class works.

> 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.v10.txt, 21247.v11.txt, 21247.v2.txt, 21247.v3.txt, 21247.v4.tst, 21247.v4.txt, 21247.v5.txt, 21247.v6.txt, 21247.v7.txt, 21247.v8.txt, 21247.v9.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)