Posts

Showing posts from May, 2022

WSO2 APIM | Server Startup Heap Size Changes

Image
Hello WSO2 folks, I'll be sharing another good experience of WSO2 APIM production monitoring & troubleshooting. Environment WSO2 API Manager v3.2.0.x Use Case We have deployed WSO2 API Manager v3.2.0.x on the OpenShift Container platform and got some critical observations in carbon logs. The initial deployment was successful and carbon logs were not printing any error messages. So the APIs are configured via the publisher portal, and subscriptions are done via the dev portal. API calls started and traffic on gateway components started. However, after some time we noticed that the API gateway calls are getting failed with HTTP 5XX error codes . Root Cause Analysis We have done the analysis of the issue and found that there is a heap size issue in the carbon server and it's resulting in the API gateway component going down. Following error logs were identified- j ava.lang.OutOfMemoryError: Java heap space Ther Solution This problem has arisen due to insufficient memory i.e. R

WSO2 APIM | API key generation with new subscription tier

Image
Hello WSO2 folks! In this blog, I am going to share a use case where I've to generate new API Key In WSO2 API Manager with a new subscription tier. Environment WSO2 API Manager v3.2.0.x Use Case There was an API subscribed with an application with subscription tier 10 Request/Minute i.e. the default one and the API consumer was using the same with API Key. The API consumer was not provided the dev portal access and shared the API  Key over the email.  After some time, the API consumer has reported that sometimes they are getting HTTP 429 Too Many Requests Error and API call is failed. This issue was intermittently reported by the API consumer. Analysis We have done further investigation and found that they have provisioned a batch process that also calls the same API with 8 Request/Sec i.e. 480 Request/Minute. So we have created a custom rate-limiting policy with 1000 Request/Minute and attached it to the same application. However, the issue remains the same. The Solution We have