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

Determine fate of 'cbc' in 7.0.0+

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • Major
    • None
    • None
    • build
    • None

    Description

      The libcouchbase command-line utility 'cbc' and friends were unintentionally added to Server builds starting in 5.5. It does not appear that they are tested by any QE Server tests. They are only included in EE builds (because libcouchbase was originally added for use by eventing). However, certain parts of the Eventing documentation already instruct customers to use these tools.

      It is the opinion of SDK and Build that these utilities should be removed in 7.0.0+. The release cycles for SDK and Server are not the same; in particular SDK releases much more frequently.  Also, the libcouchbase included with Server may well not be the newest even at Server GA time. There are good reasons to encourage users to upgrade to newer SDK releases regularly, but if libcouchbase is seen as tied to Server, many of them will not do so. And those that do may hit unexpected problems due to the older version being on their PATH.

      It is the opinion of PM and Support that including cbc as part of Server is a win for "out of the box" experience for new developers, which is a significant part of the focus of the company, and can greatly simplify the documentation. This is especially relevant for certain facets of eventing, such as expiry, where these tools are mentioned in the doc.

      We need to choose either:

      A. To continue shipping cbc et al, in which case we need to include it in CE as well; update more documentation; and ensure that relevant use cases are checked by QE. We also need to develop, test, and document the process by which users can upgrade to newer SDK versions.

        or

      B. Eliminate these tools from the Server installer. Note that libcouchbase itself would still there as part of Eventing, but would not be exposed to customers in any meaningful way. In this case no QE action would be required, but doc changes for Eventing would need to be made (instruct users to install the libcouchbase tools, and doc examples should use relevant paths for those tools).

      A Jira ticket should be actionable, not just for decision-making; also Build and Release's responsibility is to ensure our public releases make the most sense that they can. As such the default action will be B, since that requires less effort or buy-in from other company teams and because we should not be shipping tools that we do not test. I've proposed a simple change to implement B already, which I will commit in, say, a couple of weeks. At that time this ticket can either be closed, or re-cast as "Add cbc to Server installer" and driven as an Improvement if someone wishes to do so.

      Attachments

        Issue Links

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

          Activity

            People

              anil Anil Kumar (Inactive)
              ceej Chris Hillery
              Votes:
              0 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty