2025-07-08 07:02:03.422+0000 (sender-0) com.amazon.kinesis.streaming.agent.tailing.AsyncPublisher [ERROR] AsyncPublisher[kinesis:input-stream:/opt/app/app.log]:RecordBuffer(id=2,records=1,bytes=58) Non-retriable send error. Will NOT retry.
java.lang.UnsupportedOperationException: Client is immutable when created with the builder.
at com.amazonaws.AmazonWebServiceClient.checkMutability(AmazonWebServiceClient.java:1057) ~[aws-java-sdk-core-1.12.390.jar:?]
at com.amazonaws.AmazonWebServiceClient.setEndpoint(AmazonWebServiceClient.java:316) ~[aws-java-sdk-core-1.12.390.jar:?]
at com.amazon.kinesis.streaming.agent.AgentContext.getKinesisClient(AgentContext.java:194) ~[AWSKinesisStreamingDataAgent-1.1.jar:?]
at com.amazon.kinesis.streaming.agent.tailing.KinesisSender.attemptSend(KinesisSender.java:103) ~[AWSKinesisStreamingDataAgent-1.1.jar:?]
at com.amazon.kinesis.streaming.agent.tailing.AbstractSender.sendBuffer(AbstractSender.java:39) ~[AWSKinesisStreamingDataAgent-1.1.jar:?]
at com.amazon.kinesis.streaming.agent.tailing.SimplePublisher.sendBufferSync(SimplePublisher.java:127) [AWSKinesisStreamingDataAgent-1.1.jar:?]
at com.amazon.kinesis.streaming.agent.tailing.AsyncPublisher.access$001(AsyncPublisher.java:34) [AWSKinesisStreamingDataAgent-1.1.jar:?]
at com.amazon.kinesis.streaming.agent.tailing.AsyncPublisher$1.run(AsyncPublisher.java:132) [AWSKinesisStreamingDataAgent-1.1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) [?:?]
at java.lang.Thread.run(Thread.java:1447) [?:?]
Shell
복사
핵심 오류
java.lang.UnsupportedOperationException: Client is immutable when created with the builder.
Shell
복사
트러블 슈팅
최근 SDK 버전 (특히 1.12.x 이상)에서는 builder 패턴을 통해 생성된 클라이언트가 불변(immutable) 이기 때문에 setEndpoint() 호출이 금지되어있다.
{
"cloudwatch.emitMetrics": true,
"awsEndpoint": "https://kinesis.ap-northeast-2.amazonaws.com", <-- 이런 라인 지우기
...
}
Shell
복사
•
해결한 구성파일
{
"cloudwatch.emitMetrics": true,
"flows": [
{
"filePattern": "/opt/app/app.log",
"kinesisStream": "input-stream",
"partitionKeyOption": "RANDOM"
}
]
}
Shell
복사

