Uploaded image for project: 'Couchbase Go SDK'
  1. Couchbase Go SDK
  2. GOCBC-1531

ExpiryTest.projectionWithExpiration() failing with SDK_PATH_NOT_FOUND_EXCEPTION

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 2.7.0
    • None
    • None
    • None
    • 7.0, 7.1, 7.2, 7.6

    Description

      Total failure: 1*4 = 4

      Test: 

      @TestFactory
      @DisplayName("Upsert doc with expiry and get with projection")
      Stream<DynamicTest> projectionWithExpiration() {
          return iterate(p -> {
              String id = UUID.randomUUID().toString();
       
              var expiry = Expiry.newBuilder().setRelativeSecs(5).build();
              var upsertOptions = com.couchbase.client.protocol.sdk.kv.UpsertOptions.newBuilder().setExpiry(expiry).build();
              execute(shared, command(KvCommandUtil.upsert(collection, id, FOO_CONTENT, upsertOptions), p.api));
       
              var getOptions = com.couchbase.client.protocol.sdk.kv.GetOptions.newBuilder()
                      .addAllProjection(Arrays.asList("foo", "created", "notfound"))
                      .setWithExpiry(true)
                      .build();
              var getResult = execute(shared, command(KvCommandUtil.get(collection, id, getOptions), p.api));
              assertHasExpiry(getResult);
       
              JsonObject decoded = JsonObject.fromJson(getResult.getGetResult().getContent().getContentAsBytes().toByteArray());
              assertEquals("bar", decoded.getString("foo"), getResult::toString);
              assertEquals(true, decoded.getBoolean("created"), getResult::toString);
              assertFalse(decoded.containsKey("age"), getResult::toString);
          });
      } 

      Is failing to execute() in line:

      var getResult = execute(shared, command(KvCommandUtil.get(collection, id, getOptions), p.api)); 

      With Exception:

      exception {
        couchbase {
          type: SDK_PATH_NOT_FOUND_EXCEPTION
          serialized: "sub-document error at index 3: path not found | {\"status_code\":204,\"document_key\":\"8e654c27-a16b-448a-90bf-5fefb4798e10\",\"bucket\":\"default\",\"scope\":\"_default\",\"collection\":\"_default\",\"error_name\":\"SUBDOC_MULTI_PATH_FAILURE\",\"error_description\":\"Subdoc: Some (or all) commands failed. Inspect payload for details\",\"opaque\":8,\"last_dispatched_to\":\"172.23.111.132:11210\",\"last_dispatched_from\":\"172.17.0.2:60232\",\"last_connection_id\":\"ad504a6ddc598fc5/0ec7c8e0ebc0edf1\"}"
        }
      } 

      While this line is giving below output in JAVA:

      get_result {
        cas: 1699040949553659904
        content {
          content_as_bytes: "{\"created\":true,\"foo\":\"bar\"}"
        }
        expiry_time: 1699040954
      }
      

      Jenkins failure:
      https://sdk.jenkins.couchbase.com/job/golang/job/transactions/job/TransactionsFITPerformer_SinglePerformer/1069/testReport/com.couchbase.client.kv/ExpiryTest/Setup_test_Infra_and_Execute_Tests___7_1_stable_Vs_GO_MASTER___projectionWithExpiration/
      https://sdk.jenkins.couchbase.com/job/golang/job/transactions/job/TransactionsFITPerformer_SinglePerformer/1069/testReport/com.couchbase.client.kv/ExpiryTest/Setup_test_Infra_and_Execute_Tests___7_0_release_Vs_GO_MASTER___projectionWithExpiration/

      Please help us in looking into this failures. Attaching Driver and FIT Performer logs of one of the test case for your reference. Please feel free to reach out for any further assistance.

       
      Thanks!

       

      Attachments

        Issue Links

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

          Activity

            People

              charles.dixon Charles Dixon
              aaliya.haque Aaliya Haque
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty