Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-3475

query_context possibly not sent on scoped queries (Transactions)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • backlog-3.0
    • None
    • None
    • None
    • 1
    • SDK44, SDK48, SDK50, SDK52, SDK02: V.Search, maxTTL=-1, SDK04: Scope Search

    Description

      26 Test permutations of `permute_allFailedTransactions_checkQueryStmtBehaviour` are failing in cluster version 7.0-release, 7.1-stable, 7.2-stable in .NET with error:

      org.opentest4j.AssertionFailedError: Expected transaction to raise cause UnambiguousTimeoutException, but instead it raised exception: EXCEPTION_UNKNOWN
      exception_cause: CouchbaseException 

       

      Links of some Jenkins failures: 

      https://sdk.jenkins.couchbase.com/job/dotnet/job/sdk/job/TransactionsFITPerformer_SinglePerformer/1322/testReport/com.couchbase.transactions.query.single_query/SingleQueryTransactionBlockedByAFailedTxnTest/Setup_test_Infra_and_Execute_Tests___7_0_release_Vs_DOTNET_MASTER___permute_allFailedTransactions_checkQueryStmtBehaviour/

      https://sdk.jenkins.couchbase.com/job/dotnet/job/sdk/job/TransactionsFITPerformer_SinglePerformer/1322/testReport/com.couchbase.transactions.query.single_query/SingleQueryTransactionBlockedByAFailedTxnTest/Setup_test_Infra_and_Execute_Tests___7_0_release_Vs_DOTNET_MASTER___permute_allFailedTransactions_checkQueryStmtBehaviour_2/

      https://sdk.jenkins.couchbase.com/job/dotnet/job/sdk/job/TransactionsFITPerformer_SinglePerformer/1322/testReport/com.couchbase.transactions.query.single_query/SingleQueryTransactionBlockedByAFailedTxnTest/Setup_test_Infra_and_Execute_Tests___7_0_release_Vs_DOTNET_MASTER___permute_allFailedTransactions_checkQueryStmtBehaviour_3/

      https://sdk.jenkins.couchbase.com/job/dotnet/job/sdk/job/TransactionsFITPerformer_SinglePerformer/1322/testReport/com.couchbase.transactions.query.single_query/SingleQueryTransactionBlockedByAFailedTxnTest/Setup_test_Infra_and_Execute_Tests___7_0_release_Vs_DOTNET_MASTER___permute_allFailedTransactions_checkQueryStmtBehaviour_4/

      https://sdk.jenkins.couchbase.com/job/dotnet/job/sdk/job/TransactionsFITPerformer_SinglePerformer/1322/testReport/com.couchbase.transactions.query.single_query/SingleQueryTransactionBlockedByAFailedTxnTest/Setup_test_Infra_and_Execute_Tests___7_0_release_Vs_DOTNET_MASTER___permute_allFailedTransactions_checkQueryStmtBehaviour_5/

       

      Below is the failed test:

      /**
       * Generate the different kinds of failures for a transaction. Verify the txn2 reacts to this as expected. But Txn2 will work on the documents in query stmt
       *
       * @return
       */
      @TestFactory
      Stream<DynamicTest> permute_allFailedTransactions_checkQueryStmtBehaviour() {
          return Stream.of(Operation.INSERT, Operation.REPLACE, Operation.REMOVE)
                  .flatMap(txnOperation ->
                          Stream.of(FailureStages.values())
                                  .flatMap(failurePoint ->
                                          Stream.of(true, false)
                                                  .flatMap(transactionExpired ->
                                                          Stream.of(QueryOp.values())
                                                                  .map(QueryOp -> {
                                                                      String idx = String.format("txnMutation: %s, failurePoint: %s, QueryOp: %s , transactionExpired: %s", txnOperation, failurePoint, QueryOp, transactionExpired);
                                                                      return DynamicTest.dynamicTest(idx,
                                                                              () -> checkQueryStmtBehaviour(txnOperation, failurePoint, QueryOp, transactionExpired));
                                                                  }))));
      }
       

      After doing some investigation, found that below line of file `test-driver/src/test/java/com/couchbase/transactions/util/TransactionSingleQueryBuilder.java` produces the error `EXCEPTION_UNKNOWN` as a value of singleQueryResponse.

      TransactionSingleQueryResponse singleQueryResponse = this.sendToPerformer(); 

      Please help us look into this. Attaching docker and IntelliJ logs for your reference. Please feel free to reach out for any further assistance.

      Thanks!

      Attachments

        1. FIT_Perf_log.txt
          1.28 MB
          Aaliya Haque
        2. driverLog.txt
          299 kB
          Aaliya Haque

        Issue Links

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

          Activity

            People

              richard.ponton Richard Ponton
              aaliya.haque Aaliya Haque
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty