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

Correct IsParallel test for base operators.

    XMLWordPrintable

Details

    • Untriaged
    • 0
    • Unknown

    Description

      The IsParallel() function returns the same value as IsSerializable() when not overridden.  It should be the inverse - this only really affects Offset, Limit & Stream operators and only when max_parallelism == 1.

      In Sequence when the children are chained, an attempt is made to run some consumers inline - but with IsParallel() returning the same value as IsSerializable() we can't chain for example Offset->Limit->Stream since each is serialisable and thus IsParallel() returns true for each; a chain like this needs to be all non-parallel operators.

      It seems to have been a minor mistake in the initial implementation of MB-43985; if we invert the default value we are able to chain an Offset->Limit-Stream sequence.

       

      (This will only impact these three operators as they're the only serializable ones; in theory a sequence containing only these would also be affected - not marked a parallel - but we don't generate sequences containing just these.)

      Attachments

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

        Activity

          People

            Donald.haggart Donald Haggart
            Donald.haggart Donald Haggart
            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