Aurora MySQL 운영 중 특정 1 건의 Row 데이터를 업데이트했을 경우 Lock으로 인해 데이터가 업데이트되지 않는 문제가 발생했습니다. 어떤 방법으로 XA 트랜잭션을 식별 및 처리하였는지 공유해보겠습니다. 운영 중인 환경은 Aurora 3 버전입니다. 문제 해결을 위해 가장 먼저 실행 중인 프로세스 리스트를 확인해보지만 문제가 될만한 프로세스는 확인되지 않았습니다. 좀 더 세부적인 트랜잭션 확인을 위해 information_schema.INNODB_TRX 테이블을 체크합니다. RUNNING 상태의 트랜잭션이 확인되었으며 1 Row에 대해 Lock이 걸려있는 것을 확인할 수 있었습니다. 다만 tx_mysql_thread_id 값은 0으로 해당 트랜잭션을 소유하고 있는 스레드가 존재하지 않았습니다..
[MySQL] XA 트랜잭션으로 인해 Kill 되지 않는 트랜잭션 이슈
Aurora MySQL 운영 중 특정 1 건의 Row 데이터를 업데이트했을 경우 Lock으로 인해 데이터가 업데이트되지 않는 문제가 발생했습니다. 어떤 방법으로 XA 트랜잭션을 식별 및 처리하였는지 공유해보겠습니다. 운영 중인 환경은 Aurora 3 버전입니다. 문제 해결을 위해 가장 먼저 실행 중인 프로세스 리스트를 확인해보지만 문제가 될만한 프로세스는 확인되지 않았습니다. 좀 더 세부적인 트랜잭션 확인을 위해 information_schema.INNODB_TRX 테이블을 체크합니다. RUNNING 상태의 트랜잭션이 확인되었으며 1 Row에 대해 Lock이 걸려있는 것을 확인할 수 있었습니다. 다만 tx_mysql_thread_id 값은 0으로 해당 트랜잭션을 소유하고 있는 스레드가 존재하지 않았습니다..
2022.11.25