5.0.1整合出现空指针异常问题
- Langage dominant
- Java
- Étoiles
- 4.2k
- Forks
- 1.4k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
## 5.0.1空指针异常问题
```java
java.lang.NullPointerException: null
at com.codingapi.txlcn.tc.core.checking.DefaultDTXExceptionHandler.handleNotifyGroupBusinessException(DefaultDTXExceptionHandler.java:97)
at com.codingapi.txlcn.tc.core.template.TransactionControlTemplate.notifyGroup(TransactionControlTemplate.java:159)
at com.codingapi.txlcn.tc.core.transaction.lcn.control.LcnStartingTransaction.postBusinessCode(LcnStartingTransaction.java:65)
at com.codingapi.txlcn.tc.core.DTXServiceExecutor.transactionRunning(DTXServiceExecutor.java:109)
at com.codingapi.txlcn.tc.aspect.weave.DTXLogicWeaver.runTransaction(DTXLogicWeaver.java:95)
at com.codingapi.txlcn.tc.aspect.TransactionAspect.runWithLcnTransaction(TransactionAspect.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
```
该异常时不时出现,debug进去发现是由于发生了死锁问题。(不是必现)
- org.hibernate.exception.LockTimeoutException: could not execute statement
- java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
> 麻烦作者查阅后协助排查一下,看是什么问题导致的,如果需要什么信息请回复本issue。
### TM组件不兼容
在尝试不用的TM组件发现,不同版本的TC无法注册到不同的TM上,比如5.0.1版本的TC无法注册到5.0.2版本的TM上。
请问是否有平滑升级TC/TM 组件的方案?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par DefaultDTXExceptionHandler.java:97 et suivez le chemin de notifyGroup via TransactionControlTemplate.java:159 et LcnStartingTransaction.java:65. Reproduisez la LockTimeoutException/le deadlock intermittent et comparez le comportement de compatibilité de TC/TM entre 5.0.1 et 5.0.2. Le travail est terminé lorsque l’échec de pointeur nul et le comportement de compatibilité ou de mise à niveau sont expliqués et que l’issue dispose d’une résolution vérifiée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, spring, sql
- Domaine
- databases, distributed-systems
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100