You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kylin.apache.org by "Temple Zhou (JIRA)" <ji...@apache.org> on 2018/07/30 10:22:00 UTC

[jira] [Created] (KYLIN-3474) get malformed token with Cluster Mode(multi-query)

Temple Zhou created KYLIN-3474:
----------------------------------

             Summary: get malformed token with Cluster Mode(multi-query)
                 Key: KYLIN-3474
                 URL: https://issues.apache.org/jira/browse/KYLIN-3474
             Project: Kylin
          Issue Type: Bug
          Components: Query Engine, Security
    Affects Versions: v2.4.0
            Reporter: Temple Zhou


I found that when I use Tableau 10.5 with Kylin 2.4.0(multi-query) , the Tableau Server will get the malformed token error when do query via restful API.

However, when I use Tableau 10.5 with Kylin 2.4.0(single query instance), the error will be gone.

Now, I just annotate the following lines(org.apache.kylin.rest.security.KylinAuthenticationProvider 84-87) and the Tableau 10.5 can run regularly with Kylin 2.4.0(multi-query).

{code:java}
 @Override
    public Authentication authenticate(Authentication authentication) throws AuthenticationException {

        byte[] hashKey = hf.hashString(authentication.getName() + authentication.getCredentials()).asBytes();
        String userKey = Arrays.toString(hashKey);

        // if (userService.isEvictCacheFlag()) {
        //     userCache.invalidateAll();
        //     userService.setEvictCacheFlag(false);
        // }
        Authentication authed = userCache.getIfPresent(userKey);

        if (null != authed) {
            SecurityContextHolder.getContext().setAuthentication(authed);
        } else {
{code}

I don't know if you tested the Kylin(multi-query) Cluster Mode with Tableau?



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

Re:[jira] [Created] (KYLIN-3474) get malformed token with Cluster Mode(multi-query)

Posted by 胡继续 <hu...@163.com>.

Hi Zhou


Did you configured Kylin's Cluster Mode correctly? it seems that the cache is not synced.


The key config is to config kylin.server.cluster-servers in kylin.properties.
This properties to tell kylin to sync cache with other servers in the cluster by broadcast.







At 2018-07-30 18:22:00, "Temple Zhou (JIRA)" <ji...@apache.org> wrote:
>Temple Zhou created KYLIN-3474:
>----------------------------------
>
>             Summary: get malformed token with Cluster Mode(multi-query)
>                 Key: KYLIN-3474
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3474
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine, Security
>    Affects Versions: v2.4.0
>            Reporter: Temple Zhou
>
>
>I found that when I use Tableau 10.5 with Kylin 2.4.0(multi-query) , the Tableau Server will get the malformed token error when do query via restful API.
>
>However, when I use Tableau 10.5 with Kylin 2.4.0(single query instance), the error will be gone.
>
>Now, I just annotate the following lines(org.apache.kylin.rest.security.KylinAuthenticationProvider 84-87) and the Tableau 10.5 can run regularly with Kylin 2.4.0(multi-query).
>
>{code:java}
> @Override
>    public Authentication authenticate(Authentication authentication) throws AuthenticationException {
>
>        byte[] hashKey = hf.hashString(authentication.getName() + authentication.getCredentials()).asBytes();
>        String userKey = Arrays.toString(hashKey);
>
>        // if (userService.isEvictCacheFlag()) {
>        //     userCache.invalidateAll();
>        //     userService.setEvictCacheFlag(false);
>        // }
>        Authentication authed = userCache.getIfPresent(userKey);
>
>        if (null != authed) {
>            SecurityContextHolder.getContext().setAuthentication(authed);
>        } else {
>{code}
>
>I don't know if you tested the Kylin(multi-query) Cluster Mode with Tableau?
>
>
>
>--
>This message was sent by Atlassian JIRA
>(v7.6.3#76005)