2024/05 3

Auto increment max 때문에 주말에 6시간 일했다 - 2

해결책은 간단했다. D 테이블의 id가 max에 도달해서 C 모듈이 Queue Table에 있는 데이터를 읽어서 D 테이블에 업데이트를 못하는 것이니깐1. C 모듈 잠깐 끄고2. pk가 unsigned int 인 것을 unsigned bigint로 바뀐 E테이블을 새로 만들고3. D테이블을 E테이블로 카피하고4. 그다음에 D테이블과 E테이블의 이름을 바꿔치기하면 해결되는 것이었다.  약간 걱정이 되는 부분은 D테이블에 데이터가 얼마나 쌓였고 D테이블에 있는 데이터를 E테이블에 카피하는 데 걸리는 시간을 가늠할 수 없다는 것이었다. (최대 42억개니깐..) 그래도 git의 maintainer 권한이 있었기 때문에 작업 자체는 어떻게든 다 할 수 있었다.production DB에 접근할 수 없어 쿼리를 직접..

개발 이슈 2024.05.25

Auto increment max 때문에 주말에 6시간 일했다 - 1

사건은 주말 저녁 8시 30분에 발생했다. 내가 입사때부터 쭉 담당하고 있는 서비스에 이상이 발생했다는 연락을 협력사로부터 받았다. 서비스 자체가 동작하지 않는 것은 아니었으나, 정보를 표기하는 부분에 있어 특정 데이터가 갱신되고 있지 않다는 것이었다. 서비스의 일부 모듈에 문제고 특정 정보의 갱신이 되지 않는 다는 것은 협력사로부터 연락받기 3일전부터 인지를 하고 있었고 서비스의 아주 사소한 부분이라 바로 해결하지 않았다.  담당하고 있는 서비스에 버그가 발생하면 슬랙으로 알람을 받도록 코드를 짜뒀었고, 에러 메세지는 Failed to read auto-increment value from storage engine 였다. 대충 구글링 하고 에러가 발생한 모듈을 보니 딱봐도 auto increment ..

개발 이슈 2024.05.19

ERC4337 - Bundler 사용하기 (삽질중)

ERC 4337 에 대한 개념과 설명은 글의 마지막에 첨부된 사이트이 아주 친절하게 잘 설명해주고 있기에 따로 정리를 하지 않았다. (나는 2023 11월에 클레이튼 devmeet에서 발표된 영상을 가장 먼저 접해서 개념을 파악하고 그 이후에 다른 블로그나 공식문서를 보면서 감을 잡았다.)Bundler를 어떻게 사용하는지 궁금했고, 이 Bundler 를 사용하는 과정에서 발생한 삽질을 기록하기 위해 글을 작성하기로 했다.github 는 https://github.com/eth-infinitism/bundler 다.README.md 에서 설명하는 그대로 프로젝트를 clone 받고 preprocess 로 필요한거 설치(?) 해주었다.yarn && yarn preprocess그 다음은yarn hardhat-d..

Blockchain 2024.05.12