자려구 누웠다가.. 계속되는 게시판 버그로 짜증이 나 있으실 분들을 생각하니 잠이 안와서
다시 키보드를 붙잡고 소스를 뒤졌답니다.
그리구.. 방금 수많은 버그들의 원흉을 잡았습니다.
아주 간단한 거였는데.. 원래 이 게시판의 소스가 파라독스와 액세스 디비를 통해서 작성된 소스라서요.
트랜잭션 관리에서 헛점이 있었네요.
IBX에서는 모든 쿼리를 사용하는 컴퍼넌트마다 각각의 트랜잭션 컴퍼넌트를 할당하고 각각 관리해줘야 하는데,
게시판 웹모듈로 들어오는 모든 액션에 걸어놓은 예외처리 루틴(제가 컴퍼넌트로 만들어서 쓰는 것..)에서
첫번째 트랜잭션만 롤백을 시키고 있더군요..
그런데 이 게시판의 처리 속도를 극대화시키기 위해서 한번 생성한 웹모듈은 다음 요청을 처리할 때
재사용하도록 해놓았으니 롤백이 안된 트랜잭션들이 그 다음번 요청부터는 예외를 일으키고 있었던 거였습니다.
새로운 기능을 추가하는데만 급급하다보니, 정작 ADO에서 인터베이스로 옮겨오는 중대한 작업엔
그리 신경을 쓰지 못하고 거의 코드를 치환시키는 정도로만 해치워서 문제가 발생한 거 같습니다.
불편을 겪으신 모든 분들께 진심으로 죄송하구요.
쩝.. 이제 대부분의 버그는 잡은 것으로 보이는데요.
지금 이후로도 발생하는 버그는.. 좀 짜증나시더라도 그냥 넘어가시지 마시고 제게 알려주시면
역시 최대한 빨리 해결하도록 하겠습니다.
그럼...
|