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

[Dynamic Indexing] Panic observed in query when dynamic index is being created on a bucket with nested document

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 5.0.0
    • 5.0.0
    • query
    • Build: 5.0.0-2003

      Cluster Setup:
      Node 1: kv, n1ql, index
    • Untriaged
    • No

    Description

      Steps:
      1. Create and configure cluster.
      2. Create default bucket
      document uploaded:

      {
        "subs": {"faculty": {"Electronics": {"Math": 50, "Chem": 20}}},
        "avg": [[[-1,-2], [1,2]], [[-3, -4], [3, 4]]]
      }
      

      3. Create dynamic index:

      CREATE INDEX id1 ON default(DISTINCT ARRAY v FOR v IN PAIRS(SELF) END)
      

      Observed Panic in query logs:

       
      _time=2017-02-16T12:13:26.034+00:00 _level=ERROR _msg= panic=runtime error: index out of range stack=goroutine 285 [running]:
      github.com/couchbase/query/execution.(*Context).Recover(0xc421152000)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/context.go:392 +0xc7
      panic(0xc95c60, 0xc4200160c0)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/runtime/panic.go:458 +0x243
      encoding/json.(*encodeState).marshal.func1(0xc420aafe38)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:272 +0x1b9
      panic(0xc95c60, 0xc4200160c0)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/runtime/panic.go:458 +0x243
      github.com/couchbase/query/plan.(*CreateIndex).MarshalBase(0xc4210df520, 0x0, 0xc4210df500)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/plan/index_create.go:71 +0x92d
      github.com/couchbase/query/plan.(*CreateIndex).MarshalJSON(0xc4210df520, 0xd095a0, 0xc4210df520, 0xc4203f9b88, 0xc4210df520, 0x1589700)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/plan/index_create.go:54 +0x34
      encoding/json.marshalerEncoder(0xc42125a000, 0xd095a0, 0xc4210df520, 0x16, 0xc4210d0100)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:431 +0xb1
      encoding/json.(*encodeState).reflectValue(0xc42125a000, 0xd095a0, 0xc4210df520, 0x16, 0xc4210d0100)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:307 +0x82
      encoding/json.interfaceEncoder(0xc42125a000, 0xc7f960, 0xc4212211e0, 0x94, 0xc421220100)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:573 +0xdb
      encoding/json.(*mapEncoder).encode(0xc42002c550, 0xc42125a000, 0xc90ba0, 0xc4211ed350, 0x15, 0xc90100)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:646 +0x542
      encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc42125a000, 0xc90ba0, 0xc4211ed350, 0x15, 0xc4211e0100)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:662 +0x64
      encoding/json.(*encodeState).reflectValue(0xc42125a000, 0xc90ba0, 0xc4211ed350, 0x15, 0x100)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:307 +0x82
      encoding/json.(*encodeState).marshal(0xc42125a000, 0xc90ba0, 0xc4211ed350, 0xd00100, 0x0, 0x0)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:280 +0xb8
      encoding/json.Marshal(0xc90ba0, 0xc4211ed350, 0xc4211ed350, 0xc420bf5ed0, 0x84d87b, 0xc420bf5ec8, 0xc420bf5ed8)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/encoding/json/encode.go:145 +0x8f
      github.com/couchbase/query/plan.(*Explain).MarshalJSON(0xc4210df540, 0xe3e7d0, 0xc421131200, 0x0, 0xc420bf5f40, 0x45aea0)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/plan/explain.go:42 +0x4e
      github.com/couchbase/query/execution.(*Explain).RunOnce.func1()
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/explain.go:53 +0x150
      sync.(*Once).Do(0xc421131250, 0xc420aaff58)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.7.3/go/src/sync/once.go:44 +0xdb
      github.com/couchbase/query/execution.(*Explain).RunOnce(0xc421131200, 0xc421152000, 0x0, 0x0)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/explain.go:62 +0x56
      created by github.com/couchbase/query/execution.(*Authorize).RunOnce.func1
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/authorize.go:82 +0x395
      

      Logs: https://s3.amazonaws.com/bugdb/jira/dynamic_indexing/collectinfo-2017-02-16T121846-ns_1%4010.111.170.101.zip

      Attachments

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

        Activity

          People

            prasanna.gholap Prasanna Gholap [X] (Inactive)
            prasanna.gholap Prasanna Gholap [X] (Inactive)
            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