티스토리 뷰
HandleHttpResponse
Failed to respond to HTTP request for StandardFlowFileRecord 어쩌구 저쩌구 because FlowFile had an 'http.context.identifier' attribute of fjf513cb-aef0-4de4-9333-6eeefds2b6d8 but could not find an HTTP Response Object for this identifier
response를 해야하지만 repsonse object를 못찾겠다는거다.
이런 경우 대부분 하나의 request에서 response를 두번해주는 경우다.
1. 하나의 request를 받고 RouteOnAttribute에서 두 갈래로 모두 response하는 경우
multipart이면서, mode가 test인 request가 들어왔다. 양쪽 다 조건에 만족하므로 두쪽으로 response를 줘야한다. 결국 request 1개에, response를 2개 내려야하므로 response Object를 잃어버린 셈이다.
2. 하나의 request를 받고 RouteOnAttribute에서 두가지 경우의 수에 모두 속해 두번 요청이 가는 경우
multipart이면서, mode가 test인 request가 들어왔다. 두개의 조건에 모두 만족하므로 route에서 invokeHTTP쪽으로 2번 요청을 한 것이다. 결국 request 1개에, response를 2번 내려야하므로 response Object를 잃어버린 셈이다.
3. 하나의 request를 받고, relationships에서 응답을 두번 내리는 경우
이 경우 모든 결과를 response로 내려주게 해놓았는데, 문서를 보면 Original과 Response는 둘다 status code가 200-299 사이면 response하기때문에, 아래와 같이 모두 relationships에 포함되어 있으면 중복해서 reponse를 하게 된다. 이 경우 또한 결국 request 1개에, response를 2개 내려야하므로 response Object를 잃어버린 셈이다.
[해결방법]
- 1,2의 경우 route 조건을 잘 설정해 하나의 흐름을 타게한다.
- 3의 경우 어떤 processor를 사용하느냐에 따라 relationships가 달라지기 때문에, 문서를 참조하여 각자 필요한 relationships만 설정하여 중복된 response가 내려지지 않도록 한다. 나는 하기 두가지 방법을 선택하였다.
- invokeHttp: failure, response relationships만 설정
- 부가설명: (If the 'Output Response Regardless' property is true then the response will be sent to this relationship regardless of the status code received.) Output Response Regardless property를 true로 설정하면 status code와 관계없이 reponse를 준다고하는데, 사실 true 설정 시 오류가 발생하고 아예 property 설정을 안하면 설명대로 status code 관계없이 response를 한다. >> 2022.09.08 - [환경] - [NiFi] Output Response Regardless 고찰 - 이 외: original은 response 이전 processor에서 terminate 시키고, fail, success에 따른 결과를 response 해주도록 하였다.
- invokeHttp: failure, response relationships만 설정
'오답노트' 카테고리의 다른 글
[NiFi] ModifyBytes - Content 없애기 (0) | 2022.09.08 |
---|---|
[NiFi] multipart InvokeHTTP -> HandleHttpResponse response에 파일 지우기 (0) | 2022.09.08 |
[Spring boot] 왜 로그가 안찍혀?(springProfile) (0) | 2022.09.08 |
Intellj serialVersionUID warning 설정 (0) | 2022.04.13 |
OOME(OutOfMemoryError) (0) | 2022.04.13 |
- Total
- Today
- Yesterday