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

Dropping a dataset with an non-existent dataverse returns error 24034 (cannot find dataverse) in 6.6, but a "cannot find dataset" error in 6.5

    XMLWordPrintable

    Details

    • Triage:
      Untriaged
    • Story Points:
      1
    • Is this a Regression?:
      Yes
    • Sprint:
      CX Sprint 209

      Description

      We (Java SDK folk) are now running our CI tests against 6.6, which has found this minor regression.

      The test is:

      @Test
      void dropDatasetFailsIfAbsent() {
          assertThrows(DatasetNotFoundException.class, () -> analytics.dropDataset("foo",
            dropDatasetAnalyticsOptions()
                .dataverseName("absentDataverse")));
      }
       

      In 6.6 this now fails as it raises a DataverseNotFoundException rather than DatasetNotFoundException, as cbas now returns a 24034 code.  In this test and the one below too, neither "foo" nor "absentDataverse" exist.

      This causes problems for our `ignoreIfNotExist` option, which allows dropping datasets and silently ignoring if they don't exist.  Because that logic is expecting a DataverseNotFoundException. 

      E.g. this other test fails with a DataverseNotFoundException, when you would expect it to succeed.  This test also passed in 6.5.

      @Test
      void dropDatasetCanIgnoreAbsent() {
        analytics.dropDataset("foo",
            dropDatasetAnalyticsOptions()
                .ignoreIfNotExists(true)
                .dataverseName("absentDataverse"));
      }
       

       For both tests, if I don't specify a dataverseName then the tests pass as expected.

        Attachments

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

          Activity

          graham.pople Graham Pople created issue -
          graham.pople Graham Pople made changes -
          Field Original Value New Value
          Priority Minor [ 4 ] Major [ 3 ]
          graham.pople Graham Pople made changes -
          Description We (Java SDK folk) are now running our CI tests against 6.6, which has found this minor regression.

          The test is:
          {code:java}
          @Test
          void dropDatasetFailsIfAbsent() {
              assertThrows(DatasetNotFoundException.class, () -> analytics.dropDataset("foo",
                dropDatasetAnalyticsOptions()
                    .dataverseName("absentDataverse")));
          }
           {code}
          In 6.6 this now fails as it raises a DataverseNotFoundException rather than DatasetNotFoundException, as cbas now returns a 24034 code.

          This causes problems for our `ignoreIfNotExist` option, which allows dropping datasets and silently ignoring if they don't exist.  Because that logic is expecting a DataverseNotFoundException. 

          E.g. this other test fails with a DataverseNotFoundException, when you would expect it to succeed (neither "foo" nor "absentDataverse" exist).  This test also passed in 6.5.
          {code:java}
          @Test
          void dropDatasetCanIgnoreAbsent() {
            analytics.dropDataset("foo",
                dropDatasetAnalyticsOptions()
                    .ignoreIfNotExists(true)
                    .dataverseName("absentDataverse"));
          }
           {code}
           
          We (Java SDK folk) are now running our CI tests against 6.6, which has found this minor regression.

          The test is:
          {code:java}@Test
          void dropDatasetFailsIfAbsent() {
              assertThrows(DatasetNotFoundException.class, () -> analytics.dropDataset("foo",
                dropDatasetAnalyticsOptions()
                    .dataverseName("absentDataverse")));
          }
           {code}
          In 6.6 this now fails as it raises a DataverseNotFoundException rather than DatasetNotFoundException, as cbas now returns a 24034 code.  In this test and the one below too, neither "foo" nor "absentDataverse" exist.

          This causes problems for our `ignoreIfNotExist` option, which allows dropping datasets and silently ignoring if they don't exist.  Because that logic is expecting a DataverseNotFoundException. 

          E.g. this other test fails with a DataverseNotFoundException, when you would expect it to succeed.  This test also passed in 6.5.
          {code:java}@Test
          void dropDatasetCanIgnoreAbsent() {
            analytics.dropDataset("foo",
                dropDatasetAnalyticsOptions()
                    .ignoreIfNotExists(true)
                    .dataverseName("absentDataverse"));
          }
           {code}
           For both tests, if I don't specify a dataverseName then the tests pass as expected.
          till Till Westmann made changes -
          Rank Ranked higher
          till Till Westmann made changes -
          Affects Version/s 6.6.0 [ 16787 ]
          till Till Westmann made changes -
          Labels triaged
          till Till Westmann made changes -
          Assignee Till Westmann [ till ] Dmitry Lychagin [ dmitry.lychagin ]
          till Till Westmann made changes -
          Fix Version/s 6.6.0 [ 16787 ]
          till Till Westmann made changes -
          Is this a Regression? Unknown [ 10452 ] Yes [ 10450 ]
          dmitry.lychagin Dmitry Lychagin made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          till Till Westmann made changes -
          Link This issue blocks MB-38724 [ MB-38724 ]
          till Till Westmann made changes -
          Labels triaged approved-for-6.6.0 triaged
          till Till Westmann made changes -
          Due Date 24/Jul/20
          dmitry.lychagin Dmitry Lychagin made changes -
          Sprint CX Sprint 209 [ 1167 ]
          dmitry.lychagin Dmitry Lychagin made changes -
          Link This issue relates to MB-40592 [ MB-40592 ]
          dmitry.lychagin Dmitry Lychagin made changes -
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Resolved [ 5 ]
          ritam.sharma Ritam Sharma made changes -
          Assignee Dmitry Lychagin [ dmitry.lychagin ] Arunkumar Senthilnathan [ arunkumar ]
          arunkumar Arunkumar Senthilnathan made changes -
          Labels approved-for-6.6.0 triaged approved-for-6.6.0 combination_testing triaged
          arunkumar Arunkumar Senthilnathan made changes -
          Assignee Arunkumar Senthilnathan [ arunkumar ] Will Broadbelt [ will.broadbelt ]
          will.broadbelt Will Broadbelt made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            Assignee:
            will.broadbelt Will Broadbelt
            Reporter:
            graham.pople Graham Pople
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Due:
              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes

                  PagerDuty