Could anyone let me know how and where to set the swap memory in wso2 esb 5.0.0.
I am getting below warning when I restart esb server.
TID: [-1234] [] [2018-06-07 15:30:33,682] WARN {org.wso2.carbon.core.bootup.validator.util.ValidationResultPrinter} - Swap Memory size (MB): 0 of the system is below the recommended minimum size :2048
You can refer this document about the memory requirements of ESB 5.0.0. The swap memory and other JVM properties can be set at the config-validation.xml in /repository/conf/etc.
Related
I'm trying to push incoming JSON payload to AWS SQS Queue in WSO2 EI 6.4.0. Facing Exception like java.io.IOException: Target Connection is stale intermittently.
We're unable to push payload to Queue.
Log:
[2022-08-27 03:08:49,801] [-1] [] [HTTPS-Sender I/O dispatcher-5] WARN {org.apache.synapse.transport.passthru.Targe
tHandler} - Connection closed by target host while sending the request Remote Address : proxy.abc.com/
10.0.x.x:3090
[2022-08-27 03:08:49,801] [-1234] [] [PassThroughMessageProcessor-29] ERROR {org.apache.synapse.transport.passthru.P
assThroughHttpSSLSender} - IO while building message
java.io.IOException: Target Connection is stale..
As per this wso2 link, do i need to disable this http.connection.stalecheck by making value as 1 in <ESB_Home>/repository/conf/nhttp.properties file?
Please suggest to resolve this issue.
The error java.io.IOException: Target Connection is stale is not the cause of your issue, it's just a by product of the actual issue. With the information provided I believe the actual issue is the following.
[2022-08-27 03:08:49,801] [-1] [] [HTTPS-Sender I/O dispatcher-5] WARN {org.apache.synapse.transport.passthru.Targe
tHandler} - Connection closed by target host while sending the request Remote Address : proxy.abc.com/
10.0.x.x:3090
Since the connection was closed by the target(Assume this is SQS) the collections are getting staled after some time. This is expected, so try to find out why the target is closing the connection. If you are going through a corporate Proxy, check the proxy first, then check SQS side to see whether there is any information useful to debug the issue.
We are doing evaluation for metering purpose using WSO2 API Manager and DAS. (Latest versions)
Environment:
WSO2 API Manager runs as 2 node active-active deployment model using Hazlecast. (4 Core 8GB Ram) &
DAS runs as single node.
Both are connecting to backend RDBMS as mysql.
DAS and MYSQL shares the same server of 12 Core 24GB RAM. We dedicatedly allocated 12GB to MYSQL.
We started the test at the rate of 750reads/sec and everything went well for 27hrs until the metering reaches 72 Million and after which we have got the below error.
At API Manager: [PassThroughMessageProcessor-130] WARN DataPublisher Event queue is full, unable to process the event for endpoint Group.
At Das: (After 10 mins), we have got INFO {com.leansoft.bigqueue.page.MappedPageFactoryImpl} - Page file /$DAS_HOME/repository/data/index_staging_queues/4P/index/page-12.dat was just deleted. {com.leansoft.bigqueue.page.MappedPageFactoryImpl}.
Is this something that we have reached the limit w.r.t the infra setup or some performance issues w.r.t DAS. Can you please help us?
You need to tune the server performance of DAS and APIM
Facing the following issue while trying to connect WSO2 ESB proxy services to queues (newly created) configured in IBM MQ.
The strange part is, able to connect to queues which were already existing in the same Queue Manager, successfully.
TID: [0] [ESB] [2016-01-14 12:05:12,705] INFO {org.apache.axis2.transport.jms.JMSListener} - Connection attempt: 1 for JMS Provider for service: UOFSInterface was successful! {org.apache.axis2.transport.jms.JMSListener}
TID: [0] [ESB] [2016-01-14 12:05:12,712] INFO {org.apache.axis2.transport.jms.ServiceTaskManager} - Task manager for service : UOFSPickedInterface [re-]initialized {org.apache.axis2.transport.jms.ServiceTaskManager}
TID: [0] [ESB] [2016-01-14 12:05:12,829] WARN {org.apache.axis2.transport.jms.JMSUtils} - Cannot locate destination : UOFS.ESB.IN {org.apache.axis2.transport.jms.JMSUtils}
javax.naming.NamingException: Unable to communicate with the queue manager while looking up object UOFS.ESB.IN
at com.ibm.mq.jms.context.MQContext.lookup(MQContext.java:947)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at org.apache.axis2.transport.jms.JMSUtils.lookup(JMSUtils.java:583)
at org.apache.axis2.transport.jms.JMSUtils.lookupDestination(JMSUtils.java:789)
at org.apache.axis2.transport.jms.ServiceTaskManager.getDestination(ServiceTaskManager.java:950)
at org.apache.axis2.transport.jms.ServiceTaskManager.access$2700(ServiceTaskManager.java:50)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConsumer(ServiceTaskManager.java:905)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getMessageConsumer(ServiceTaskManager.java:766)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:516)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:428)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
TID: [0] [ESB] [2016-01-14 12:05:12,833] ERROR {org.apache.axis2.transport.jms.ServiceTaskManager} - Error creating JMS consumer for service : UOFSInterface. JMSWMQ2008: Failed to open MQ queue 'UOFS.ESB.IN'. {org.apache.axis2.transport.jms.ServiceTaskManager}
The MQ client user profile used by the client system (WSO2) didnĀ“t have the appropriate "authorities" like PUT, SET etc., to drop messages into the queue.
The issue was resolved once the profile was given appropriate authorities to PUT, SET & BROWSE on the MQ queue object.
I've been attempting to monitor the WSO2 MB 2.1.1 via JMX which appears to be a valid option for other WSO2 tools such as the ESB however the MB does not appear to be updating any of the MBeans for the Queue attributes.
Ex:
org.wso2.andes:type=VirtualHost.Queue,VirtualHost="carbon",name="testQueue"
This has a number of potentially useful attributes like the following:
ConsumerCount
ActiveConsumerCount
ReceivedMessageCount
MessageCount
However the counters always read "0" even when there are messages in the queue dropped in via the sample sender or manually.
Creating a new queue will create the following, but the issue is seen on the new queue as well.
org.wso2.andes:type=VirtualHost.Queue,VirtualHost="carbon",name="testQueue2"
Am I simply looking in the incorrect location or any other variety of user error?
Is this the intentional behavior of the application?
Do you have any suggestions which may assist in getting this data reported via JMX?
Any help would be appreciated.
Thanks
This does not appear to be functional in MB 2.1.1, it looks as if they may be moving to using the CEP or the BAM to provide metrics on some products.
Update #2 to reflect the comments....
I have tried correcting for this issue launching the services varous ways...
#./wso2server.sh start
#./wso2server.sh -Dprofile=api-key-manager
#nohup ./wso2server.sh -Dprofile=api-key-manager &
Unfortuneately the errors have started occurring regardless.
Earlier post below...
Please note this is an edit...didn't want to post yet another question...
So now I'm really confused. After upgrading WSO2 AM (API Manager) 1.6.0 and the problem persisting I decided to split up the services into Key Manager, Gateway, Store, and Publisher.
So now I have:
I have one server running the store and publisher on different ports.
I have another server running the gateway and keymanager on different ports.
The first service I started was Key Manager... which failed to start with:
2014-01-22 18:09:41,786 [-] [Timer-2] WARN CarbonServerManager Carbon initialization is delayed due to the following unsatisfied items:
2014-01-22 18:09:41,788 [-] [Timer-2] WARN CarbonServerManager Waiting for required OSGiAxis2Service: org.wso2.carbon.mediation.configadmin-4.2.0
2014-01-22 18:09:41,789 [-] [Timer-2] WARN CarbonServerManager Waiting for required OSGiAxis2Service: org.wso2.carbon.apimgt.gateway-1.2.1
2014-01-22 18:09:41,789 [-] [Timer-2] WARN CarbonServerManager Waiting for required OSGiAxis2Service: org.wso2.carbon.proxyadmin-4.2.1
2014-01-22 18:09:41,790 [-] [Timer-2] WARN CarbonServerManager Waiting for required OSGiAxis2Service: org.wso2.carbon.localentry-4.2.0
Which is confusing to me since the Key Manager should not rely on the other components in AM. It only connects to the APIMGT_DB which I've added in api-manager.xml
jdbc/WSO2AM_DB
Any advice?
Here is a wild suggestion that you can tryout. I re-produced your issue frequently in APIM 1.6 server start-up, and after this modification I haven't seen this error anymore. So, may be this would work for you too.
Open the jar file, synapse-core_2.1.2.wso2v3.jar, at APIM_HOME/repository/components/plugins/. You can use a archive openers like file-roller.
Open the file at META-INF/MANIFEST.MF.
Search for the text, javax.xml.soap;version="0.0.0" . Replace it with - javax.xml.soap;version="1.0.0" . (The difference is in the version)
Save the file, and restart the server.
I had the same issue, after we moved from AM 1.5.0 to 1.6.0, the issue disappears.