You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@kyuubi.apache.org by GitBox <gi...@apache.org> on 2022/04/28 10:30:03 UTC

[GitHub] [incubator-kyuubi] wForget opened a new issue, #2503: [Bug] The scheduled task for session TimeoutChecker in SessionManager may stop.

wForget opened a new issue, #2503:
URL: https://github.com/apache/incubator-kyuubi/issues/2503

   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
   
   
   ### Search before asking
   
   - [X] I have searched in the [issues](https://github.com/apache/incubator-kyuubi/issues?q=is%3Aissue) and found no similar issues.
   
   
   ### Describe the bug
   
   There are some timeout sessions in kyuubi server that are not cleaned up.
   I found that the workQueue of `SessionManager.timeoutChecker` is empty, but I didn't find the specific exception information that caused this.
   
   > org$apache$kyuubi$session$SessionManager$$shutdown=@Boolean[false],
   
   > workQueue=@DelayedWorkQueue[isEmpty=true;size=0],
   
   `KyuubiSessionManager` details:
   
   ```
   method=org.apache.kyuubi.session.SessionManager.getSessionList location=AtEnter
   ts=2022-04-28 15:37:15; [cost=0.103374ms] result=@KyuubiSessionManager[
       operationManager=@KyuubiOperationManager[
           queryTimeout=@None$[None],
           handleToOperation=@HashMap[isEmpty=false;size=6],
           serviceName=@String[KyuubiOperationManager],
           conf=@KyuubiConf[KyuubiConf(true)],
           state=@Val[STARTED],
           startTime=@Long[1645090187643],
           org$apache$kyuubi$Logging$$log_=@Log4jLoggerAdapter[org.slf4j.impl.Log4jLoggerAdapter(org.apache.kyuubi.operation.KyuubiOperationManager)],
       ],
       credentialsManager=@HadoopCredentialsManager[
           userCredentialsRefMap=@ConcurrentHashMap[isEmpty=false;size=27],
           sessionCredentialsEpochMap=@ConcurrentHashMap[isEmpty=false;size=24],
           org$apache$kyuubi$credentials$HadoopCredentialsManager$$providers=@Map1[Map(hadoopfs -> org.apache.kyuubi.credentials.HadoopFsDelegationTokenProvider@7fc383da)],
           org$apache$kyuubi$credentials$HadoopCredentialsManager$$renewalInterval=@Long[3600000],
           org$apache$kyuubi$credentials$HadoopCredentialsManager$$renewalRetryWait=@Long[60000],
           hadoopConf=@Configuration[Configuration: core-default.xml, core-site.xml, mapred-default.xml, mapred-site.xml, yarn-default.xml, yarn-site.xml, hdfs-default.xml, hdfs-rbf-default.xml, hdfs-site.xml, hdfs-rbf-site.xml],
           renewalExecutor=@Some[Some(java.util.concurrent.ScheduledThreadPoolExecutor@5ef4bc7c[Running, pool size = 1, active threads = 0, queued tasks = 27, completed tasks = 30263])],
           serviceName=@String[HadoopCredentialsManager],
           conf=@KyuubiConf[KyuubiConf(true)],
           state=@Val[STARTED],
           startTime=@Long[1645090187642],
           org$apache$kyuubi$Logging$$log_=@Log4jLoggerAdapter[org.slf4j.impl.Log4jLoggerAdapter(org.apache.kyuubi.credentials.HadoopCredentialsManager)],
       ],
       _confRestrictMatchList=@EmptySet$[
           MODULE$=@EmptySet$[Set()],
           serialVersionUID=@Long[-2443710944435909512],
       ],
       _confIgnoreMatchList=@EmptySet$[
           MODULE$=@EmptySet$[Set()],
           serialVersionUID=@Long[-2443710944435909512],
       ],
       name=@String[KyuubiSessionManager],
       org$apache$kyuubi$session$SessionManager$$shutdown=@Boolean[false],
       _operationLogRoot=@Some[
           serialVersionUID=@Long[1234815782226070388],
           value=@String[/data1/kyuubi_new/logs/work/server_operation_logs],
           serialVersionUID=@Long[-114498752079829388],
       ],
       _latestLogoutTime=@Long[1651111923004],
       org$apache$kyuubi$session$SessionManager$$handleToSession=@ConcurrentHashMap[
           @SessionHandle[SessionHandle [3e230aef-3325-4b89-8b9f-2bab1cda2654]]:@KyuubiSessionImpl[org.apache.kyuubi.session.KyuubiSessionImpl@25582ddf],
           @SessionHandle[SessionHandle [34b54e59-61ae-4014-9cc8-75dda06f186c]]:@KyuubiSessionImpl[org.apache.kyuubi.session.KyuubiSessionImpl@5f3bfe0d],
           @SessionHandle[SessionHandle [9bff85a7-cbb3-4b16-966c-c12c5aae6b1f]]:@KyuubiSessionImpl[org.apache.kyuubi.session.KyuubiSessionImpl@3cc94e62],
       ],
       timeoutChecker=@ScheduledThreadPoolExecutor[
           continueExistingPeriodicTasksAfterShutdown=@Boolean[false],
           executeExistingDelayedTasksAfterShutdown=@Boolean[true],
           removeOnCancel=@Boolean[true],
           sequencer=@AtomicLong[388641],
           ctl=@AtomicInteger[-536870911],
           COUNT_BITS=@Integer[29],
           CAPACITY=@Integer[536870911],
           RUNNING=@Integer[-536870912],
           SHUTDOWN=@Integer[0],
           STOP=@Integer[536870912],
           TIDYING=@Integer[1073741824],
           TERMINATED=@Integer[1610612736],
           workQueue=@DelayedWorkQueue[isEmpty=true;size=0],
           mainLock=@ReentrantLock[java.util.concurrent.locks.ReentrantLock@55b084c5[Unlocked]],
           workers=@HashSet[isEmpty=false;size=1],
           termination=@ConditionObject[java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@23fc7a4f],
           largestPoolSize=@Integer[1],
           completedTaskCount=@Long[0],
           threadFactory=@NamedThreadFactory[org.apache.kyuubi.util.NamedThreadFactory@5b1bb7a8],
           handler=@AbortPolicy[java.util.concurrent.ThreadPoolExecutor$AbortPolicy@50749371],
           keepAliveTime=@Long[0],
           allowCoreThreadTimeOut=@Boolean[false],
           corePoolSize=@Integer[1],
           maximumPoolSize=@Integer[2147483647],
           defaultHandler=@AbortPolicy[java.util.concurrent.ThreadPoolExecutor$AbortPolicy@50749371],
           shutdownPerm=@RuntimePermission[("java.lang.RuntimePermission" "modifyThread")],
           ONLY_ONE=@Boolean[true],
           $assertionsDisabled=@Boolean[true],
       ],
       execPool=@ThreadPoolExecutor[
           ctl=@AtomicInteger[-536870912],
           COUNT_BITS=@Integer[29],
           CAPACITY=@Integer[536870911],
           RUNNING=@Integer[-536870912],
           SHUTDOWN=@Integer[0],
           STOP=@Integer[536870912],
           TIDYING=@Integer[1073741824],
           TERMINATED=@Integer[1610612736],
           workQueue=@LinkedBlockingQueue[isEmpty=true;size=0],
           mainLock=@ReentrantLock[java.util.concurrent.locks.ReentrantLock@1b3a316[Unlocked]],
           workers=@HashSet[isEmpty=true;size=0],
           termination=@ConditionObject[java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@415d8f6d],
           largestPoolSize=@Integer[100],
           completedTaskCount=@Long[7802164],
           threadFactory=@NamedThreadFactory[org.apache.kyuubi.util.NamedThreadFactory@477dc619],
           handler=@AbortPolicy[java.util.concurrent.ThreadPoolExecutor$AbortPolicy@50749371],
           keepAliveTime=@Long[60000000000],
           allowCoreThreadTimeOut=@Boolean[true],
           corePoolSize=@Integer[100],
           maximumPoolSize=@Integer[100],
           defaultHandler=@AbortPolicy[java.util.concurrent.ThreadPoolExecutor$AbortPolicy@50749371],
           shutdownPerm=@RuntimePermission[("java.lang.RuntimePermission" "modifyThread")],
           ONLY_ONE=@Boolean[true],
           $assertionsDisabled=@Boolean[true],
       ],
       _confRestrictList=@EmptySet$[
           MODULE$=@EmptySet$[Set()],
           serialVersionUID=@Long[-2443710944435909512],
       ],
       _confIgnoreList=@EmptySet$[
           MODULE$=@EmptySet$[Set()],
           serialVersionUID=@Long[-2443710944435909512],
       ],
       bitmap$0=@Byte[3],
       serviceList=@ArrayBuffer[
           serialVersionUID=@Long[1529165946227428979],
           initialSize=@Integer[16],
           array=@Object[][isEmpty=false;size=16],
           size0=@Integer[2],
       ],
       serviceName=@String[KyuubiSessionManager],
       conf=@KyuubiConf[
           reader=@ConfigProvider[org.apache.kyuubi.config.ConfigProvider@2bbe13c9],
           loadSysDefault=@Boolean[true],
           settings=@ConcurrentHashMap[isEmpty=false;size=20],
           serverOnlyConfEntries=@HashTrieSet[Set(ConfigEntry(key=kyuubi.authentication, defaultValue=NONE, doc=A comma separated list of client authentication types.<ul> <li>NOSASL: raw transport.</li> <li>NONE: no authentication check.</li> <li>KERBEROS: Kerberos/GSSAPI authentication.</li> <li>CUSTOM: User-defined authentication.</li> <li>LDAP: Lightweight Directory Access Protocol authentication.</li></ul> Note that: For KERBEROS, it is SASL/GSSAPI mechanism, and for NONE, CUSTOM and LDAP, they are all SASL/PLAIN mechanism. If only NOSASL is specified, the authentication will be NOSASL. For SASL authentication, KERBEROS and PLAIN auth type are supported at the same time, and only the first specified PLAIN auth type is valid., version=1.0.0, type=seq), ConfigEntry(key=kyuubi.frontend.thrift.binary.bind.port, defaultValue=10009, doc=Port of the machine on which to run the thrift frontend service via binary protocol., version=1.4.0, type=int), ConfigEntry(key=kyuubi.frontend.rest.bi
 nd.port, defaultValue=10099, doc=Port of the machine on which to run the REST frontend service., version=1.4.0, type=int), ConfigEntry(key=kyuubi.frontend.mysql.bind.port, defaultValue=3309, doc=Port of the machine on which to run the MySQL frontend service., version=1.4.0, type=int), ConfigEntry(key=kyuubi.frontend.thrift.binary.bind.host, defaultValue=<undefined>, doc=Hostname or IP of the machine on which to run the thrift frontend service via binary protocol., version=1.4.0, type=string), ConfigEntry(key=kyuubi.frontend.bind.port, defaultValue=10009, doc=(deprecated) Port of the machine on which to run the thrift frontend service via binary protocol., version=1.0.0, type=int), ConfigEntry(key=kyuubi.kinit.interval, defaultValue=PT1H, doc=How often will Kyuubi server run `kinit -kt [keytab] [principal]` to renew the local Kerberos credentials cache, version=1.0.0, type=duration), ConfigEntry(key=kyuubi.frontend.mysql.bind.host, defaultValue=<undefined>, doc=Hostname or IP of the 
 machine on which to run the MySQL frontend service., version=1.4.0, type=string), ConfigEntry(key=kyuubi.frontend.rest.bind.host, defaultValue=<undefined>, doc=Hostname or IP of the machine on which to run the REST frontend service., version=1.4.0, type=string), ConfigEntry(key=kyuubi.frontend.bind.host, defaultValue=<undefined>, doc=(deprecated) Hostname or IP of the machine on which to run the thrift frontend service via binary protocol., version=1.0.0, type=string))],
           org$apache$kyuubi$Logging$$log_=null,
           bitmap$0=@Boolean[true],
       ],
       state=@Val[
           serialVersionUID=@Long[-3501153230598116017],
           i=@Integer[2],
           name=null,
           serialVersionUID=@Long[7091335633555234129],
           scala$Enumeration$$outerEnum=@ServiceState$[ServiceState],
           $outer=@ServiceState$[ServiceState],
       ],
       startTime=@Long[1645090187643],
       org$apache$kyuubi$Logging$$log_=@Log4jLoggerAdapter[
           serialVersionUID=@Long[6182834493563598289],
           logger=@Logger[org.apache.log4j.Logger@7a1b8bdc],
           FQCN=@String[org.slf4j.impl.Log4jLoggerAdapter],
           traceCapable=@Boolean[true],
           serialVersionUID=@Long[9044267456635152283],
           serialVersionUID=@Long[7535258609338176893],
           name=@String[org.apache.kyuubi.session.KyuubiSessionManager],
       ],
   ]
   ```
   
   
   ### Affects Version(s)
   
   1.4.0
   
   ### Kyuubi Server Log Output
   
   _No response_
   
   ### Kyuubi Engine Log Output
   
   _No response_
   
   ### Kyuubi Server Configurations
   
   _No response_
   
   ### Kyuubi Engine Configurations
   
   _No response_
   
   ### Additional context
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org


Re: [I] [Bug] The scheduled task for session TimeoutChecker in SessionManager may stop. [kyuubi]

Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 closed issue #2503: [Bug] The scheduled task for session TimeoutChecker in SessionManager may stop.
URL: https://github.com/apache/kyuubi/issues/2503


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org