FAQs
Updated at:2025-11-03
FAQs
Failed to parse the response result
- Error cause: This exception indicates the Java SDK encountered an issue parsing the server’s response packet. Typically, this occurs when the client’s network layer intercepts the response, preventing the SDK from interpreting the result.
- Solution: Debug the code via IDEA, set a breakpoint before the result is returned, execute the process, and analyze the returned result for evidence of tampering or interception. If identified, adjust the network parsing and whitelist the BOS address to prevent hijacking.
SignatureDoesNotMatch
-
Error reason
- The AccessKey ID and AccessKey Secret do not match
- Version mismatch: Starting from v0.10.227, the SDK automatically enables bucket virtual hosting by default. If users encounter signature errors, it may be due to an outdated SDK version, which prevents proper formatting of requests into a four-level domain structure.
- The client’s network layer modifies the HTTP request. Network configurations on the client side may alter the host in the request header, leading to discrepancies between the server-identified host and signature verification results.
-
Solution:
- Users check their own AK and SK
- Update the SDK to the latest version
- The client verifies the outbound network route and displays the header and body fields of the request before transmission. Then, it contacts the BOS on-duty staff to confirm whether the backend has received a request with consistent header and other fields.
Unable to execute HTTP request
-
Error reason
- A large number of org.apache.http.impl.conn.PoolingHttpClientConnectionManager instances in the JVM can lead to connection saturation, preventing HTTP requests from establishing connections. This issue may sporadically occur if a new BosClient is created each time the client is used.
- Occasional network connection fluctuations or the client environment’s CPU and IO being fully occupied
-
Solution:
- Actively close the BosClient that has finished executing or use the singleton pattern
- The business side retries
SocketException
-
Error reason
- The socket may fail during the init phase, causing the request to not reach BOS
-
Solution:
- Check if there is network fluctuation when the problem occurs
- Check if the number of socket connections on the host is full, and confirm whether the number of connections exceeds the maxconnection set in the SDK when the problem occurs; if the number of connections exceeds the maxconnection setting, socket exceptions will also occur
- Use tcpdump or Wireshark tools to capture packets, and analyze the data packets after the problem recurs for troubleshooting
Connection pool shut down
-
Error reason
- After calling the bosClient.shutdown() API, continue to send requests through the bosClient
-
Solution:
- Please review the invocation logic to ensure no requests are issued via the bosClient after the bosClient.shutdown() API is called. If requests are needed post-shutdown, create a new BosClient instance.
Too Many Requests
-
Error reason
- The client’s request concurrency is too high, triggering the speed limit on the BOS server, so some requests are rejected
-
Solution:
- Please check the calling logic to ensure that the increased concurrency is not caused by abnormal business logic
- If a high concurrency is really needed, you can contact the BOS on-duty staff to see if the speed limit can be increased
- The business side reduces the concurrency by itself
