WSO2 ESB Error Publishing Event from a MQTT Inbound Endpoints - wso2

When I try to publish an Event to DAS from a sequence that starts from an mqtt Inbound Endpoint, appears the error described here: https://wso2.org/jira/browse/ESBJAVA-4516 that happens with the Scheduled Task.
I tried this with ESB 4.9 and 5.0 Beta and receive the same error.
There is a way to workaround this?

Related

AWS IOT Core - Custom Authentication and ALPN

I am building an integration between IOT Edge Quectel_BG96 and AWS IOT Core. The requirements are:
These IOT edges should authenticate using Custom Authenticator ( Username and password )
Quectel_BG96 has difficulties to implment ALPN. This means that I am not able to connect from the device, as there is no way for us to set this parameter in the TLS connection.
I built everything and all pieces are working as expected: Able to authenticate, able to pub/sub with no issues, BUT not from the modem Quectel_BG96.
My question to the community is: Is there away I can skip the ALPN requirement? Or to anything in AWS infra that plays as a middleware between two devices: Edge and AWS IOT Core?
Thank you in advance for any help
I tried connecting to AWS IOT Core using mosquito_pub and it works with no issues. I am expecting to be able to connect to AWS IOT Core from the iot edge and without setting up the ALPN.
According to the doc, you can use mqtt over port 8883 without setting the ALPN. But it is with x509 certificates. Otherwise it is mqtt over websockets.
Here is the link:
https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html

aws iot core throttling indication

We are using the java v2 aws iot core sdk, and when trying to test publish and send 500 messages tp one client at once, only ~320 messages arrive to the client.
is this a throttling issue ? if so how can we check if published messages got throttled ?

localstack error for IoT: Connection was closed before we received a valid response

I am trying to setup localstack for our AWS IoT stack testing. But I am getting connection timeout error for very basic API such as list-thing-groups, list-thing, etc. As IoT is not supported in the free tier, I am using the paid version of the localstack. I have enabled SQS, SNS and IoT services using localstack by setting up the variable SERVICES
export SERVICES=sqs,sns,iot
Getting the following error message:
$ aws --endpoint-url=http://localhost:4589 iot list-thing-groups
Connection was closed before we received a valid response from endpoint URL: "http://localhost:4589/thing-groups".
When I tried to use SNS, it worked fine without any issue. Not sure why it is not working for IoT. The message after starting the localstack container does not talk about IoT, not sure why.
Starting local dev environment. CTRL-C to quit.
2019-11-07T01:37:24:INFO:localstack_ext.bootstrap.licensing: Successfully activated API key
Waiting for all LocalStack services to be ready
Starting mock SNS (http port 4575)...
2019-11-07T01:37:25:INFO:localstack.multiserver: Starting multi API server process on port 51492
Starting mock SQS (http port 4576)...
Ready.
Let me know if I am missing anything.

AWS MQTT broker scaling issues

I am using AWS IoT in my cloud application.
I have created IoT rules and lambda functions to process the MQTT publish messages.
When the MQTT Client publishes the message to a topic, a rule is triggered and a lambda function is executed.
While carrying out the load testing, I found that, after some time, MQTT broker doesn’t process the messages.
On the AWS IoT ( monitor ) console, I can see the number of successful connections reaching to 400.
My MQTT clients are opening around 50 connections, publishing the message and waiting for async response on another topic for 60 seconds.
After receiving the response or 60 seconds timeout, these connections are closed.
Then next set of 50 connection requests are made to AWS MQTT broker.
The client is developed using AWSIoTPythonSDK.
I don’t see any errors in the IOT console as well as in the Lambda monitoring console.
Also I don’t see any message or log, which says the request are throttled.
I have raised a request to increase the limit for number Connect Requests Per Second to 1000.
Is there any way to find out, if the MQTT broker is throttling the request or if there are any other errors?
Following url is about aws iot limits.
https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iot
Did you turn on aws iot log(debug level or info level)? And Can you see connection logs in cloudWatch?

Google IoT Core MQTT publish error

I have my own MQTT client that connect to Google IoT Core. When I send connect message I received connack, and successfully send pingreq and received pingresp, but when I send publish message my connection is broken and I have error:
mqtt: User not authorized to perform this action.
My publish topic is /devices/{device-id}/events
I'd recommend looking at "I'm not receiving telemetry data on Cloud Pub/Sub" in https://cloud.google.com/iot/docs/troubleshooting. I suspect it may be related to the "Cloud IoT Core Service Agent" section.