본문 바로가기
WAS/JBOSS_WILDFLY

[ERROR] ISPN000136: Error executing command / ISPN000299: Unable to acquire lock after 15 seconds for key

by coldplayer83 2025. 7. 9.
728x90
반응형

https://access.redhat.com/solutions/4918281

 

Infinispan error ISPN000136 in combination with WFLYEJB0034 - Red Hat Customer Portal

server.log (here EAP 7.2) in a clustered environment show the following error. This is not reproduced in case of a not clustered environment! ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (async-thread--p21-t1) ISPN000136: Error exe

access.redhat.com

 

https://access.redhat.com/solutions/7051025

 

Facing ISPN000299/ISPN000136 in JBoss EAP 7 - Red Hat Customer Portal

Getting below exception between the nodes in the jboss cluster ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (async-thread--p24-t18) ISPN000136: Error executing command GetKeyValueCommand, writing keys []: org.infinispan.util.concur

access.redhat.com

 

https://s-core.co.kr/post_middleware/wildfly-session-cluster-%EC%9D%B4%EC%8A%88%EC%82%AC%ED%95%AD-%EB%B0%8F-%EC%A1%B0%EC%B9%98%EB%B0%A9%EB%B2%95/

 

에스코어

에스코어는 삼성그룹 인하우스 IT 경영 컨설팅 & 소프트웨어 기술 서비스 제공 전문 기업입니다. 디지털 혁신을 위한 차별화된 프로페셔널 매니지먼트 컨설팅과 소프트웨어 기술 서비스 오퍼링

s-core.co.kr

 

[에러]

클러스터 환경의 jboss 서버 로그에 다음과 같은 에러 발생(클러스터 환경이 아닌 곳에서는 발생하지 않음!)

여러 요청이 동일한 세션 ID를 참조하는 환경을 사용하는데, 이로 인해 성능 문제가 발생하고 로그 파일에 오류 메시지가 나타남

 

세션 병렬 처리 불가한 문제

Wildfly/JBoss는 기본적으로 동일 세션에 대한 병렬처리가 되지 않도록 설정되어 있음
즉, 같은 웹 브라우저에서 1개의 롱 트랜잭션이 수행 될 경우 해당 트랜잭션이 끝나기 전까지는 동일 웹 브라우저의 호출은 지연 및 에러가 발생
다른 WAS(Weblogic, Jeus 및 Tomcat) 에서는 발생하지 않는 현상으로 Wildfly/Jboss 구성 간 반드시 고려해야 되는 사항

ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (async-thread--p21-t1) ISPN000136: Error executing command GetKeyValueCommand, writing keys []: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 15 seconds for key InfinispanBeanKey(UUIDSessionID [634883dc-e8a3-452e-ac15-d9a4ad6856e9]) and requestor GlobalTx:t460:7. Lock is held by GlobalTx:t460:6
    ...
ERROR [org.jboss.as.ejb3.invocation] (default task-1) WFLYEJB0034: EJB Invocation failed on component SimpleStatefulBean for method public abstract void org.jboss.wfink.ejb30.sfsb.SimpleStatefulRemote.noOpWithDelay(long): javax.ejb.EJBException: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 15 seconds for key InfinispanBeanKey(UUIDSessionID [634883dc-e8a3-452e-ac15-d9a4ad6856e9]) and requestor GlobalTx:t460:7. Lock is held by GlobalTx:t460:6
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:266)
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:388)
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:158)
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
    at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
    at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:81)
    at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:89)
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
    at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
    ...
Caused by: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 15 seconds for key InfinispanBeanKey(UUIDSessionID [634883dc-e8a3-452e-ac15-d9a4ad6856e9]) and requestor GlobalTx:t460:7. Lock is held by GlobalTx:t460:6
    ...
Caused by: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 15 seconds for key InfinispanBeanKey(UUIDSessionID [634883dc-e8a3-452e-ac15-d9a4ad6856e9]) and requestor GlobalTx:t460:7. Lock is held by GlobalTx:t460:6
    ...
    Suppressed: org.infinispan.util.logging.TraceException
        at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.get(SimpleAsyncInvocationStage.java:41)
        at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:250)
        at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:479)
        at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:529)
        at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:348)
        at org.infinispan.cache.impl.EncoderCache.get(EncoderCache.java:659)
        at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:348)
        at org.wildfly.clustering.ejb.infinispan.bean.InfinispanBeanFactory.findValue(InfinispanBeanFactory.java:92)
        at org.wildfly.clustering.ejb.infinispan.bean.InfinispanBeanFactory.findValue(InfinispanBeanFactory.java:52)
        at org.wildfly.clustering.ejb.infinispan.InfinispanBeanManager.findBean(InfinispanBeanManager.java:302)
        at org.jboss.as.ejb3.cache.distributable.DistributableCache.get(DistributableCache.java:120)
        at org.jboss.as.ejb3.component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:52)
        ...

 

[원인]

클라이언트 애플리케이션의 설계와 관련됨

클라이언트 애플리케이션에서는 동시 스레드에서 동일한 SFSB 인스턴스를 호출하려고 하는데 이는 허용되지 않음

EJB 사양에 따르면 StatefulSessionBean 계약은 SFSB 메서드에 대한 동시 액세스를 허용하지 않음

이로 인해 호출이 잠기고, 동시 호출은 시간 초과될 때까지 잠금을 기다리기 때문에 발생

 

[해결]

https://access.redhat.com/solutions/3408381

 

How to configure and tune the session replication for EAP - Red Hat Customer Portal

Is it possible to tune the session replication for a better performance What are the different valid options for the infinispan configuration for web session replication We use an environment where multiple requests reference the same sessionID, this cause

access.redhat.com

 

standalone-ha.xml 파일에서 아래 내용 변경

붉은색으로 표시한 내용과 같이 변경

 

 

728x90
반응형

'WAS > JBOSS_WILDFLY' 카테고리의 다른 글

18. Reverse Proxy  (0) 2025.08.06
17. DataSource DB Password 암호화(JBoss 8)  (0) 2025.08.05
16. JBoss 점검 (cli 방식 -8 버전 기준)  (4) 2025.07.07
15. postgreSQL 데이터소스 설정 (cli 방식)  (3) 2025.07.07
14. 클러스터링  (0) 2025.07.03