Troubleshooting

[TroubleShooting] Amazon SES 기능 구현 중 생긴 에러들..

DuL2 2024. 1. 15. 08:44

TroubleShooting

문제가 많이 생기다 보니 간략하게 정리한다.

발생한 문제 - NoSuchMethodError

처음 sdk를 물리자 okhttp3 관련 이슈가 터졌음.

 

해결한 방법 

http3 버전 업그레이드로 해결

 

하지만 이 해결법이 완벽한 문제 해결은 아닌 것 같다. AWS SDK가 okhttp 최신 버전을 사용하기 때문에 일어나는 이슈라고 적힌 글을 읽고 해결했다.

 

https://github.com/awslabs/aws-sdk-kotlin/issues/765#issuecomment-1533260057

 

S3: putObject throws NoSuchMethodError exception · Issue #765 · awslabs/aws-sdk-kotlin

Describe the bug Simple code like this S3Client.fromEnvironment()..putObject { bucket = "myBucket" key = "myObject" body = ByteStream.fromString("myContent") } throws: java.lang.NoSuchMethodError: ...

github.com

 

읽어보니 kotlin이 업데이트 되면서 AWS SDK도 업데이트 되었고, 이에 따라 okhttp의 버전 업도 필요해보이는 듯 했다. 다른 한국인 분의 레포지터리에서 이슈가 발생했고 이를 통해 해결했음을 확인하는 링크 글도 있었다.

 

 

 

 

발생한 문제 - ImcompatibleClassChangeError

아래 사진처럼 kotlin.time.TimeMark 인터페이스에 필요한 구현체가 들어오지 않는 이슈였던 것 같았음.

 

해결한 방법 

구글링을 해보니 코틀린과 버전 이슈로 판단되어서 버전 업그레이드 후 해결하였음.

 

발생한 문제 - SesException ['@domain']

 

해결한 방법 

스웨거로 테스트 할 때 이메일 스트링을 "test@test.com"와 같이 입력하였는데 따옴표 자체도 String 값으로 넘어가 이메일 domain으로 인식을 하지 못해서 생기는 이슈였음.

 

정말 별 것도 아닌 이슈였지만 이 것 하나로 몇시간 씨름을 한덕에 해결함 ㅜㅜ.. ""를 없애주었다.

 

회고

개발하면서 바로 정리했더라면 더욱 디테일이 살아있는 글을 작성했을텐데 하는 아쉬움이 남는다. 시간이 촉박해 추후에 작성하다보니 내 뇌 속에는 이것 뿐이 남지 않았다.. ㅜㅜ