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

Data race in go-couchbase + query 10

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 4.6.0, 5.0.0
    • 4.5.0
    • query
    • None
    • Untriaged
    • Unknown

    Description

      go test -race ./...

      WARNING: DATA RACE
      Read by goroutine 62:
      github.com/couchbase/go-couchbase.Bucket.Nodes()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/pools.go:270 +0x95
      github.com/couchbase/go-couchbase.(*Bucket).parseURLResponse()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/pools.go:620 +0x99
      github.com/couchbase/go-couchbase.(*Bucket).GetDDocsWithRetry()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/ddocs.go:59 +0x104
      github.com/couchbase/query/datastore/couchbase.loadViewIndexes()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/view_builder.go:150 +0xb8
      github.com/couchbase/query/datastore/couchbase.(*viewIndexer).loadViewIndexes()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/view_index.go:258 +0x163
      github.com/couchbase/query/datastore/couchbase.(*viewIndexer).Refresh()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/view_index.go:281 +0x4a
      github.com/couchbase/query/datastore/couchbase.(*viewIndexer).keepIndexesFresh()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/view_index.go:57 +0xd7

      Previous write by goroutine 31:
      github.com/couchbase/go-couchbase.(*Bucket).UpdateBucket()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/streaming.go:136 +0xf2c
      github.com/couchbase/go-couchbase.func·031()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/streaming.go:61 +0x53
      runtime.goexit()
      /usr/local/go/src/runtime/asm_amd64.s:2232 +0x0
      encoding/json.marshalerEncoder()
      /usr/local/go/src/encoding/json/encode.go:419 +0x1cc
      encoding/json.(*encodeState).reflectValue()
      /usr/local/go/src/encoding/json/encode.go:299 +0x7f
      encoding/json.interfaceEncoder()
      /usr/local/go/src/encoding/json/encode.go:557 +0xeb
      encoding/json.(*mapEncoder).encode()
      /usr/local/go/src/encoding/json/encode.go:619 +0x397
      encoding/json.*mapEncoder.(encoding/json.encode)·fm()
      /usr/local/go/src/encoding/json/encode.go:629 +0x65
      encoding/json.(*encodeState).reflectValue()
      /usr/local/go/src/encoding/json/encode.go:299 +0x7f
      encoding/json.(*encodeState).marshal()
      /usr/local/go/src/encoding/json/encode.go:270 +0x103
      encoding/json.Marshal()
      /usr/local/go/src/encoding/json/encode.go:135 +0xdb
      github.com/couchbase/go-couchbase.(*Bucket).Write()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/client.go:527 +0x1fd
      github.com/couchbase/go-couchbase.(*Bucket).Add()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/client.go:731 +0x94
      github.com/couchbase/query/datastore/couchbase.(*keyspace).performOp()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:805 +0x2b2
      github.com/couchbase/query/datastore/couchbase.(*keyspace).Insert()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:858 +0xa4
      github.com/couchbase/query/execution.(*SendInsert).flushBatch()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/execution/insert_send.go:157 +0x7ed
      github.com/couchbase/query/execution.(*base).enbatchSize()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/execution/base.go:282 +0x232
      github.com/couchbase/query/execution.(*base).enbatch()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/execution/base.go:295 +0x83
      github.com/couchbase/query/execution.(*SendInsert).processItem()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/execution/insert_send.go:51 +0xb8
      github.com/couchbase/query/execution.func·004()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/execution/base.go:182 +0x6c4
      sync.(*Once).Do()
      /usr/local/go/src/sync/once.go:44 +0xe6
      github.com/couchbase/query/execution.(*base).runConsumer()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/execution/base.go:193 +0xd8
      github.com/couchbase/query/execution.(*SendInsert).RunOnce()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/execution/insert_send.go:47 +0x8b

      Goroutine 62 (running) created at:
      github.com/couchbase/query/datastore/couchbase.newViewIndexer()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/view_index.go:45 +0x216
      github.com/couchbase/query/datastore/couchbase.newKeyspace()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:572 +0x738
      github.com/couchbase/query/datastore/couchbase.(*namespace).KeyspaceByName()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:405 +0x18d
      github.com/couchbase/query/planner.(*builder).getTermKeyspace()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build.go:95 +0x36d
      github.com/couchbase/query/planner.(*builder).VisitKeyspaceTerm()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_from.go:55 +0x129
      github.com/couchbase/query/algebra.(*KeyspaceTerm).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/from_keyspace.go:49 +0x6f
      github.com/couchbase/query/planner.(*builder).VisitJoin()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_from.go:98 +0x1c9
      github.com/couchbase/query/algebra.(*Join).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/from_join.go:35 +0x6f
      github.com/couchbase/query/planner.(*builder).visitFrom()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_from.go:38 +0x4a7
      github.com/couchbase/query/planner.(*builder).VisitSubselect()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_sub.go:113 +0x1748
      github.com/couchbase/query/algebra.(*Subselect).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/select_sub.go:47 +0x6f
      github.com/couchbase/query/planner.(*builder).VisitSelect()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select.go:56 +0x6a7
      github.com/couchbase/query/algebra.(*Select).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/select.go:59 +0x72
      github.com/couchbase/query/planner.Build()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build.go:24 +0x26c
      github.com/couchbase/query/planner.BuildPrepared()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_prepared.go:20 +0xc2
      github.com/couchbase/query/server.(*Server).getPrepared()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/server/server.go:454 +0x258
      github.com/couchbase/query/server.(*Server).serviceRequest()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/server/server.go:382 +0x1f6
      github.com/couchbase/query/server.(*Server).doServe()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/server/server.go:329 +0x169

      Goroutine 31 (running) created at:
      github.com/couchbase/go-couchbase.(*Bucket).RunBucketUpdater()
      /Users/gerald/workspace/master/src/github.com/couchbase/go-couchbase/streaming.go:68 +0x114
      github.com/couchbase/query/datastore/couchbase.newKeyspace()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:588 +0xe2a
      github.com/couchbase/query/datastore/couchbase.(*namespace).KeyspaceByName()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:405 +0x18d
      github.com/couchbase/query/planner.(*builder).getTermKeyspace()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build.go:95 +0x36d
      github.com/couchbase/query/planner.(*builder).VisitKeyspaceTerm()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_from.go:55 +0x129
      github.com/couchbase/query/algebra.(*KeyspaceTerm).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/from_keyspace.go:49 +0x6f
      github.com/couchbase/query/planner.(*builder).VisitJoin()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_from.go:98 +0x1c9
      github.com/couchbase/query/algebra.(*Join).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/from_join.go:35 +0x6f
      github.com/couchbase/query/planner.(*builder).visitFrom()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_from.go:38 +0x4a7
      github.com/couchbase/query/planner.(*builder).VisitSubselect()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select_sub.go:113 +0x1748
      github.com/couchbase/query/algebra.(*Subselect).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/select_sub.go:47 +0x6f
      github.com/couchbase/query/planner.(*builder).VisitSelect()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_select.go:56 +0x6a7
      github.com/couchbase/query/algebra.(*Select).Accept()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/algebra/select.go:59 +0x72
      github.com/couchbase/query/planner.Build()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build.go:24 +0x26c
      github.com/couchbase/query/planner.BuildPrepared()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/planner/build_prepared.go:20 +0xc2
      github.com/couchbase/query/server.(*Server).getPrepared()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/server/server.go:454 +0x258
      github.com/couchbase/query/server.(*Server).serviceRequest()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/server/server.go:382 +0x1f6
      github.com/couchbase/query/server.(*Server).doServe()
      /Users/gerald/workspace/master/src/github.com/couchbase/query/server/server.go:329 +0x169

      Attachments

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

        Activity

          People

            johan.larson Johan Larson (Inactive)
            gerald Gerald Sangudi (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