You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@yunikorn.apache.org by "Wilfred Spiegelenburg (Jira)" <ji...@apache.org> on 2021/01/27 04:16:00 UTC

[jira] [Resolved] (YUNIKORN-342) Data race in QueueInfo#addChildQueue

     [ https://issues.apache.org/jira/browse/YUNIKORN-342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wilfred Spiegelenburg resolved YUNIKORN-342.
--------------------------------------------
    Fix Version/s: 0.10
       Resolution: Resolved

With the cache removal this is no longer a valid issue

> Data race in QueueInfo#addChildQueue
> ------------------------------------
>
>                 Key: YUNIKORN-342
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-342
>             Project: Apache YuniKorn
>          Issue Type: Task
>          Components: core - scheduler
>            Reporter: Adam Antal
>            Priority: Major
>             Fix For: 0.10
>
>
> Found while developing YUNIKORN-332.
> Details:
> {noformat}
> ==================
> WARNING: DATA RACE
> Write at 0x00c0039ac4b0 by goroutine 41:
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*QueueInfo).addChildQueue()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/queue_info.go:229 +0x469
>   github.com/apache/incubator-yunikorn-core/pkg/cache.NewUnmanagedQueue()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/queue_info.go:115 +0x2fc
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*PartitionInfo).CreateQueues()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/partition_info.go:885 +0x560
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler/placement.(*AppPlacementManager).PlaceApplication()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/placement/placement.go:171 +0x103c
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.(*partitionSchedulingContext).addSchedulingApplication()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduling_partition.go:109 +0xae8
> 2020-08-03T15:50:09.600+0200	DEBUG	scheduler/scheduler.go:230	enqueued event	{"eventType": "*schedulerevent.SchedulerApplicationsUpdateEvent", "event": {"AddedApplications":[{"ApplicationID":"application-sleep-0002","Partition":"[mycluster]default","QueueName":"root.test","SubmissionTime":1596462609600378000}],"RemovedApplications":null}, "currentQueueSize": 1}
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.(*ClusterSchedulingContext).addSchedulingApplication()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduling_context.go:114 +0x1a8
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.(*Scheduler).addNewApplication()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduler.go:209 +0x261
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.(*Scheduler).processApplicationUpdateEvent()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduler.go:447 +0x9d7
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.(*Scheduler).handleSchedulerEvent()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduler.go:596 +0x428
> Previous read at 0x00c0039ac4b0 by goroutine 39:
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*PartitionInfo).getQueue()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/partition_info.go:760 +0x12d
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*PartitionInfo).addNewApplication()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/partition_info.go:375 +0xc81
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*ClusterInfo).processApplicationUpdateFromRMUpdate()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/cluster_info.go:216 +0x6df
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*ClusterInfo).processRMUpdateEvent()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/cluster_info.go:444 +0x5e
> 2020-08-03T15:50:09.601+0200	DEBUG	cache/partition_info.go:356	adding app to partition	{"appID": "application-sleep-0003", "queue": "root.test", "partitionName": "[mycluster]default"}
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*ClusterInfo).handleRMEvents()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/cluster_info.go:99 +0x366
>   go.uber.org/zap/zapcore.(*CheckedEntry).Write()
>       /Users/adamantal/go/pkg/mod/go.uber.org/zap@v1.13.0/zapcore/entry.go:216 +0x1e7
>   go.uber.org/zap.(*Logger).Debug()
>       /Users/adamantal/go/pkg/mod/go.uber.org/zap@v1.13.0/logger.go:179 +0x95
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.enqueueAndCheckFull()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduler.go:230 +0x453
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.(*Scheduler).HandleEvent()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduler.go:242 +0x64
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*ClusterInfo).processRMRegistrationEvent()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/cluster_info.go:469 +0x432
> 2020-08-03T15:50:09.601+0200	INFO	cache/partition_info.go:379	app added to partition	{"appID": "application-sleep-0003", "partitionName": "[mycluster]default"}
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*ClusterInfo).handleRMEvents()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/cluster_info.go:101 +0x2f8
> Goroutine 41 (running) created at:
>   github.com/apache/incubator-yunikorn-core/pkg/scheduler.(*Scheduler).StartService()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/scheduler/scheduler.go:67 +0x9d
>   github.com/apache/incubator-yunikorn-core/pkg/entrypoint.startAllServicesWithParameters()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/entrypoint/entrypoint.go:86 +0x61a
>   github.com/apache/incubator-yunikorn-core/pkg/entrypoint.StartAllServices()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/entrypoint/entrypoint.go:43 +0x77
>   main.main()
>       /Users/adamantal/git/yunikorn/yunikorn-k8shim/pkg/shim/main.go:45 +0x48c
> Goroutine 39 (running) created at:
>   github.com/apache/incubator-yunikorn-core/pkg/cache.(*ClusterInfo).StartService()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/cache/cluster_info.go:69 +0x96
>   github.com/apache/incubator-yunikorn-core/pkg/entrypoint.startAllServicesWithParameters()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/entrypoint/entrypoint.go:85 +0x5a9
>   github.com/apache/incubator-yunikorn-core/pkg/entrypoint.StartAllServices()
>       /Users/adamantal/git/yunikorn/yunikorn-core/pkg/entrypoint/entrypoint.go:43 +0x77
>   main.main()
>       /Users/adamantal/git/yunikorn/yunikorn-k8shim/pkg/shim/main.go:45 +0x48c
> ==================
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org