Uploaded image for project: 'Apache YuniKorn'
  1. Apache YuniKorn
  2. YUNIKORN-2632

Data race in IncAllocatedResource

    XMLWordPrintableJSON

Details

    Description

      After YUNIKORN-2548, we accidentally make an unlocked access to Queue.allocatedResource.

      WARNING: DATA RACE
      Read at 0x00c000578a00 by goroutine 52:
        github.com/apache/yunikorn-core/pkg/scheduler/objects.(*Queue).IncAllocatedResource()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/objects/queue.go:1032 +0x6b
        github.com/apache/yunikorn-core/pkg/scheduler/objects.(*Application).tryNode()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/objects/application.go:1495 +0x184
        github.com/apache/yunikorn-core/pkg/scheduler/objects.(*Application).tryNodes.func1()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/objects/application.go:1402 +0x144
        github.com/apache/yunikorn-core/pkg/scheduler/objects.(*treeIterator).ForEachNode.func1()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/objects/node_iterator.go:42 +0x95
        github.com/google/btree.(*node[go.shape.interface { Less(github.com/google/btree.Item) bool }]).iterate()
            /home/bacskop/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:522 +0x6f1
        github.com/google/btree.(*node[go.shape.interface { Less(github.com/google/btree.Item) bool }]).iterate()
            /home/bacskop/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:510 +0x448
        github.com/google/btree.(*node[go.shape.interface { Less(github.com/google/btree.Item) bool }]).iterate()
            /home/bacskop/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:510 +0x448
        github.com/google/btree.(*node[go.shape.interface { Less(github.com/google/btree.Item) bool }]).iterate()
            /home/bacskop/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:510 +0x448
        github.com/google/btree.(*BTreeG[go.shape.interface { Less(github.com/google/btree.Item) bool }]).Ascend()
            /home/bacskop/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:779 +0x108
        github.com/google/btree.(*BTree).Ascend()
            /home/bacskop/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:1029 +0x108
        github.com/apache/yunikorn-core/pkg/scheduler/objects.(*treeIterator).ForEachNode()
      ...
      Previous write at 0x00c000578a00 by goroutine 49:
        github.com/apache/yunikorn-core/pkg/scheduler/objects.(*Queue).DecAllocatedResource()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/objects/queue.go:1101 +0x212
        github.com/apache/yunikorn-core/pkg/scheduler.(*PartitionContext).removeAllocation()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/partition.go:1357 +0x17b4
        github.com/apache/yunikorn-core/pkg/scheduler.(*ClusterContext).processAllocationReleases()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/context.go:870 +0xba
        github.com/apache/yunikorn-core/pkg/scheduler.(*ClusterContext).handleRMUpdateAllocationEvent()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/context.go:750 +0x1e4
        github.com/apache/yunikorn-core/pkg/scheduler.(*Scheduler).handleRMEvent()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/scheduler.go:133 +0x28d
        github.com/apache/yunikorn-core/pkg/scheduler.(*Scheduler).StartService.gowrap1()
            /home/bacskop/go/pkg/mod/github.com/apache/yunikorn-core@v1.5.1-1/pkg/scheduler/scheduler.go:60 +0x33
       

      Attachments

        Issue Links

          Activity

            People

              pbacsko Peter Bacsko
              pbacsko Peter Bacsko
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: