I have had successful message transfers to our Azure IOT connection, but am getting errors if the message is too big.
If the message length is 5438 bytes the message is confirmed and I can see the data, but if the message is 5458 bytes the message fails.
IOT result message is IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY
It fails here ... (timeout is 10 seconds)
int diff = (int)(millis() - start_ms);
if (diff >= EVENT_TIMEOUT_MS)
{
// Time out, reset the client
LogError("Waiting for send confirmation, time is up %d", diff);
resetClient = true;
}
I can't find a setting in the IOT SDK code or in our Azure account that relates to this limit.
What have I missed?
I am using a ESP32 Wrover module and the Arduino AzureIOThub library 1.6 (according to the library manager).
I have captured the error event as below for a 10k message. I've removed some detail to fit into the 1600 character question limit.
IOT result message is IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY
It fails here ... (timeout is 10 seconds)
int diff = (int)(millis() - start_ms);
if (diff >= EVENT_TIMEOUT_MS)
{
// Time out, reset the client
LogError("Waiting for send confirmation, time is up %d", diff);
resetClient = true;
}
msg: >>>Send MQTT data 10238
{"deviceId":"Humensity03", "MAC_ADDR":"C45BBE31E844", "FIRMWARE_VERSION":"A00", "messageId":"C45BBE31E844-15060F041A", "TA":28.24, "RH":51.21, "BP":1006.80, "VOC":44.27, "TOFhdr":"CCA09813FF0052525409080000003232210A1A00", "TOFdata":"096009600960 09600960DD"}
Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.
Error: Time:Thu Jul 15 04:26:21 2021 File:\AzureIoT\src\Esp32MQTTClient.cpp Func:SendEventOnce Line:317 Waiting for send confirmation, time is up 10045
Info: >>>Re-connect.
Error: Time:Thu Jul 15 04:26:21 2021 File:AzureIoT\src\az_iot\c-utility\pal\src\tlsio_openssl_compact.c Func:tlsio_openssl_destroy Line:213 tlsio_openssl_destroy called while not in TLSIO_STATE_CLOSED.
Info: >>>Confirmation[0] received for message tracking id = 0 with result = IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY
Info: IoT Hub SDK for C, version 1.1.23
Sorry added an answer instead of a reply.
I'm seeing this mentioned in various source places, but can't decide if it relates to server or client.
task_stack: MQTT task stack size, defaults to 6144 bytes, setting this will override setting