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)" <[email protected]> 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)
