아래와 같은 테이블 tbl_entry가 있을 때 id status assign 1 100 F 2 100 F 3 100 F 4 200 F 5 200 F 요청이 들어오면 assign = F인 id 오름차순 첫번째 레코드를 가져와서 assign을 T로 바꾸고 해당 레코드의 정보를 화면에 표시한다. 가져오는 SQL SELECT * FROM tbl_entry WHERE status = ? AND assign = F OFFSET 0 LIMIT 1 그런데 동시에 3명의 유저가 같은 동작을 실행하면 모두가 id=1인 레코드를 가져버린다. 이걸 방지하기 위해서는 "FOR UPDATE"를 쓰면 되는데 이걸 쓰면 해당 레코드에 락이 걸려서 트랜잭션이 끝날 때까지 기다린다. 해당 레코드에 락을 거는 SQL SELECT * F..
문제 여러개로 나뉘어진 로그파일에서 같은 requestId인 것들끼리 파일로 만들고 있음. 작업하던 중 로그파일의 순서가 뒤엉켜서 에러가 발생. 아래와 같은 파일이 있을 때 myapp_application.2023-07-19.0.log myapp_application.2023-07-19.1.log myapp_application.2023-07-19.2.log myapp_application.2023-07-19.3.log myapp_application.2023-07-19.9.log myapp_application.2023-07-19.10.log myapp_application.2023-07-19.11.log 파이썬에서 listdir로 읽어들일 때는 아래의 순서로 읽어들이는 것을 발견함. myapp_app..
발생문제 redis cluster를 docker로 기동하고 있는데, spring boot app을 docker로 기동해야하는 필요가 생김. redis cluster는 localhost로 연결하고 있었는데, spring boot app이 docker가 되면서 redis cluster의 컨테이너명("redis-cluster")으로 변경함. 로그를 보면 redis에 연결에 성공하는 로그도 보이나, 연결 실패도 발생함. 연결 성공 로그 {"level":"DEBUG","message":"Connecting to Redis at redis-cluster:6379: Success","stackTrace":""} 연결 실패 로그 {"level":"ERROR", "message":"Application run faile..
- Total
- Today
- Yesterday
- reverse integer
- 로그파일인덱스
- logback #logstash #LoggingEventCompositeJsonEncoder #로그JSON
- spring #redis #redis-cluster
- palindrome number
- PostgreSQL #sequnceName
- QR코드읽기 #ReadQRCode
- excel to markdown
- lombok #maven build #sym
- AWS #X-Ray
- Postgresql #MultiTruncate
- add two numbers
- aws #aws region #aws credential #aws region provider #aws credential provier
- multipleIntegrationFlow
- cannotResolveSymbol
- json
- PostgreSQL #FOR UPDATE #SKIP LOCKED
- Maven LF #메이븐 개행문자
- springintegration #파일감시 #디렉토리감시 #파일완료검사
- spring-integration
- 로그테스트 #콘솔로그테스트 #System.out
- mybatis @insert값 @update값
- SnakeYAML
- opencv로qr코드인식
- Two Sum
- Python #Powertools
- yaml
- leetcode
- excel table
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |