Cp-ansible: Kafka Connect ๋ชจ๋“ˆ ์ถœ๋ ฅ

์— ๋งŒ๋“  2020๋…„ 09์›” 15์ผ  ยท  12์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: confluentinc/cp-ansible

์ด๊ฒƒ์ด ๋งค์šฐ ํ›Œ๋ฅญํ•œ ๊ธฐ๋Šฅ์ด๊ณ  ์‚ถ์„ ํ›จ์”ฌ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ ๋‹ค๋Š” ์‚ฌ์‹ค ์™ธ์—๋„ ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์ถœ๋ ฅ์€ ์ข…์ข… ๋ณ„๋กœ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•œ ์ปค๋„ฅํ„ฐ์˜ JDBC ์•”ํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ปค๋„ฅํ„ฐ์˜ ํ˜•์‹์ด ์ ํ•ฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ n๊ฐœ์˜ ์ปค๋„ฅํ„ฐ๋ฅผ ๋ฐฐํฌํ•  ๋•Œ 400์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ์ด๊ฒƒ์ด ์ง€๊ธˆ๊นŒ์ง€์˜ ๋‚˜์˜ ์ธ์ƒ์ด๋‹ค. ์ฝ”๋“œ๋ฅผ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณผ ์‹œ๊ฐ„์ด ์—†์—ˆ์ง€๋งŒ, ์ด๊ฒƒ์ด Connector API ๋•Œ๋ฌธ์ธ์ง€, ์•„๋‹ˆ๋ฉด ๋ชจ๋“ˆ์—์„œ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

bug help wanted

๋ชจ๋“  12 ๋Œ“๊ธ€

@Fobhep ์งˆ๋ฌธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. 400 ์˜ค๋ฅ˜๋Š” ์–ด๋””์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? Connect๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ณ  ์ƒํƒœ ํ™•์ธ์ด ์‹คํ–‰๋œ ํ›„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

๊ทธ๋ ‡๋‹ค๋ฉด ์ƒํƒœ ํ™•์ธ์€ ๋‹จ์ˆœํžˆ Connect API์—์„œ ์ปค๋„ฅํ„ฐ ๋ชฉ๋ก์„ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 400์œผ๋กœ ๋๋‚˜๋ฉด Connect๊ฐ€ ์–ด๋–ค ์ด์œ ๋กœ ์‹œ์ž‘ํ•˜์ง€ ๋ชปํ–ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

400 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์œ„์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ ํ•ด์š”

kafka-connector ๋ฐฐํฌ ์ž‘์—…์„ ์‹คํ–‰ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  Ansible์ด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์š”์ฒญ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋˜๋Š” ์ž˜๋ชป๋œ ์š”์ฒญ

๋กœ๊ทธ๋ฅผ ํŒŒํ—ค์นœ ํ›„ ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ ์ปค๋„ฅํ„ฐ์˜ ์•”ํ˜ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์˜ˆ์™ธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

@Fobhep ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ•œ ์ปค๋„ฅํ„ฐ์™€ ๊ตฌ์„ฑ์ด ์ž˜๋ชป๋œ ์ปค๋„ฅํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์ง‘์—์„œ ์žฌํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ปค๋„ฅํ„ฐ๊ฐ€ ์‹คํŒจํ•˜๋ฉด API์—์„œ ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด ์ปค๋„ฅํ„ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ์‹คํŒจํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

@JumaX ํŠน์ • ๊ณ ๊ฐ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” JDBC ์ปค๋„ฅํ„ฐ๋งŒ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ์„œ์•ผ ๊นจ๋‹ฌ์€ ๋˜ ๋‹ค๋ฅธ ์‚ฌ์‹ค:

๊ฐ€๋” ๋‚˜๋Š”

"HTTP ์˜ค๋ฅ˜: 409 ์ถฉ๋Œ"์ด ํ‘œ์‹œ๋˜์ง€๋งŒ ๋ชจ๋“ˆ ์ž์ฒด๋Š” "๋ณ€๊ฒฝ๋จ: true"๋ผ๊ณ  ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ์žฌ์กฐ์ •์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ REST API๊ฐ€ POST ์‹œ 409๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ POST ์ž‘์—…์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ชจ๋“ˆ์ด ์—ฌ์ „ํžˆ ์‹คํŒจํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
์•„๋‹ˆ๋ฉด 409๋Š” POST๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์ง€๋งŒ ๋™์‹œ์— Rebalane์ด ์ง„ํ–‰ ์ค‘์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

์—ฌ๊ธฐ์— ์ƒˆ๋กœ์šด ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ์ปค๋„ฅํ„ฐ ์ถ”๊ฐ€์šฉ REST API๋Š” ๋‚˜๋ฆ„์˜ ์ƒ๊ฐ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. 6๊ฐœ์˜ jdbc oracle ์ปค๋„ฅํ„ฐ ์„ธํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(3source, 3sink).
์ฒ˜์Œ์œผ๋กœ 400๊ฐœ์˜ ์ž˜๋ชป๋œ ์š”์ฒญ์„ ๋ฐ›์•˜๊ณ  ์•„๋ฌด ๊ฒƒ๋„ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค... ok
์ •ํ™•ํžˆ ๋™์ผํ•œ ๊ตฌ์„ฑ์œผ๋กœ ๋‹ค์‹œ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. ์ด์ œ 6๊ฐœ ์ค‘ 1๊ฐœ๊ฐ€ ๋ฐฐํฌ๋˜์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ 400๊ฐœ์˜ ์ž˜๋ชป๋œ ์š”์ฒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค....

์ด๊ฒƒ์€ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๊ธฐ์—ฌ๋กœ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ ์ €์ž์™€ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„์—ˆ๊ณ  ๊ทธ๋Š” ์ด๋ฒˆ ์ฃผ์— ์ด๊ฒƒ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์„ ์šฐ์„  ์ˆœ์œ„๋กœ ์‚ผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@Fobhep @JumaX ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์ง€๊ธˆ ์žฌ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ต๋ณ€์ด ๋Šฆ์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ปค๋„ฅํ„ฐ์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์ธ ๋ฉ”์‹œ์ง€/๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ์˜ค๋ฅ˜ ๊ด€๋ฆฌ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์žฌ์กฐ์ •์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€๋„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 409๋Š” ์‹ค์ œ๋กœ ์žฌ์กฐ์ •์ด ์žˆ์„ ๋•Œ ์šฐ๋ฆฌ๊ฐ€ ๋ฐ›๋Š” ์‘๋‹ต์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฒ˜์Œ์—๋Š” ์ด๋ฅผ ์˜ค๋ฅ˜๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋งˆ์Šคํ‚นํ•˜๋Š” ๊ฒƒ์ด ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ถˆํ–‰ํ•œ ์ผ์ž…๋‹ˆ๋‹ค.

๋น ๋ฅธ ์—…๋ฐ์ดํŠธ: ์˜ค๋ฅ˜ ๊ด€๋ฆฌ๋ฅผ ์™„์ „ํžˆ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๊ณ  ์ปค๋„ฅํ„ฐ ์ž‘์—…์— ๋Œ€ํ•œ ์ƒํƒœ ํ™•์ธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ปค๋„ฅํ„ฐ๊ฐ€ ์ดˆ๊ธฐํ™”์— ์‹คํŒจํ•˜๋ฉด ๊ฐ์ง€๋˜์–ด ์˜ค๋ฅ˜๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ PR์„ ์ค€๋น„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@ldom ์ด์— ๋Œ€ํ•œ ์ƒํƒœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@jamuska PR์ด ์žˆ์ง€๋งŒ ์•„์ง ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค(https://github.com/confluentinc/cp-ansible/pull/490). ์ €์Šคํ‹ด์ด ๋ถ„์ž ํ…Œ์ŠคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์š”. ์ด๋ฒˆ ์ฃผ์— ์ž‘์—…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@ldom @jamuska ๋งž์Šต๋‹ˆ๋‹ค. ๋ถ„์ž ํ…Œ์ŠคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. @ldom์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰