From 0b9ad35e0674ea475069fbf9951902bf0f3f31fe Mon Sep 17 00:00:00 2001
From: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
Date: Tue, 21 Jan 2025 12:14:38 -0900
Subject: [PATCH] gz: increase timeout for service request (#24164)

* gz: increase timeout for service request

* change error messages to warnings, specify retrying

* fix typo
---
 src/modules/simulation/gz_bridge/GZBridge.cpp | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/modules/simulation/gz_bridge/GZBridge.cpp b/src/modules/simulation/gz_bridge/GZBridge.cpp
index 2dc1ef13e4f4..e7b3ea484e9d 100644
--- a/src/modules/simulation/gz_bridge/GZBridge.cpp
+++ b/src/modules/simulation/gz_bridge/GZBridge.cpp
@@ -141,7 +141,7 @@ int GZBridge::init()
 
 				// If Gazebo has not been called, wait 2 seconds and try again.
 				else {
-					PX4_WARN("Service call timed out as Gazebo has not been detected.");
+					PX4_WARN("Service call timed out as Gazebo has not been detected. Retrying...");
 					system_usleep(2000000);
 				}
 			}
@@ -159,7 +159,7 @@ int GZBridge::init()
 
 			while (scene_created == false) {
 				if (!callSceneInfoMsgService(scene_info_service)) {
-					PX4_WARN("Service call timed out as Gazebo has not been detected.");
+					PX4_WARN("Service call timed out as Gazebo has not been detected. Retrying...");
 					system_usleep(2000000);
 
 				} else {
@@ -919,7 +919,7 @@ bool GZBridge::callEntityFactoryService(const std::string &service, const gz::ms
 		}
 
 	} else {
-		PX4_ERR("Service call timed out. Check GZ_SIM_RESOURCE_PATH is set correctly.");
+		PX4_WARN("Service call timed out. Check GZ_SIM_RESOURCE_PATH is set correctly.");
 		return false;
 	}
 
@@ -932,7 +932,7 @@ bool GZBridge::callSceneInfoMsgService(const std::string &service)
 	gz::msgs::Empty req;
 	gz::msgs::Scene rep;
 
-	if (_node.Request(service, req, 1000, rep, result)) {
+	if (_node.Request(service, req, 3000, rep, result)) {
 		if (!result) {
 			PX4_ERR("Scene Info service call failed.");
 			return false;
@@ -942,7 +942,7 @@ bool GZBridge::callSceneInfoMsgService(const std::string &service)
 		}
 
 	} else {
-		PX4_ERR("Service call timed out. Check GZ_SIM_RESOURCE_PATH is set correctly.");
+		PX4_WARN("Service call timed out. Check GZ_SIM_RESOURCE_PATH is set correctly.");
 		return false;
 	}
 
@@ -955,7 +955,7 @@ bool GZBridge::callStringMsgService(const std::string &service, const gz::msgs::
 
 	gz::msgs::Boolean rep;
 
-	if (_node.Request(service, req, 1000, rep, result)) {
+	if (_node.Request(service, req, 3000, rep, result)) {
 		if (!rep.data() || !result) {
 			PX4_ERR("String service call failed");
 			return false;
@@ -964,7 +964,7 @@ bool GZBridge::callStringMsgService(const std::string &service, const gz::msgs::
 	}
 
 	else {
-		PX4_ERR("Service call timed out: %s", service.c_str());
+		PX4_WARN("Service call timed out: %s", service.c_str());
 		return false;
 	}
 
@@ -977,7 +977,7 @@ bool GZBridge::callVector3dService(const std::string &service, const gz::msgs::V
 
 	gz::msgs::Boolean rep;
 
-	if (_node.Request(service, req, 1000, rep, result)) {
+	if (_node.Request(service, req, 3000, rep, result)) {
 		if (!rep.data() || !result) {
 			PX4_ERR("String service call failed");
 			return false;
@@ -986,7 +986,7 @@ bool GZBridge::callVector3dService(const std::string &service, const gz::msgs::V
 	}
 
 	else {
-		PX4_ERR("Service call timed out: %s", service.c_str());
+		PX4_WARN("Service call timed out: %s", service.c_str());
 		return false;
 	}