SNR#1999 시나리오에서 중복 이벤트 제거를 설정한 경우, 티켓 삭제 및 완료 처리 시 NPE 오류 발생 해결
Note
해당 이슈는 로그프레소 4.0.2205.0 이상, 4.0.2303.0 이하 버전에서 발생합니다.
실시간/배치 탐지 시나리오에서 중복 이벤트 제거를 설정한 시나리오가 있는 경우, 티켓 삭제 및 완료 처리 시에 NPE(NullPointerException) 오류가 발생하는 문제를 해결하였습니다.
- 티켓 삭제 시 NPE 오류 로그
[2023-05-24 09:26:58,163] WARN (TicketServiceImpl) - sonar core: ticket listener should not throw any exception
java.lang.NullPointerException
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.__M_getMatchingKeys(AlertServiceImpl.java:840)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.getMatchingKeys(AlertServiceImpl.java)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.__M_removeContext(AlertServiceImpl.java:851)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.removeContext(AlertServiceImpl.java)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.__M_onRemove(AlertServiceImpl.java:831)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.onRemove(AlertServiceImpl.java)
at com.logpresso.sonar.api.impl.TicketServiceImpl.__M_removeTickets(TicketServiceImpl.java:990)
at com.logpresso.sonar.api.impl.TicketServiceImpl.removeTickets(TicketServiceImpl.java)
at com.logpresso.sonar.msgbus.TicketPlugin.__M_removeTickets(TicketPlugin.java:1070)
at com.logpresso.sonar.msgbus.TicketPlugin.removeTickets(TicketPlugin.java)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.araqne.msgbus.handler.MsgbusPluginHandler.__M_handleMessage(MsgbusPluginHandler.java:201)
at org.araqne.msgbus.handler.MsgbusPluginHandler.handleMessage(MsgbusPluginHandler.java)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.__M_invokeMessageHandler(MessageBusImpl.java:579)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.invokeMessageHandler(MessageBusImpl.java)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.__M_run(MessageBusImpl.java:569)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.run(MessageBusImpl.java)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
- 티켓 완료 시 NPE 오류 로그
[2023-05-24 09:26:51,684] WARN (TicketServiceImpl) - sonar core: ticket listener should not throw any exception
java.lang.NullPointerException
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.__M_getMatchingKeys(AlertServiceImpl.java:840)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.getMatchingKeys(AlertServiceImpl.java)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.__M_removeContext(AlertServiceImpl.java:851)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.removeContext(AlertServiceImpl.java)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.__M_onClose(AlertServiceImpl.java:826)
at com.logpresso.sonar.api.impl.AlertServiceImpl$TicketCloseHandler.onClose(AlertServiceImpl.java)
at com.logpresso.sonar.api.impl.TicketServiceImpl.__M_closeTicket(TicketServiceImpl.java:942)
at com.logpresso.sonar.api.impl.TicketServiceImpl.closeTicket(TicketServiceImpl.java)
at com.logpresso.sonar.msgbus.TicketPlugin.__M_closeTickets(TicketPlugin.java:1049)
at com.logpresso.sonar.msgbus.TicketPlugin.closeTickets(TicketPlugin.java)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.araqne.msgbus.handler.MsgbusPluginHandler.__M_handleMessage(MsgbusPluginHandler.java:201)
at org.araqne.msgbus.handler.MsgbusPluginHandler.handleMessage(MsgbusPluginHandler.java)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.__M_invokeMessageHandler(MessageBusImpl.java:579)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.invokeMessageHandler(MessageBusImpl.java)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.__M_run(MessageBusImpl.java:569)
at org.araqne.msgbus.impl.MessageBusImpl$TaskRunner.run(MessageBusImpl.java)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)