WeBankFinTech / DataSphereStudio

DataSphereStudio is a one stop data application development& management portal, covering scenarios including data exchange, desensitization/cleansing, analysis/mining, quality measurement, visualization, and task scheduling.
https://github.com/WeBankFinTech/DataSphereStudio-Doc
Apache License 2.0
3.06k stars 999 forks source link

[Bug] when i login with hadoop/hadoop #537

Open linqiwei opened 2 years ago

linqiwei commented 2 years ago

Search before asking

DSS Component

dss-apps/dss-apiservice

What happened + What you expected to happen

2022-03-08 17:15:50.010 [WARN ] [reactor-http-epoll-2 ] o.a.l.g.s.LDAPUserRestful (54) [warn] - wrong user name or password(用户名或密码错误)! javax.naming.ConfigurationException: java.naming.provider.url property does not contain a URL at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:78) ~[?:1.8.0_211] at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) ~[?:1.8.0_211] at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) ~[?:1.8.0_211] at javax.naming.InitialContext.init(InitialContext.java:244) ~[?:1.8.0_211] at javax.naming.ldap.InitialLdapContext.(InitialLdapContext.java:154) ~[?:1.8.0_211] at org.apache.linkis.common.utils.LDAPUtils$.login(LDAPUtils.scala:46) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.LDAPUserRestful$$anonfun$login$1.apply(LDAPUserRestful.scala:27) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.LDAPUserRestful$$anonfun$login$1.apply(LDAPUserRestful.scala:26) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:40) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.LDAPUserRestful.login(LDAPUserRestful.scala:29) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.UserPwdAbstractUserRestful.tryLogin(UserRestful.scala:264) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful.login(UserRestful.scala:133) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful$$anonfun$3.apply(UserRestful.scala:105) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful$$anonfun$3.apply(UserRestful.scala:105) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:53) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful.doUserRequest(UserRestful.scala:105) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply$mcV$sp(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:40) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$.doFilter(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter.doFilter(SecurityFilter.scala) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.springcloud.http.GatewayAuthorizationFilter.gatewayDeal(GatewayAuthorizationFilter.java:145) ~[linkis-spring-cloud-gateway-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.springcloud.http.GatewayAuthorizationFilter.lambda$filter$4(GatewayAuthorizationFilter.java:232) ~[linkis-spring-cloud-gateway-1.0.3.jar:1.0.3] at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:118) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:121) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onNext(FluxContextStart.java:96) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:287) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:330) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1755) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:152) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:252) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:366) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:367) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:489) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:96) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:214) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) [netty-transport-native-epoll-4.1.49.Final-linux-x86_64.jar:4.1.49.Final] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) [netty-transport-native-epoll-4.1.49.Final-linux-x86_64.jar:4.1.49.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [netty-transport-native-epoll-4.1.49.Final-linux-x86_64.jar:4.1.49.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]

Relevent platform

[DSS-1.0.1&Linkis-1.0.3 Compiled package (.tar.gz)

centos 7.9

Reproduction script

when i login with hadoop/hadoop。

Anything else

No response

Are you willing to submit a PR?

zhouhongyu888 commented 2 years ago

Search before asking

  • [x] I searched the issues and found no similar issues.

DSS Component

dss-apps/dss-apiservice

What happened + What you expected to happen

2022-03-08 17:15:50.010 [WARN ] [reactor-http-epoll-2 ] o.a.l.g.s.LDAPUserRestful (54) [warn] - wrong user name or password(用户名或密码错误)! javax.naming.ConfigurationException: java.naming.provider.url property does not contain a URL at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:78) ~[?:1.8.0_211] at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) ~[?:1.8.0_211] at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) ~[?:1.8.0_211] at javax.naming.InitialContext.init(InitialContext.java:244) ~[?:1.8.0_211] at javax.naming.ldap.InitialLdapContext.(InitialLdapContext.java:154) ~[?:1.8.0_211] at org.apache.linkis.common.utils.LDAPUtils$.login(LDAPUtils.scala:46) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.LDAPUserRestful$$anonfun$login$1.apply(LDAPUserRestful.scala:27) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.LDAPUserRestful$$anonfun$login$1.apply(LDAPUserRestful.scala:26) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:40) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.LDAPUserRestful.login(LDAPUserRestful.scala:29) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.UserPwdAbstractUserRestful.tryLogin(UserRestful.scala:264) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful.login(UserRestful.scala:133) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful$$anonfun$3.apply(UserRestful.scala:105) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful$$anonfun$3.apply(UserRestful.scala:105) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:53) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.AbstractUserRestful.doUserRequest(UserRestful.scala:105) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply$mcV$sp(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:40) ~[linkis-common-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter$.doFilter(SecurityFilter.scala:90) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.security.SecurityFilter.doFilter(SecurityFilter.scala) ~[linkis-gateway-core-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.springcloud.http.GatewayAuthorizationFilter.gatewayDeal(GatewayAuthorizationFilter.java:145) ~[linkis-spring-cloud-gateway-1.0.3.jar:1.0.3] at org.apache.linkis.gateway.springcloud.http.GatewayAuthorizationFilter.lambda$filter$4(GatewayAuthorizationFilter.java:232) ~[linkis-spring-cloud-gateway-1.0.3.jar:1.0.3] at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:118) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:121) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onNext(FluxContextStart.java:96) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:287) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:330) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1755) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:152) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:252) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136) [reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:366) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:367) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:489) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:96) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:214) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) [netty-transport-native-epoll-4.1.49.Final-linux-x86_64.jar:4.1.49.Final] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) [netty-transport-native-epoll-4.1.49.Final-linux-x86_64.jar:4.1.49.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [netty-transport-native-epoll-4.1.49.Final-linux-x86_64.jar:4.1.49.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]

Relevent platform

[DSS-1.0.1&Linkis-1.0.3 Compiled package (.tar.gz)

centos 7.9

Reproduction script

when i login with hadoop/hadoop。

Anything else

No response

Are you willing to submit a PR?

  • [x] Yes I am willing to submit a PR!

Yes ,I have the same question!

casionone commented 2 years ago

The static password will randomly generate a password string during deployment and store it in {InstallPath}/conf/linkis-mg-gateway.properties (linkis version >=1.0.3 version )