Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AI API] AnalyticsMetricsHandler logs a NPE #3195

Closed
ashera96 opened this issue Oct 7, 2024 · 1 comment
Closed

[AI API] AnalyticsMetricsHandler logs a NPE #3195

ashera96 opened this issue Oct 7, 2024 · 1 comment

Comments

@ashera96
Copy link

ashera96 commented Oct 7, 2024

Description

NPE is thrown at [1] when trying to invoke an AI API by following along the docs. Here, we perform a get operation without validating whether or not a value is present. Refer to the stracktrace mentioned under the log output.

[1] https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.gateway/src/main/java/org/wso2/carbon/apimgt/gateway/handlers/analytics/SynapseAnalyticsDataProvider.java#L467

Steps to Reproduce

  • Create an AI API
  • Navigate to the Developer portal and invoke the AI API

Affected Component

APIM

Version

4.4.0-alpha

Environment Details (with versions)

No response

Relevant Log Output

[2024-10-07 11:41:42,754] ERROR - AnalyticsMetricsHandler Error Occurred when collecting data
java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
	at org.wso2.carbon.apimgt.gateway.handlers.analytics.SynapseAnalyticsDataProvider.getAiAnalyticsData_aroundBody44(SynapseAnalyticsDataProvider.java:467) ~[org.wso2.carbon.apimgt.gateway_9.30.10.jar:?]
	at org.wso2.carbon.apimgt.gateway.handlers.analytics.SynapseAnalyticsDataProvider.getAiAnalyticsData(SynapseAnalyticsDataProvider.java:1) ~[org.wso2.carbon.apimgt.gateway_9.30.10.jar:?]
	at org.wso2.carbon.apimgt.gateway.handlers.analytics.SynapseAnalyticsDataProvider.getProperties_aroundBody40(SynapseAnalyticsDataProvider.java:434) ~[org.wso2.carbon.apimgt.gateway_9.30.10.jar:?]
	at org.wso2.carbon.apimgt.gateway.handlers.analytics.SynapseAnalyticsDataProvider.getProperties(SynapseAnalyticsDataProvider.java:1) ~[org.wso2.carbon.apimgt.gateway_9.30.10.jar:?]
	at org.wso2.carbon.apimgt.common.analytics.collectors.impl.SuccessRequestDataCollector.collectData(SuccessRequestDataCollector.java:71) ~[org.wso2.carbon.apimgt.common.analytics_9.30.10.jar:?]
	at org.wso2.carbon.apimgt.common.analytics.collectors.impl.GenericRequestDataCollector.collectData(GenericRequestDataCollector.java:46) ~[org.wso2.carbon.apimgt.common.analytics_9.30.10.jar:?]
	at org.wso2.carbon.apimgt.gateway.handlers.analytics.AnalyticsMetricsHandler.handleResponseOutFlow_aroundBody8(AnalyticsMetricsHandler.java:95) ~[org.wso2.carbon.apimgt.gateway_9.30.10.jar:?]
	at org.wso2.carbon.apimgt.gateway.handlers.analytics.AnalyticsMetricsHandler.handleResponseOutFlow(AnalyticsMetricsHandler.java:1) ~[org.wso2.carbon.apimgt.gateway_9.30.10.jar:?]
	at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:191) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:578) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:123) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:126) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:74) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.api.Resource.process(Resource.java:338) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.api.API.process(API.java:420) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.api.AbstractApiHandler.apiProcessNonDefaultStrategy(AbstractApiHandler.java:109) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.api.AbstractApiHandler.identifyAPI(AbstractApiHandler.java:129) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:54) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:90) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:63) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:350) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:661) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:212) ~[synapse-core_4.0.0.wso2v128.jar:4.0.0-wso2v128]
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) ~[axis2_1.6.1.wso2v76.jar:?]
	at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:339) ~[synapse-nhttp-transport_4.0.0.wso2v128.jar:?]
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) ~[axis2_1.6.1.wso2v76.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
	at java.lang.Thread.run(Thread.java:840) ~[?:?]

Related Issues

No response

Suggested Labels

No response

@AnuGayan
Copy link

AnuGayan commented Oct 8, 2024

Fixed by wso2/carbon-apimgt#12639

@AnuGayan AnuGayan closed this as completed Oct 8, 2024
@RakhithaRR RakhithaRR added this to the APIM 4.4.0 Beta milestone Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants