The 30 second answer
Request threads block, often indefinitely depending on the client defaults, which exhausts the Tomcat thread pool and connection pools so unrelated requests stop getting answers. If this call sits inside a database transaction, you also hold a DB connection open. Set explicit connect and read timeouts, add a circuit breaker and bulkhead, retry only with backoff on idempotent calls, and never call remote APIs inside a DB transaction.
Request threads block (potentially indefinitely, depending on the client's defaults) → Tomcat thread pool / connection pool exhaustion → your service stops responding to unrelated requests: cascading failure. If inside a transaction, a DB connection is held too. Fix: explicit connect + read timeouts (Spring Boot spring.http.client.* settings / ClientHttpRequestFactorySettings for RestClient/RestTemplate), circuit breaker + bulkhead (Resilience4j), retries only with backoff and on idempotent calls, never call remote APIs inside a DB transaction. Editor's note: default timeout values differ per HTTP client and Spring Boot version — check the property appendix for your version.
Sources: