InternalSDKException when node fails

Description

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 with get_any_replica() . However, this fails with InternalSDKException which seems to be the result of poor checking of error conditions inside the SDK. 

 

Reproduction steps:

  1. Edit the connection details in the test program (host, user, password, bucket)

  2. Start the test program

  3. Pull the plug on a node containing the test document (go by trial and error)

  4. When the code attempts to read with get_any_replica(), it fails throwing the InternalSDKException

 

Here's an output showing the behavior:

 

Environment

None

Gerrit Reviews

None

Release Notes Description

None

Attachments

1

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.

Details

Assignee

Reporter

Story Points

Fix versions

Affects versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

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