@@ -10,22 +10,33 @@ Spring / Java / Kotlin 백엔드 엔지니어가 `testcontainers/testcontainers-
1010
1111- 업스트림: ` testcontainers/testcontainers-java `
1212- 포크: ` PreAgile/testcontainers-java `
13- - 최종 업데이트: 2026-03-18
13+ - 최종 업데이트: 2026-03-22
1414
1515활발하게 관리되고 있다는 신호:
1616
1717- ` good first issue ` 라벨이 아직 사용 중
1818- 2025 후반 ~ 2026 초반까지 머지된 PR이 있음
19- - 최근 사람이 머지한 PR:
20- - ` #11564 ` — ` 2026-03-12 ` 머지 (우리 K6 docs PR)
19+ - 최근 머지된 PR:
20+ - ` #11573 ` — ` 2026-03-19 ` 머지 (docs 버전 업데이트)
21+ - ` #11572 ` — ` 2026-03-18 ` 머지 (docker-java 3.7.1 업데이트)
22+ - ` #11564 ` — ` 2026-03-10 ` 머지 (** 우리 K6 docs PR** )
2123 - ` #11498 ` — ` 2026-02-26 ` 머지
22- - ` #11223 ` — ` 2026-03-02 ` 머지
2324
24- ## 완료된 PR
25+ ## 기여 현황 요약
2526
26- | PR | 이슈 | 상태 | 날짜 |
27- | ----| ------| ------| ------|
28- | ` #11564 ` | ` #8780 ` K6 docs/example | ** 머지됨** | 2026-03-12 |
27+ ### 완료된 PR
28+
29+ | PR | 이슈 | 상태 | 날짜 | 비고 |
30+ | ----| ------| ------| ------| ------|
31+ | ` #11564 ` | ` #8780 ` K6 docs/example | ** 머지됨** | 2026-03-10 | ` eddumelendez ` 리뷰 후 승인, +15/-2 |
32+
33+ ### 진행 중인 PR
34+
35+ | PR | 이슈 | 상태 | 제출일 | 비고 |
36+ | ----| ------| ------| --------| ------|
37+ | ` #11577 ` | ` #10359 ` MariaDB liveness 포트 버그 수정 | ** 리뷰 대기** | 2026-03-22 | 코드 2줄 수정 + 테스트 1개. PR #5734 선례와 동일 패턴. 이슈에 코멘트 완료 |
38+ | ` #11569 ` | ` #11568 ` LocalStack 인증 토큰 문서 | ** 리뷰 대기** | 2026-03-18 | docs-only, +819줄. CI 코어 통과, Netlify 프리뷰 실패. 메인테이너 리뷰 아직 없음. 데드라인 ** 2026-03-23 (내일)** |
39+ | ` #11571 ` | ` #8797 ` R2DBC getR2dbcUrl 헬퍼 | ** 리뷰 대기** | 2026-03-18 | PostgreSQL + MySQL + MariaDB 3개 모듈 구현. 경쟁 PR 5개 중 가장 포괄적이고 메인테이너 합의 설계를 따름 |
2940
3041## 메인테이너 선호 패턴
3142
@@ -42,31 +53,95 @@ Spring / Java / Kotlin 백엔드 엔지니어가 `testcontainers/testcontainers-
4253- ` eddumelendez ` (주 리뷰어, 가장 활발)
4354- ` kiview ` (설계 논의 참여, 빈도 낮음)
4455
45- ## 현재 TOP 5 후보 (2026-03-18)
56+ ## 현재 이슈별 상세 현황 (2026-03-22)
57+
58+ ### 1. ` #11568 ` LocalStack 인증 토큰 문서 — 긴급
59+
60+ - ** 상태:** 이슈 OPEN, PR ` #11569 ` 제출 완료 (리뷰 대기)
61+ - ** 긴급도:** 매우 높음 — 2026-03-23부터 ` localstack/localstack:latest ` 에 ` LOCALSTACK_AUTH_TOKEN ` 필수
62+ - ** 경쟁:** 없음. 이슈 작성자(` HarshCasper ` , LocalStack 팀)가 우리 PR에 감사 코멘트
63+ - ** 다음 액션:** 메인테이너 리뷰 기다리기. Netlify 프리뷰 실패는 docs 빌드 이슈이므로 블로커 아님
64+ - ** 머지 확률:** 매우 높음 — 긴급한 실제 문제, 경쟁 없음, 이슈 작성자 지지
65+ - 상세: [ issue-11568-localstack-auth-token.md] ( issue-11568-localstack-auth-token.md )
66+
67+ ### 2. ` #8797 ` R2DBC getR2dbcUrl 헬퍼 — 경쟁 치열
68+
69+ - ** 상태:** 이슈 OPEN, PR ` #11571 ` 제출 완료 (리뷰 대기)
70+ - ** 메인테이너 합의 설계:** 각 구체 클래스(` MySQLR2DBCDatabaseContainer ` 등)에 ` static getR2dbcUrl(container) ` 메서드 추가. ` JdbcDatabaseContainer ` 베이스에 넣지 않음
71+ - ** 경쟁 PR 현황:**
72+ | PR | 작성자 | 범위 | 설계 준수 | 상태 |
73+ | ----| --------| ------| ----------| ------|
74+ | ` #11571 ` | ** PreAgile (우리)** | PostgreSQL + MySQL + MariaDB | ** 준수** | OPEN |
75+ | ` #11252 ` | papa-piton-2256 | MySQL만 | 준수 | OPEN (2025-11~ ) |
76+ | ` #11340 ` | taole33 | MariaDB만 | 준수 | OPEN (2025-12~ ) |
77+ | ` #11364 ` | NiMv1 | 베이스 클래스 | ** 미준수** | OPEN |
78+ | ` #11131 ` | jan-knoblich | PostgreSQL + 베이스 | ** 미준수** | OPEN |
79+ - ** 우리 PR의 강점:** 3개 DB를 한 번에 커버하면서 메인테이너 합의 설계를 정확히 따름. 경쟁 PR 중 유일하게 종합적
80+ - ** 리스크:** 메인테이너가 "PR 하나에 모듈 하나" 원칙을 적용해 쪼개라고 요청할 수 있음
81+ - ** 다음 액션:** 리뷰 기다리기. 쪼개라는 요청 오면 즉시 대응
82+ - ** 머지 확률:** 중상 — 설계는 맞지만 경쟁이 많고, 범위가 넓어 리뷰 부담 있음
83+ - 상세: [ issue-8797-r2dbc-url-strategy.md] ( issue-8797-r2dbc-url-strategy.md )
84+
85+ ### 3. ` #10359 ` MariaDB liveness 포트 버그 — PR 제출 완료
4686
47- | 순위 | 이슈 | 유형 | 머지 확률 | 상세 문서 |
48- | ------ | ------ | ------ | ---------- | ---------- |
49- | 1 | ` #11568 ` LocalStack 인증 토큰 문서 | 긴급 docs | 매우 높음 | [ issue-11568-localstack-auth-token.md ] ( issue-11568-localstack-auth-token.md ) |
50- | 2 | ` #8797 ` R2DBC getR2dbcUrl 헬퍼 | 코드 + 설계 | 높음 | [ issue-8797-r2dbc-url-strategy.md ] ( issue-8797-r2dbc-url-strategy.md ) |
51- | 3 | ` #11565 ` ContainerLessJdbcDelegate NPE | 버그 수정 | 중상 | [ issue-11565-jdbc-npe-fix.md ] ( issue-11565-jdbc-npe-fix.md ) |
52- | 4 | ` #10359 ` MariaDB liveness 포트 버그 | 버그 수정 | 높음 | [ issue-10359-mariadb-liveness-port.md ] ( issue-10359-mariadb-liveness-port.md ) |
53- | 5 | ` #11231 ` MSSQL GO 배치 구분자 | 기능 추가 | 중간 | [ issue-11231-mssql-go-separator .md] ( issue-11231-mssql-go-separator .md ) |
87+ - ** 상태: ** 이슈 OPEN, PR ` #11577 ` 제출 완료 (리뷰 대기), 이슈 코멘트 완료
88+ - ** 문제: ** ` MariaDBContainer.getLivenessCheckPortNumbers() ` 가 internal 포트를 리턴 → ` HostPortWaitStrategy ` and other liveness checks may inspect the wrong port
89+ - ** 수정 내용: ** 두 ` MariaDBContainer ` 구현체에서 ` Sets.newHashSet(MARIADB_PORT) ` → ` super.getLivenessCheckPortNumbers() ` . 미사용 ` Sets ` import 제거. 테스트 1개 추가 (MySQL/PostgreSQL/MSSQL과 동일 패턴)
90+ - ** 경쟁: ** 없음
91+ - ** 머지 확률: ** 매우 높음 — PR # 5734 선례와 완전히 동일한 수정
92+ - ** 다음 액션: ** 메인테이너 리뷰 기다리기
93+ - 상세: [ issue-10359-mariadb-liveness-port .md] ( issue-10359-mariadb-liveness-port .md )
5494
55- ## 추천 실행 순서
95+ ### 4. ` #11565 ` ContainerLessJdbcDelegate NPE — 대기
5696
57- ### 1단계: 빠른 성과 (이번 주)
97+ - ** 상태:** 이슈 OPEN, PR 없음
98+ - ** 문제:** ` closeConnectionQuietly() ` 에서 NPE. ` ContainerLessJdbcDelegate ` 가 super의 connection 필드를 null로 남김
99+ - ** 경쟁:** ` himi-sh ` 가 "작업하겠다"고 코멘트했지만 PR 미제출 (4일 경과)
100+ - ** 머지 확률:** 높음 — 명확한 버그, 작은 수정
101+ - ** 다음 액션:** ` himi-sh ` 가 1주일 내 PR 안 올리면 진행 고려. 그 전에 PR 올리면 예의에 어긋남
102+ - 상세: [ issue-11565-jdbc-npe-fix.md] ( issue-11565-jdbc-npe-fix.md )
58103
59- 1 . ** #11568 LocalStack 문서** — 데드라인 2026-03-23, 최대한 빨리 올릴 것
60- 2 . ** #10359 MariaDB 포트 수정** — 2줄 수정, 경쟁자 없음, 가장 빠른 버그 수정
104+ ### 5. ` #11231 ` MSSQL GO 배치 구분자 — 장기
61105
62- ### 2단계: 강한 시그널 코드 PR
106+ - ** 상태:** 이슈 OPEN, PR 없음, 코멘트 0개
107+ - ** 문제:** ` ScriptUtils.java ` 가 separator를 하드코딩 → MSSQL의 ` GO ` 배치 구분자 지원 불가
108+ - ** 라벨 오류:** ` modules/mysql ` 로 잘못 라벨링됨 (실제는 ` modules/mssqlserver ` )
109+ - ** 경쟁:** 없음
110+ - ** 머지 확률:** 중간 — 기능 추가라 설계 논의 필요, ` ScriptUtils ` 는 공용 유틸이라 영향 범위 넓음
111+ - ** 다음 액션:** 메인테이너와 신뢰 쌓은 후 이슈에 설계 제안 코멘트 먼저
112+ - 상세: [ issue-11231-mssql-go-separator.md] ( issue-11231-mssql-go-separator.md )
63113
64- 3 . ** # 8797 R2DBC 헬퍼 ** — 이슈에 먼저 코멘트, 그 후 PostgreSQL/MySQL/MariaDB만 구현
114+ ## 업데이트된 우선순위 (2026-03-22)
65115
66- ### 3단계: 기회가 될 때
116+ ### 리뷰 대기 중 (모니터링)
67117
68- 4 . ** #11565 JDBC NPE** — ` himi-sh ` 가 PR을 안 올렸을 때만 진행
69- 5 . ** #11231 MSSQL GO** — 메인테이너와 신뢰가 쌓인 후에만 진행
118+ | 순위 | PR | 예상 대기 시간 | 주의사항 |
119+ | ------| -----| ---------------| ---------|
120+ | ** 1** | ` #11577 ` MariaDB 포트 | 수일 내 | 가장 작은 수정, 선례 명확 |
121+ | ** 2** | ` #11569 ` LocalStack 문서 | 데드라인 내일, 빠른 리뷰 기대 | Netlify 실패 해결 필요할 수 있음 |
122+ | ** 3** | ` #11571 ` R2DBC 헬퍼 | 1-2주 | 경쟁 PR 많아 시간 걸릴 수 있음. 쪼개기 요청 대비 |
123+
124+ ### 대기 (조건부)
125+
126+ | 순위 | 이슈 | 조건 |
127+ | ------| ------| ------|
128+ | ** 4** | ` #11565 ` JDBC NPE | ` himi-sh ` 가 ~ 2026-03-25까지 PR 미제출 시 진행 |
129+ | ** 5** | ` #11231 ` MSSQL GO | 머지 3개 이상 달성 후 진행 |
130+
131+ ## 머지 확률 기반 전략 분석
132+
133+ ** 확실한 머지 (90%+):**
134+ - ` #10359 ` MariaDB — PR ` #11577 ` 제출 완료, 리뷰 대기
135+ - ` #11568 ` LocalStack — PR ` #11569 ` 제출 완료, 리뷰 대기
136+
137+ ** 높은 확률 (70%+):**
138+ - ` #11565 ` JDBC NPE — 명확한 버그, 작은 수정 (경쟁자 선점 리스크만 있음)
139+
140+ ** 중간 확률 (50%+):**
141+ - ` #8797 ` R2DBC — 설계는 맞지만 경쟁 치열, 메인테이너가 기존 PR 중 하나를 택할 수 있음
142+ - ` #11231 ` MSSQL GO — 설계 논의 필요, 공용 유틸 변경
143+
144+ ** 핵심 인사이트:** ` #10359 ` PR 제출 완료. 머지되면 기여 이력 2개(` #11564 ` + ` #10359 ` )가 되면서 나머지 PR 리뷰 시 신뢰도가 올라감. 현재 3개 PR이 동시에 리뷰 대기 중 — "신뢰 축적" 전략이 전체 머지율을 높이는 핵심.
70145
71146## PR 전략: 묶지 말고 하나씩
72147
@@ -78,6 +153,8 @@ Spring / Java / Kotlin 백엔드 엔지니어가 `testcontainers/testcontainers-
78153- 별도 PR이 기여 이력을 보기 좋게 만듦
79154- 머지된 PR 하나하나가 다음 PR의 신뢰도를 올려줌
80155
156+ ** ` #8797 ` R2DBC 참고:** 현재 3개 모듈을 하나의 PR에 넣었는데, 메인테이너가 쪼개라고 할 가능성 있음. 요청 시 즉시 모듈별로 분리할 것.
157+
81158## 제외한 후보
82159
83160| 이슈 | 이유 |
0 commit comments