Commit 8b51919
committed
CCBC-1672: Fix protocol violation
Protocol violation by sending garbage in front of the operations for
new connections. In most of the cases, this bytes getting rejected
by the server with connection termination, and libcouchbase
successfully reconnects the pipeline after that rendering the issue
invisible for the user. But in rare cases the "garbage" might be
actual packet header, and the server does not detect problem as
everything is passing protocol checks.
To fix the issue, the mcreq_wipe_packet have to check pending list of
the pipeline and remove everything related to the current detached
packet.
Change-Id: Ib20a1c11057cf9a1ea66bbb349bcda9976f35c0f
Reviewed-on: https://review.couchbase.org/c/libcouchbase/+/232491
Reviewed-by: Michael Reiche <michael.reiche@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>1 parent 21b89aa commit 8b51919
3 files changed
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
369 | 372 | | |
370 | 373 | | |
371 | 374 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
729 | 729 | | |
730 | 730 | | |
731 | 731 | | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
732 | 746 | | |
733 | 747 | | |
734 | 748 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
341 | 341 | | |
342 | 342 | | |
343 | 343 | | |
| 344 | + | |
344 | 345 | | |
345 | 346 | | |
346 | 347 | | |
| |||
0 commit comments