Details
-
Task
-
Resolution: Fixed
-
Blocker
-
2.3.0
-
None
-
Security Level: Public
-
None
Description
How to reproduce:
1) Start claster with 3 nodes
2) Start a loop of getting some vakue from claster ()first use lcb_get and if NETWORK_ERROR or CONNECTION_ERROR then try to use lcb_get_replica)
3) Stop one node - as a result we have crash
There is a call stack below:
libcouchbase.dll!ringbuffer_ensure_capacity(ringbuffer_st * buffer=0x00000000, unsigned long size=0x00000018) Line 62 + 0x4
libcouchbase.dll!lcb_server_buffer_start_packet_ex(lcb_server_st * c=0x066b0770, lcb_command_data_st * ct=0x12edfce0, ringbuffer_st * buff=0x00000000, ringbuffer_st * buff_cookie=0x066b0794, const void * data=0x12edfd00, unsigned long size=0x00000018) Line 199 + 0x11 libcouchbase.dll!lcb_server_start_packet_ex(lcb_server_st * c=0x066b0770, lcb_command_data_st * ct=0x12edfce0, const void * data=0x12edfd00, unsigned long size=0x00000018) Line 216 + 0x6 bytes C
libcouchbase.dll!lcb_get_replica(lcb_st * instance=0x035ed8c0, const void * command_cookie=0x0357bb88, unsigned long num=0x00000001, const lcb_get_replica_cmd_st * const * items=0x12edfd38) Line 210 C
cache_impl.dll!0a7e2361()
[Frames below may be incorrect and/or missing, no symbols loaded for cache_impl.dll]
cache_impl.dll!0a7e3b1d()