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

Panic seen in query nodes during online upgrade with failover + recovery

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 7.0.0
    • Cheshire-Cat
    • query
    • 6.6.2-9588 ----> 7.0.0-4979
    • Untriaged
    • Centos 64-bit
    • 1
    • No

    Description

      Steps to Repro
      It is an essentially an upgrade of the system test cluster.

      1. Start a 6.6.2 system test longevity run.
      2. It has following cluster setup

      • * 9 data nodes
      • * 3 analytics nodes
      • * 3 eventing nodes
      • * 4 indexing nodes
      • * 3 search nodes
      • * 3 query nodes

      3. It has 10 buckets, fts indexes, analytics datasets, 2i indexes, eventing functions.
      4. We do a swap rebalance of 6 node(1 data, 1 index, 1 analytics, 1 fts, 1 query, 1 eventing) which has 6.6.2-9588 with 7.0.0-4979. This woks fine.
      5. Failover one fts node 6.6.2-9588 - 172.23.106.207
      6. Failover one n1ql node 6.6.2-9588 - 172.23.106.191
      7. Now try to graceful failover one 6.6.2-9588 - 172.23.105.90
      8. Now I hit into MB-45767.
      9. To proceed with the upgrade of the cluster at this point I do multi node hard failover of the following nodes.

      172.23.105.90
      172.23.105.62
      172.23.105.118
      172.23.105.25
      

      10. Run the following command on all the nodes (172.23.105.90,172.23.105.62,172.23.105.118,172.23.105.25,172.23.106.207,172.23.106.191).

      systemctl stop couchbase-server
      rpm -U http://172.23.126.166/builds/latestbuilds/couchbase-server/cheshire-cat/4979/couchbase-server-enterprise-7.0.0-4979-centos7.x86_64.rpm
      

      At this point we saw some panics on the query node.
      172.23.106.225

      _time=2021-04-19T07:43:15.001-07:00 _level=SEVERE _msg=panic: runtime error: invalid memory address or nil pointer dereference
      _time=2021-04-19T07:43:15.002-07:00 _level=SEVERE _msg=request text: <ud>select * from system:completed_requests where errorCount > 0 order by requestTime desc</ud>
      _time=2021-04-19T07:43:15.002-07:00 _level=SEVERE _msg=query context: <ud></ud>
      _time=2021-04-19T07:43:15.002-07:00 _level=SEVERE _msg=stack: goroutine 222209 [running]:
      github.com/couchbase/query/server.(*Server).serviceRequest.func1(0x282ef40, 0xc002063000, 0xc000e5a5a0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:900 +0xbb
      panic(0x22033e0, 0x38b07a0)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/runtime/panic.go:679 +0x1b2
      github.com/couchbase/query/clustering/couchbase.(*cbConfigStore).checkPoolServices(0xc00026a140, 0x0, 0x0, 0x0, 0x0, 0x27d83c0, 0xc000cee000, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/clustering/couchbase/clustering_cb.go:433 +0x3a
      github.com/couchbase/query/clustering/couchbase.(*cbConfigStore).doNameState(0xc00026a140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/clustering/couchbase/clustering_cb.go:400 +0x2e1
      github.com/couchbase/query/clustering/couchbase.(*cbConfigStore).WhoAmI(0xc00026a140, 0x0, 0xc0016b3fc8, 0x15f5bd5, 0x233a5a0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/clustering/couchbase/clustering_cb.go:265 +0x2f
      github.com/couchbase/query/server/http.(*systemRemoteHttp).WhoAmI(0xc000233e90, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/http/system_remote.go:565 +0x1dc
      github.com/couchbase/query/datastore/system.(*requestLogIndex).State(0xc0000ed090, 0xc0000ed040, 0xc0016b4028, 0x1161d74, 0xc0002e3c68, 0xc03bd28b80, 0x2142c20)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/datastore/system/system_keyspace_request_log.go:333 +0xa5
      github.com/couchbase/query/planner.isValidIndex(0x27d91c0, 0xc0000ed090, 0x4, 0x1)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:583 +0x35
      github.com/couchbase/query/planner.allIndexes(0x27e3e20, 0xc000cd5940, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xc0016b4300, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:712 +0x480
      github.com/couchbase/query/planner.(*builder).buildPredicateScan(0xc0017e4480, 0x27e3e20, 0xc000cd5940, 0xc03fce4280, 0xc034a14b40, 0x27f60a0, 0xc0415acb40, 0x0, 0x0, 0x0, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:213 +0x1ee
      github.com/couchbase/query/planner.(*builder).buildScan(0xc0017e4480, 0x27e3e20, 0xc000cd5940, 0xc03fce4280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:146 +0x855
      github.com/couchbase/query/planner.(*builder).selectScan(0xc0017e4480, 0x27e3e20, 0xc000cd5940, 0xc03fce4280, 0x0, 0x0, 0x12, 0xc0016b4700, 0xe2d267)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:48 +0x3a7
      github.com/couchbase/query/planner.(*builder).VisitKeyspaceTerm(0xc0017e4480, 0xc03fce4280, 0x22184c0, 0x245da20, 0xc0017e4b00, 0x7fe198087368)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select_from.go:204 +0x171
      github.com/couchbase/query/algebra.(*KeyspaceTerm).Accept(0xc03fce4280, 0x27df120, 0xc0017e4480, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/algebra/from_keyspace.go:69 +0x3b
      github.com/couchbase/query/planner.(*builder).visitFrom(0xc0017e4480, 0xc03fce4300, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select_from.go:138 +0xab6
      github.com/couchbase/query/planner.(*builder).VisitSubselect(0xc0017e4480, 0xc03fce4300, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select_sub.go:231 +0xb13
      github.com/couchbase/query/algebra.(*Subselect).Accept(0xc03fce4300, 0x27df120, 0xc0017e4480, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/algebra/select_sub.go:58 +0x3e
      github.com/couchbase/query/planner.(*builder).VisitSelect(0xc0017e4480, 0xc043a414a0, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select.go:71 +0x328
      github.com/couchbase/query/algebra.(*Select).Accept(0xc043a414a0, 0x27eaa40, 0xc0017e4480, 0xc033671830, 0x20300f, 0x13c54bb, 0xc0016b53f0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/algebra/select.go:58 +0x3e
      github.com/couchbase/query/planner.Build(0x27cdec0, 0xc043a414a0, 0x27e9f00, 0xc00025ea90, 0x27ea260, 0xc000e563c0, 0x24eea5e, 0x7, 0x2440100, 0xc03fce4380, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build.go:31 +0x1a3
      github.com/couchbase/query/planner.BuildPrepared(0x27cdec0, 0xc043a414a0, 0x27e9f00, 0xc00025ea90, 0x27ea260, 0xc000e563c0, 0x24eea5e, 0x7, 0x100, 0xc03fce4380, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_prepared.go:19 +0xc0
      github.com/couchbase/query/server.(*Server).getPrepared(0xc000e5a5a0, 0x282ef40, 0xc002063000, 0xc048903180, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:1141 +0x12ae
      github.com/couchbase/query/server.(*Server).serviceRequest(0xc000e5a5a0, 0x282ef40, 0xc002063000)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:941 +0x16e
      github.com/couchbase/query/server.(*Server).handleRequest(0xc000e5a5a0, 0x282ef40, 0xc002063000, 0xc000e5a5d0, 0x7)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:622 +0x6c
      github.com/couchbase/query/server.(*Server).ServiceRequest(0xc000e5a5a0, 0x282ef40, 0xc002063000, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:561 +0x77
      github.com/couchbase/query/server/http.(*HttpEndpoint).ServeHTTP(0xc0008282c0, 0x27acde0, 0xc036c35ce0, 0xc03b7acb00)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/http/service_endpoint.go:262 +0x35d
      github.com/gorilla/mux.(*Router).ServeHTTP(0xc000212840, 0x27acde0, 0xc036c35ce0, 0xc03b7ac900)
              /tmp/workspace/couchbase-server-unix/server_build/gopkg/go-1.13.7/pkg/mod/github.com/gorilla/mux@v1.7.4/mux.go:210 +0xe2
      net/http.serverHandler.ServeHTTP(0xc000bba000, 0x27acde0, 0xc036c35ce0, 0xc03b7ac900)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/net/http/server.go:2802 +0xa4
      net/http.(*conn).serve(0xc034a14780, 0x27b97a0, 0xc032ae03c0)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/net/http/server.go:1890 +0x875
      created by net/http.(*Server).Serve
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/net/http/server.go:2928 +0x384
       
      goroutine 222209 [running]:
      github.com/couchbase/query/server.(*Server).serviceRequest.func1(0x282ef40, 0xc002063000, 0xc000e5a5a0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:900 +0xbb
      panic(0x22033e0, 0x38b07a0)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/runtime/panic.go:679 +0x1b2
      github.com/couchbase/query/clustering/couchbase.(*cbConfigStore).checkPoolServices(0xc00026a140, 0x0, 0x0, 0x0, 0x0, 0x27d83c0, 0xc000cee000, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/clustering/couchbase/clustering_cb.go:433 +0x3a
      github.com/couchbase/query/clustering/couchbase.(*cbConfigStore).doNameState(0xc00026a140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/clustering/couchbase/clustering_cb.go:400 +0x2e1
      github.com/couchbase/query/clustering/couchbase.(*cbConfigStore).WhoAmI(0xc00026a140, 0x0, 0xc0016b3fc8, 0x15f5bd5, 0x233a5a0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/clustering/couchbase/clustering_cb.go:265 +0x2f
      github.com/couchbase/query/server/http.(*systemRemoteHttp).WhoAmI(0xc000233e90, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/http/system_remote.go:565 +0x1dc
      github.com/couchbase/query/datastore/system.(*requestLogIndex).State(0xc0000ed090, 0xc0000ed040, 0xc0016b4028, 0x1161d74, 0xc0002e3c68, 0xc03bd28b80, 0x2142c20)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/datastore/system/system_keyspace_request_log.go:333 +0xa5
      github.com/couchbase/query/planner.isValidIndex(0x27d91c0, 0xc0000ed090, 0x4, 0x1)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:583 +0x35
      github.com/couchbase/query/planner.allIndexes(0x27e3e20, 0xc000cd5940, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xc0016b4300, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:712 +0x480
      github.com/couchbase/query/planner.(*builder).buildPredicateScan(0xc0017e4480, 0x27e3e20, 0xc000cd5940, 0xc03fce4280, 0xc034a14b40, 0x27f60a0, 0xc0415acb40, 0x0, 0x0, 0x0, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:213 +0x1ee
      github.com/couchbase/query/planner.(*builder).buildScan(0xc0017e4480, 0x27e3e20, 0xc000cd5940, 0xc03fce4280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:146 +0x855
      github.com/couchbase/query/planner.(*builder).selectScan(0xc0017e4480, 0x27e3e20, 0xc000cd5940, 0xc03fce4280, 0x0, 0x0, 0x12, 0xc0016b4700, 0xe2d267)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_scan.go:48 +0x3a7
      github.com/couchbase/query/planner.(*builder).VisitKeyspaceTerm(0xc0017e4480, 0xc03fce4280, 0x22184c0, 0x245da20, 0xc0017e4b00, 0x7fe198087368)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select_from.go:204 +0x171
      github.com/couchbase/query/algebra.(*KeyspaceTerm).Accept(0xc03fce4280, 0x27df120, 0xc0017e4480, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/algebra/from_keyspace.go:69 +0x3b
      github.com/couchbase/query/planner.(*builder).visitFrom(0xc0017e4480, 0xc03fce4300, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select_from.go:138 +0xab6
      github.com/couchbase/query/planner.(*builder).VisitSubselect(0xc0017e4480, 0xc03fce4300, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select_sub.go:231 +0xb13
      github.com/couchbase/query/algebra.(*Subselect).Accept(0xc03fce4300, 0x27df120, 0xc0017e4480, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/algebra/select_sub.go:58 +0x3e
      github.com/couchbase/query/planner.(*builder).VisitSelect(0xc0017e4480, 0xc043a414a0, 0x0, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_select.go:71 +0x328
      github.com/couchbase/query/algebra.(*Select).Accept(0xc043a414a0, 0x27eaa40, 0xc0017e4480, 0xc033671830, 0x20300f, 0x13c54bb, 0xc0016b53f0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/algebra/select.go:58 +0x3e
      github.com/couchbase/query/planner.Build(0x27cdec0, 0xc043a414a0, 0x27e9f00, 0xc00025ea90, 0x27ea260, 0xc000e563c0, 0x24eea5e, 0x7, 0x2440100, 0xc03fce4380, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build.go:31 +0x1a3
      github.com/couchbase/query/planner.BuildPrepared(0x27cdec0, 0xc043a414a0, 0x27e9f00, 0xc00025ea90, 0x27ea260, 0xc000e563c0, 0x24eea5e, 0x7, 0x100, 0xc03fce4380, ...)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/planner/build_prepared.go:19 +0xc0
      github.com/couchbase/query/server.(*Server).getPrepared(0xc000e5a5a0, 0x282ef40, 0xc002063000, 0xc048903180, 0x0, 0x0, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:1141 +0x12ae
      github.com/couchbase/query/server.(*Server).serviceRequest(0xc000e5a5a0, 0x282ef40, 0xc002063000)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:941 +0x16e
      github.com/couchbase/query/server.(*Server).handleRequest(0xc000e5a5a0, 0x282ef40, 0xc002063000, 0xc000e5a5d0, 0x7)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:622 +0x6c
      github.com/couchbase/query/server.(*Server).ServiceRequest(0xc000e5a5a0, 0x282ef40, 0xc002063000, 0x0)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/server.go:561 +0x77
      github.com/couchbase/query/server/http.(*HttpEndpoint).ServeHTTP(0xc0008282c0, 0x27acde0, 0xc036c35ce0, 0xc03b7acb00)
              /tmp/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/server/http/service_endpoint.go:262 +0x35d
      github.com/gorilla/mux.(*Router).ServeHTTP(0xc000212840, 0x27acde0, 0xc036c35ce0, 0xc03b7ac900)
              /tmp/workspace/couchbase-server-unix/server_build/gopkg/go-1.13.7/pkg/mod/github.com/gorilla/mux@v1.7.4/mux.go:210 +0xe2
      net/http.serverHandler.ServeHTTP(0xc000bba000, 0x27acde0, 0xc036c35ce0, 0xc03b7ac900)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/net/http/server.go:2802 +0xa4
      net/http.(*conn).serve(0xc034a14780, 0x27b97a0, 0xc032ae03c0)
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/net/http/server.go:1890 +0x875
      created by net/http.(*Server).Serve
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.13.7/go/src/net/http/server.go:2928 +0x384
      

      Similar kind of panics was also seen on 172.23.106.191. cbcollect_info attached.

      Attachments

        Issue Links

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

          Activity

            People

              Balakumaran.Gopal Balakumaran Gopal
              Balakumaran.Gopal Balakumaran Gopal
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty