InternalSDKException when node fails
Description
Environment
None
Gerrit Reviews
None
Release Notes Description
None
Attachments
1
is caused by
Activity
Show:

Jared Casey November 3, 2022 at 5:39 PM
Updated C++ client to incorporate changes to fix issue.

Jared Casey October 24, 2022 at 11:22 PM
Root cause has been fixed (see linked ticket ). Need to update the Python to incorporate latest cxx client changes to confirm on the Python side. Once confirmed will closed the ticket.

Jared Casey October 11, 2022 at 11:52 PM
Able to replicate the error. Will provide further details once I am able to determine root cause, but it would appear the value returned from get_any_replica is corrupted for which leads to an error when decoding.

Jared Casey October 7, 2022 at 3:40 PM
Hi - Thanks for the details and sample script. I will check this out first thing next week to see what we might need to do in order to fix the behavior.
Fixed
Pinned fields
Click on the next to a field label to start pinning.
Created October 6, 2022 at 8:43 AM
Updated November 3, 2022 at 5:41 PM
Resolved November 3, 2022 at 5:41 PM
Instabug
Using the attached test program along with version 4.0.4 of the python SDK, when a cluster node goes down (e.g. network failure, power failure, etc.) without it being failed over, I'm experiencing an
InternalSDKException.
The test program loops forever reading a document, using
get()
. If an exception occurs, it tries to read the document withget_any_replica()
. However, this fails withInternalSDKException
which seems to be the result of poor checking of error conditions inside the SDK.Reproduction steps:
Edit the connection details in the test program (host, user, password, bucket)
Start the test program
Pull the plug on a node containing the test document (go by trial and error)
When the code attempts to read with
get_any_replica()
, it fails throwing the InternalSDKExceptionHere's an output showing the behavior: