Transaction Receipt Timeout

안녕하세요.
현재 Klaytn Mainnet에서 서비스 운영 중 Transaction Receipt 확인 하는 과정에서 timeout 이 발생하여 관련하여 문의 드립니다.

  1. 간혹 다른 시간대에 나타나기도 하지만 주로 특정시간대(한국시간 오전 3시 ~ 4시)에 주로 발생하는데 원인이 있나요?
  2. timeout 발생한 transaction 들을 어느정도 시간이 지난 이후에는 scope 상에서 정상 수행되었음을 확인 할수 있는데 혹시 최대 지연시간 같은 것을 알수 있을까요?
  3. 이런 timeout 이 여러건 발생하여 서비스 운영하는데 애로사항이 있습니다. 혹시 관련하여 개선할수 있는 방안이 있을까요?

위 사항 관련하여 가이드 부탁드리겠습니다.
감사합니다.

안녕하세요, 클레이튼 포럼에 질문을 올려주셔서 감사드립니다. 아래에 답변을 드리도록 하겠습니다.

  1. 먼저, 현재 사용하고 계시는 EN이 어떤걸까요? 자체적인 EN을 사용하시는지?
  2. 특정 시간대에 주로 발생하는 것은, API request혹은 block validation time이 많아서 그런 것으로 추측됩니다.
  3. 최대 지연 시간은 명확하게 정의할 수는 없을 것 같습니다. 저희 네트워크가 아주 부하가 많은 상황은 아니여서 tx submit이 확인된 시점으로부터 2~3초 정도면 receipt이 나올 것 같습니다만, 부하가 있는 상황같은 경우에는 더 오래 걸릴 수 있어서요.
  4. timeout이 발생하는 tx submission에 대해서는 retry logic이 필요할 것 같습니다. tx submission이 성공했다면 일정 시간 이후에 다시 receipt을 요청하는 형태로 구현할 수 있을 것 같습니다.

감사합니다.

안녕하세요. 상세한 답변 감사드립니다.
자체적으로 EN을 운영하고 있지는 않습니다.
향후 서비스 규모가 좀더 커지면 고려하려합니다.
retry logic은 자체 적으로 적용하여 운영중입니다.
오전 3시경에는 Receipt 확인을 30 초 동안 시도해도 실패가 나는데요,
혹시 Klaytn 측에서 개선의 여지는 없을까요?

안녕하세요,

먼저 저희 public EN은 production level로 서비스를 제공하는 것이 목적은 아니라서, 저희 public EN과 연결하여 서비스 운영하시는 것을 추천드리지는 않습니다.

해당 트랜잭션이 tx pool에 submit이 완료되었는지는 확인하셨을까요? txhash값이 나왔는데 30초 동안이나 실패했는지 해서요.

네, hash 값은 나온 상태에서 receipt 확인을 위해 30 초 동안 retry 해도 실패하였고,
최종 확인 한 결과는 Transaction이 성공하였습니다.

좀 더 정확한 상황 파악을 위해, tx를 submission한 시점이 언제인지, 해당 txhash는 뭔지 알 수 있을까요?

0x5500e137249dbba7b810bb2d3a9e0da78045674a552280c29b97ad91a44e0aea
0x2bdd42e60e0f542841c36280df3753c227f3934be9167fb459871bb5e4eb3162

timeout 발생한 transaction 중 두개의 transaction hash 값 전달드립니다.
로그상으로 정확한 시간을 찍지 않아서 scope 상의 block 생성 시간을 참고하시면 될것 같습니다.

tx submission 시간을 모르면 정확한 분석은 어려울 것 같습니다. 오늘 새벽 3시 시간대에 tx submission이 증가한 기록은 확인할 수 있는데, 그게 정확한 원인이라고 단정짓기는 힘들 것 같습니다. tx submission이 많아지면 해당 EN의 블록 sync속도가 저하될 수 있고, 그렇다면 tx submission 시점과 block receipt을 받는 시점의 차이가 벌어질 수 있습니다. 참고 부탁드리겠습니다.