들어가며이번 글은 메모리 관련 이슈의 정의와 해결 과정을 공유하여, 유사한 문제를 겪는 개발자분들께 도움이 되고자 작성했습니다. 또한, GC 동작 원리를 심도 있게 탐구함으로써 이해도를 높이고, 문제 해결 과정에서 발생했던 몇 가지 오해를 바로잡아 추후 유사한 문제를 예방하는 것을 목표로 합니다. * 본 글은 Java8 버젼 JVM의 CMSGC에 대한 내용입니다.사건의 발단 - 성장하는 메모리APM을 모니터링 하던 중 이상현상을 보이는 지표를 발견했습니다. (((아 메모리 주식 살 걸) 라고 할때 살 걸) 라고 할 때 살 걸) 라고 할 때 살 걸 지속적인 성장을 보여주는 메모리를 발견했습니다.(왜 나 대신 니가 성장을) 배포하고 난 이후로 지속적인 우상향을 보여주고 있는 상황이여서 메모리 누수를 의심하게..
들어가며Base64 인코딩과 디코딩에 대한 이해 부족으로 인해 문제를 해결하는 과정에서 어려움을 겪었던 경험을 바탕으로 이 글을 작성하게 되었습니다. Base64에 대해 저와 비슷한 고민을 하신 분들, 혹은 개념은 알고 있지만 막연하게 이해하고 계신 분들에게 도움이 되고자 글을 작성했습니다. 이번 글에서는 Base64가 무엇인지, 왜 사용하는지, 어떤 특징이 있는지를 살펴보고, 그와 관련된 몇 가지 오해와 사실에 대해 이야기해 보겠습니다. Parameter 를 빼앗겼습니다.기프티콘 API 발송 작업 진행 중 기프티콘 쿠폰 코드가 화면에서 넘어오지 않는 현상이 발생했습니다. 개발자 도구로 Network를 확인 한 결과 클라이언트 에서는 정상적으로 전달 한 것으로 나오는 상황이였습니다. Payload : 전..
지난글...https://kyeum-d.tistory.com/35 [Transactional] 거래가 있었는데요.. 없었습니다거래내역의 실종입사하자마자 흥미로운 주제의 CS가 들어왔습니다. 몇달 동안 지속적으로 유입되던 문의였습니다. 내용은 "거래를 분명히 했고 잘 됐다고 떳는데요.." "거래내역에 제 거래가kyeum-d.tistory.com 지난 포스팅에서 @Transactional 이 붙어있음에도 DB Stored Procedure 의 Rollback 을 감지하지 못하고 이후의 프로세스를 처리하는 문제를 식별했습니다. 이번 포스팅에서는 Transactional 이 어떻게 동작하는지 이해하고 왜 이런 현상이 발생했는지 분석하는 시간을 가져보겠습니다. * 이번 포스팅은 TransactionManager..
거래내역의 실종입사하자마자 흥미로운 주제의 CS가 들어왔습니다. 몇달 동안 지속적으로 유입되던 문의였습니다. 내용은 "거래를 분명히 했고 잘 됐다고 떳는데요.." "거래내역에 제 거래가 없는데요?" 가장 먼저 확인했던 것은 메서드에 @Transactional 이 걸려있는가 였습니다. 문제 없이 걸려있던 점을 확인했고 그렇다면 어딘가 Exception 이 발생하여 Rollback 된 것으로 보였습니다. 그런데 말입니다. 쿠폰, 포인트는 사용 됐어요 @Transactional 이 적용된 메서드에서 거래내역은 저장이 안되고 거래내역 저장 후 일어나는 동작인 쿠폰 사용 처리와 포인트 사용 처리는 정상적으로 적용이 된 것이였습니다. 당연히 checked Exception 을 catch 로 잡은게 아닐까 생각했지..