Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-45697

gomemcached - unit test failures

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 7.0.0
    • Cheshire-Cat
    • gomemcached
    • None
    • Untriaged
    • 1
    • Unknown

    Description

      Was running some unit tests for gomemcached in anticipation of checking new changes, and found the following failures.

      1 - This commit:

      commit 8e4fcecde97cd7a52589edab81c4bf2db8ddec31
      Author: Marco Greco <marco.greco@couchbase.com>
      Date:   Fri Nov 6 10:57:54 2020 +0000
       
          MB-42555 mark connections as unusable on golang / os socket errors
       
          Change-Id: I9c793fe1f44cef9a788f870a3e20f6c89c75d6b1
      

      Caused this unit test to fail:

      --- FAIL: TestIsFatal (0.00s)
          mc_res_test.go:206: Expected false for &errors.errorString{s:"something"} (1)
      FAIL
      

      Could be an innocuous failure... I'll leave it up to you if you want to fix the test or disable the test entirely.

      2 - This commit

      commit 69f4f4c5532ea82f20d1fa59882cdf13c8120ce3
      Author: Marco Greco <marco.greco@couchbase.com>
      Date:   Mon Feb 1 18:21:12 2021 +0000
       
          MB-42940 implement impersonate and fix flexible frames
       
          Change-Id: I274abaeb450047579127293c998f5beb8251399e
      

      caused a few of the tests to fail

      --- FAIL: TestStreamIDSnapshotFull (0.00s)
          mc_req_test.go:519:
              	Error Trace:	mc_req_test.go:519
              	Error:      	Not equal:
              	            	expected: []byte{0x8, 0x56, 0x3, 0x0, 0x14, 0x0, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x17, 0x0, 0x1, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x6}
              	            	actual  : []byte{0x8, 0x56, 0x3, 0x0, 0x14, 0x0, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x17, 0x0, 0x1, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0}
       
              	            	Diff:
              	            	--- Expected
              	            	+++ Actual
              	            	@@ -1,5 +1,6 @@
              	            	-([]uint8) (len=47) {
              	            	+([]uint8) (len=50) {
              	            	  00000000  08 56 03 00 14 00 03 6a  00 00 00 17 00 01 03 6a  |.V.....j.......j|
              	            	  00000010  00 00 00 00 00 00 00 00  22 00 01 00 00 00 00 00  |........".......|
              	            	- 00000020  00 00 00 00 00 00 00 00  00 00 18 00 00 00 06     |...............|
              	            	+ 00000020  00 00 00 00 00 00 00 00  00 00 18 00 00 00 06 00  |................|
              	            	+ 00000030  00 00                                             |..|
              	            	 }
              	Test:       	TestStreamIDSnapshotFull
      --- FAIL: TestStreamIDMutation (0.00s)
          mc_req_test.go:552:
              	Error Trace:	mc_req_test.go:552
              	Error:      	Not equal:
              	            	expected: []byte{0x8, 0x57, 0x3, 0x1b, 0x1f, 0x1, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x94, 0x0, 0x1, 0x3, 0x6a, 0x15, 0xc7, 0xc2, 0xb9, 0x55, 0xab, 0x0, 0x0, 0x22, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8, 0x78, 0x64, 0x63, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x43, 0x32, 0x39, 0x38, 0x35, 0x34, 0x7b, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x78, 0x64, 0x63, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x43, 0x32, 0x39, 0x38, 0x35, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x37, 0x2c, 0x20, 0x22, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3a, 0x20, 0x22, 0x39, 0x38, 0x35, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x3a, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x7d}
              	            	actual  : []byte{0x8, 0x57, 0x3, 0x1b, 0x1f, 0x1, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x94, 0x0, 0x1, 0x3, 0x6a, 0x15, 0xc7, 0xc2, 0xb9, 0x55, 0xab, 0x0, 0x0, 0x22, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8, 0x78, 0x64, 0x63, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x43, 0x32, 0x39, 0x38, 0x35, 0x34, 0x7b, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x78, 0x64, 0x63, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x43, 0x32, 0x39, 0x38, 0x35, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x37, 0x2c, 0x20, 0x22, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3a, 0x20, 0x22, 0x39, 0x38, 0x35, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x3a, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x7d, 0x0, 0x0, 0x0}
       
              	            	Diff:
              	            	--- Expected
              	            	+++ Actual
              	            	@@ -1,2 +1,2 @@
              	            	-([]uint8) (len=172) {
              	            	+([]uint8) (len=175) {
              	            	  00000000  08 57 03 1b 1f 01 03 6a  00 00 00 94 00 01 03 6a  |.W.....j.......j|
              	            	@@ -11,3 +11,3 @@
              	            	  00000090  22 39 38 35 34 22 2c 20  22 62 6f 64 79 22 3a 22  |"9854", "body":"|
              	            	- 000000a0  30 30 30 30 30 30 30 30  30 30 22 7d              |0000000000"}|
              	            	+ 000000a0  30 30 30 30 30 30 30 30  30 30 22 7d 00 00 00     |0000000000"}...|
              	            	 }
              	Test:       	TestStreamIDMutation
      --- FAIL: TestSystemEventMutation (0.00s)
          mc_req_test.go:580:
              	Error Trace:	mc_req_test.go:580
              	Error:      	Not equal:
              	            	expected: []byte{0x8, 0x5f, 0x3, 0x4, 0xd, 0x0, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x24, 0x0, 0x1, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x63, 0x6f, 0x6c, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x8}
              	            	actual  : []byte{0x8, 0x5f, 0x3, 0x4, 0xd, 0x0, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x24, 0x0, 0x1, 0x3, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x63, 0x6f, 0x6c, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0}
       
              	            	Diff:
              	            	--- Expected
              	            	+++ Actual
              	            	@@ -1,2 +1,2 @@
              	            	-([]uint8) (len=60) {
              	            	+([]uint8) (len=63) {
              	            	  00000000  08 5f 03 04 0d 00 03 6a  00 00 00 24 00 01 03 6a  |._.....j...$...j|
              	            	@@ -4,3 +4,3 @@
              	            	  00000020  00 00 04 00 00 00 00 00  63 6f 6c 31 00 00 00 00  |........col1....|
              	            	- 00000030  00 00 00 00 00 00 00 08  00 00 00 08              |............|
              	            	+ 00000030  00 00 00 00 00 00 00 08  00 00 00 08 00 00 00     |...............|
              	            	 }
              	Test:       	TestSystemEventMutation
      
      

      IIRC, the binary file was captured data from DCP... it has been a while so I'm not sure if it has changed or not.
      From the look of things, the parsing change added 3 bytes at the end.

      It may be fine to have the extra bytes, but XDCR hasn't used streamID since POC and wanted to bring it up to ensure that the test failure is red-herring and hopefully either fix the test to reflect that or disable the test if it's outdated.

      Or ... if you think the extra bytes shouldn't be there as it doesn't fully represent the original data from DCP, that's also a possibility.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            marco.greco Marco Greco (Inactive)
            neil.huang Neil Huang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty