๐ฅ Redis ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ธํ ์๋น์ค ์ฅ์ ๋์๊ธฐ(Redis EXECABORT Transaction discarded because of previous errors)
๐งจ ๋ฌธ์ ์ํฉ: ๊ฑฐ๋์ ๋ง์ผ ๋ฐ์ดํฐ ๋ชจ๋์์ ์ฅ์ ๋ฐ์
์ง๋ ์ฃผ๋ง, ๊ฑฐ๋์ ๋ง์ผ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ชจ๋์ ์ฅ์ ๋ก ์ธํด ์ ์ฒด ์๋น์ค๊ฐ ์ค๋จ๋์์ต๋๋ค.
๋ฌธ์ ์ ๋ชจ๋์ Kubernetes ํ๊ฒฝ์์ ๋ฐฐํฌ๋ pod์์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์๋ฌ ๋ก๊ทธ์ ํจ๊ป ๋ฌดํ ์ฌ๊ธฐ๋ ํ์์ด ๋ฐ์ํ๊ณ ์์์ต๋๋ค.
Uahandeled promise rejection occured!
[ErrorReply: EXECABORT Transaction discarded because of previous errors.]
๐ต๏ธ ์์ธ ๋ถ์: Redis ํธ๋์ญ์ EXECABORT
์๋ฌ ๋ฉ์์ง ์ค ํต์ฌ์ ๋ค์ ๋ถ๋ถ์ด์์ต๋๋ค:
EXECABORT Transaction discarded because of previous errors.
Redis์ EXECABORT๋ ๋ณดํต ํธ๋์ญ์
๋ด๋ถ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ exec์ด ์ทจ์๋์์ ๋ ๋ํ๋๋ ๋ฉ์์ง์
๋๋ค. ์ผ๋ฐ์ ์ธ ์์ธ์ ๋ค์ ์ธ ๊ฐ์ง ์ค ํ๋์
๋๋ค:
- ์๋ชป๋ ๋ช
๋ น ์คํ
- ํธ๋์ญ์ ๋ธ๋ก ๋ด์์ ์๋ชป๋ Redis ๋ช ๋ น์ด๊ฐ ์คํ๋จ
- WATCHํ ํค ๋ณ๊ฒฝ ์๋
- ํธ๋์ญ์ ๋์ค ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ ์ค์ธ key๋ฅผ ๋ณ๊ฒฝํจ
- Redis ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ
- ์ค์ ๋ ๋ฉ๋ชจ๋ฆฌ ํ๋๋ฅผ ์ด๊ณผํ์ฌ ๋ช ๋ น ์คํ์ด ์คํจํจ
์ด๋ฒ ์ฅ์ ์์๋ ์ต๊ทผ ๊ธฐ๋ฅ ๋ณ๊ฒฝ ๋ด์ญ์ด ์์๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๊ฐ๋ฅ์ฑ์ ๋ฌด๊ฒ๋ฅผ ๋์์ต๋๋ค.
๐ ๋ฉ๋ชจ๋ฆฌ ์ํ ํ์ธ
๋ค์ ๋ช ๋ น์ด๋ก Redis ์ธ์คํด์ค์ ๋ฉ๋ชจ๋ฆฌ ์ํฉ์ ํ์ธํ์ต๋๋ค:
redis-cli info | grep memory
๊ฒฐ๊ณผ์ ์ผ๋ก, Redis ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ๊ณ์ ๋๋ฌํ ์ํ์๊ณ , ์ต๊ทผ ๋ฐฐํฌ๋ ๋์ฉ๋ ๋ฒํฌ ๋ฉ์ผ ์ฒ๋ฆฌ ๋ก์ง์ด ์ฃผ์ ์์ธ์ผ๋ก ๋ณด์์ต๋๋ค.
ํด๋น ๋ก์ง์ Redis๋ฅผ ํ์ฒ๋ผ ์ฌ์ฉํ๋ฉฐ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์์๊ณ , ์์๋ณด๋ค ๋น ๋ฅด๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ์ต๋๋ค.
๐งฏ ๋ฌธ์ ํด๊ฒฐ ๊ณผ์
โ ์์ ์กฐ์น
- ์ฒ๋ฆฌ๋์ง ๋ชปํ job๋ค์ ๋ฐฑ์
- ์ฌ์ ์ก์ ์ํ ๋ฐ์ดํฐ ๋ฐฑ์ ์ํ
- ์ฅ์ ์ ๋ฐ Redis key ์ ๊ฑฐ
- ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๋ก ์ธํด ๋์ ๋ ๋๊ธฐ์ด key ์ญ์
๐ก ์๊ตฌ ์กฐ์น
- AWS Redis ์ธ์คํด์ค ์ฉ๋ ์ฆ์ค
- ๊ธฐ์กด 2GB โ 4GB๋ก ํ์ฅ
- ๋จ์ ๋ฒํฌ ๋ฉ์ผ ์ ์ ์ฒ๋ฆฌ
- ์ฅ์ ๋ก ๋์ ๋ ๋ฐ์ดํฐ ์์ ์ ์ผ๋ก ์๋น
๐ ๊ฐ์ ๊ณํ
์ด๋ฒ ์ฅ์ ๋ฅผ ํตํด ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ๋ฐฉํฅ์ ๋์ถํ์ต๋๋ค:
-
๐ ์๋ ์ค์ผ์ผ ์์ ๋ก์ง ๋์
Redis ์ฌ์ฉ๋์ด ์ผ์ ๊ธฐ์ค ์ด์์ผ ๊ฒฝ์ฐ, ์๋ ์๋ฆผ ๋๋ ์ค์ผ์ผ๋ง ์ฒ๋ฆฌ
-
๐ฆ Redis ์ธ์คํด์ค ๋ถ๋ฆฌ
์๋ฆผ ์๋น์ค ์ ์ฉ Redis ์ธ์คํด์ค๋ฅผ ๋ณ๋ ์ด์ํ์ฌ ๋ฉ์ธ ์๋น์ค์ ๊ฒฉ๋ฆฌ
โ๏ธ ๋ง์น๋ฉฐ
์ฃผ๋ง์ ๋ฐ์ํ ๊ฐ์์ค๋ฌ์ด ์ฅ์ ์์ง๋ง, ๋น ๋ฅธ ๋ก๊ทธ ํ์ธ๊ณผ ์์ธ ์ถ์ , ๊ตฌ์กฐ์ ๊ฐ์ ๊น์ง ์ด์ด์ง๋ฉด์ ์๋ฏธ ์๋ ๊ฒฝํ์ด ๋์์ต๋๋ค.
๋ฌด์๋ณด๋ค, **ํธ๋์ญ์ ์คํจ ๋ฉ์์ง(EXECABORT)**๋ Redis ์ด์ ์ ์์ฃผ ์ ํ ์ ์๋ ์ด์์ด๋ฏ๋ก, ๋ฏธ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์ํ ๋ชจ๋ํฐ๋ง๊ณผ ์ฉ๋ ๊ณํ์ ์ธ์๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.