Skip to content

Commit c8f1275

Browse files
committed
set metrics should not fail the mqtt5 client
1 parent 2bbb311 commit c8f1275

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

src/native/mqtt5_client.c

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2121,24 +2121,19 @@ JNIEXPORT jlong JNICALL Java_software_amazon_awssdk_crt_mqtt5_Mqtt5Client_mqtt5C
21212121
/* Check if metrics are enabled and set metrics value */
21222122
jboolean metrics_enabled =
21232123
(*env)->GetBooleanField(env, jni_options, mqtt5_client_options_properties.metrics_enabled_field_id);
2124-
if (aws_jni_check_and_clear_exception(env)) {
2125-
s_aws_mqtt5_client_log_and_throw_exception(
2126-
env, "MQTT5 client new: error getting metrics enabled", AWS_ERROR_INVALID_STATE);
2127-
goto clean_up;
2128-
}
2124+
bool metrics_has_error = aws_jni_check_and_clear_exception(env);
21292125

2130-
if (metrics_enabled) {
2126+
if (!metrics_has_error && metrics_enabled) {
21312127
jobject jni_iot_device_sdk_metrics =
21322128
(*env)->GetObjectField(env, jni_options, mqtt5_client_options_properties.iot_device_sdk_metrics_field_id);
2133-
if (aws_jni_check_and_clear_exception(env)) {
2134-
s_aws_mqtt5_client_log_and_throw_exception(
2135-
env, "MQTT5 client new: error getting IoT device SDK metrics", AWS_ERROR_INVALID_STATE);
2136-
goto clean_up;
2129+
if (!aws_jni_check_and_clear_exception(env)) {
2130+
iot_device_sdk_metrics =
2131+
aws_mqtt_iot_sdk_metrics_java_jni_create_from_java(env, allocator, jni_iot_device_sdk_metrics);
2132+
client_options.metrics = iot_device_sdk_metrics ? &iot_device_sdk_metrics->metrics : NULL;
2133+
} else {
2134+
AWS_LOGF_DEBUG(
2135+
AWS_LS_MQTT5_CLIENT, "MQTT5 client new: Was unable to set metrics, continuing with no metrics.");
21372136
}
2138-
2139-
iot_device_sdk_metrics =
2140-
aws_mqtt_iot_sdk_metrics_java_jni_create_from_java(env, allocator, jni_iot_device_sdk_metrics);
2141-
client_options.metrics = &iot_device_sdk_metrics->metrics;
21422137
}
21432138

21442139
/* Make the MQTT5 client */

0 commit comments

Comments
 (0)