티스토리 뷰
반응형
PostgreSQL용 JDBC 드라이버를 이용해서 CockroachDB에 Batch Insert/Update (Bulk)하는 경우에
아래와 같은 에러가 종종 발생할 수 있습니다.
org.postgresql.util.PSQLException: ERROR: restart transaction:
TransactionRetryWithProtoRefreshError:
TransactionAbortedError(ABORT_REASON_TIMESTAMP_CACHE_REJECTED_POSSIBLE_REPLAY):
CockroachDB Document 중 Transaction부분에 위 에러를 대비해서 에러 발생시 재시도를 수행하는 부분을 넣어 둘 것을 권고하
고 있습니다.
저는 Batch Insert/Update 즉 excuteBatch()후 commit() 수행시 위 에러가 발생하면,
위에서 수행되어야 하는 데이터를 다시 Batch Insert/Update 로직을 3번 수행되도록 하였습니다.
테스트 결과 간혹 위 에러가 발생하는데, 1번 재시도하면 모두 정상적으로 수행되었습니다.
참고로 1번 재시도 마다 Sleep를 5초로 설정했습니다.
Oracle / MongoDB에서는 위와 같은 경우를 겪어보지 못해서 오늘 하루종일 삽질을 했습니다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 카카오 에드
- 빈센트 반 고흐
- 오미크론
- weka
- node.js
- 증권정보포털
- Life Chair
- 유가바이트디비
- Pixel Pals
- 르세라핌
- JMW 헤어드라이기기
- 화분벌레
- 홈 오피스
- VARIDESK
- 톡토기
- 로니카 BCS
- 별이 빚나는 밤
- 남설 팔찌
- 루미큐브 종류
- 브리다 정수기
- 코라나 19
- 고체 향수
- 배당급
- 파나소닉 비데 DL-EH10KWS
- 매직 트랙패드2
- yugabyteDB
- GKRS
- 솔리드 쿨론
- 별잉 빛나는 밤
- Sybase IQ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함