[회고록]나무가 아닌 숲을 보자

HW·2023년 6월 8일
0

처음으로 회고록을 작성해본다.

5.1.0.0 버전 Test Issue가 올라왔다.

5.0.5.X에서 잘만 되던 것이
5.1.0.0 버전에서 CMAF Interface 2로 MediaPackage에 전송 시, AWS에서 응답이 No Header, No Data를 준다는 것.


디버깅을 하면서 Curl설정에 뭔가 문제가 있다는 걸 직감적으로 알 수 있었다.

사수님이 그 동안 Curl을 누구보다 잘 다룰 수 있도록 공부하라고 힌트를 주셨기 때문이다.

그래서 DebugCallBack 함수를 통해 디버깅 하려는데,

멀티 스레드 환경에서 DebugCallBack 호출 시 다른 스레드가 생성되며 호출이 되어 함수의 결과를 알 수 없었다.

그래서 여러 방안을 찾아내고자 결과에 미칠 수 있는 parameter들을 바꿔가며 여러번 채널을 실행했다.
1. Rotating Credential
2. End Point
3. Request Header Content-type
4. HTTPS method

MediaPackage는 Redundancy를 보장하기 위해 2개의 HLS Ingest를 제공한다.

CMAF의 Inteface 2에서 HLS playlist를 보낼 수 있지만,

이것이 AWS MediaPackage에서 인식 되는지는 미지수였다.

결과에 영향을 주는 여러 개의 parameter, 손수 하나씩 해봐야 한다.

디버깅 모드로 인코딩을 돌리다가 어느 순간 MediaPackage에서 트래픽이 발생한 순간이 있었다.

그러나 이에 영향을 주는 parameter가 무엇인지 파악할 수 없었다.

그리고 이튿날 회의.

별다른 소득이 없던 회의.

사수님은 질문을 던지시며 깨달음을 주셨다.

5.0.5.0 버전에서는 되는데 왜 5.1.0.0 버전에서 안되는걸까?
5.0.5.0 소스코드 확인해 보았는가?

디버깅에 앞서 문제에 대해 관심을 가지는 가장 기본적인 태도.

디버깅을 할 때 가장 기초적인 현상재현이다.

되는 부분에서 안 되는 부분을 가려내는 것이다.

나무 대신에 숲을 봐라.
하나의 현상에 매몰되다가는 문제를 파악하지 못한다.
두루뭉실하고 넓게 문제를 지배한다는 생각으로 머리 위에서 봐라.

모두 어디서 들어봤던 문장들이다.

정작 실무에 적용을 하지 못했다.

사수님의 말씀을 받들어, 5.0.5.0 펌웨어부터 까보기 시작했다.

그 과정은 험난했다.

빠진 Shared Library을 심볼릭 링크로 생성해줘야 했고,

5.1.0.0 버전과 비교하기 위해, 두 개의 디렉토리에 레포지토리를 생성했다.

두 개의 소스코드로 두개의 디버깅 모드의 솔루션으로 비교하는데 단번에 다른점을 알 수 있었다.

5.1.0.0 버전에서는 Request Header에 Transfer-Encoding을 Chunked로 명시했다는 것.
반면 5.0.5.0에는 명시해주지 않았다.

그리고 MediaPackage에서는 CMAF를 Ingest할 수 없다는 것을 알 수 있었다. (2023년 6월 8일 기준)
HLS Ingest여도, Endpoint를 CMAF로 설정할 수 있어서, CMAF도 Ingest 할 수 있을거라 믿었지만 헛된 믿음이었다.

CMAF 송출이 되지 않는 이슈가 간단히 MediaPackage 내부 문제여서 이슈가 close 될 수 있었지만,
HLS 송출 시에 여전히 No Header, No Data를 응답으로 보내고 있기에
이 또한 또 다른 이슈이고, 그렇게 이슈는 CMAF Ingest가 아닌 HLS Ingest로 바뀌었다.

그렇게 가장 기초적이지만 내가 적용할 수 없던 방법, 간과했던 방법, 비교를 통해 단 번에 디버깅을 완료할 수 있었다.

당장 큰 이슈는 아니었지만 손톱 사이에 낀 가시처럼 성가셨던 이슈였다.
게다가 해결 방법도 어처구니 없을 정도로 쉬워서 내 자신이 한심스럽고 바보 같았지만,
이런 실수를 반복하지 않기 위해 잊어서는 안되는 것이었다. 그래서 이런 회고록도 작성하게 되었다.


자랑은 아니지만, 회사에 8시까지 남아서

뭔가 하루 내에 끝낼 수 있을것 같던 작업이라고 생각했던거 같다.

남아서 집에 도착하니 10시였다.

갓 지은 밥에 김을 싸먹으니 꿀맛이었다.

profile
예술융합형 개발자🎥

0개의 댓글