# Race condition on topic assign

**URL:** https://meta.discourse.org/t/race-condition-on-topic-assign/103422
**Category:** Bug
**Tags:** assign
**Created:** [November 14, 2018, 6:11pm UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422 "2018-11-14T18:11:14Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [November 14, 2018, 6:11pm UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/1 "2018-11-14T18:11:14Z")

</div>

Found a small bug (race condition?) @sam. Two different users can assign the topic at the same time.

 ![image](https://global.discourse-cdn.com/meta/original/3X/2/f/2f0c49b4db93afca9a6693ef423306b3af0ac984.png)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 15, 2018, 5:30am UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/3 "2018-11-15T05:30:07Z")

</div>

Not much we can do here sadly, we allow already assigned topics to be assigned to somebody new.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [November 15, 2018, 5:43am UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/4 "2018-11-15T05:43:08Z")

</div>

This is not a new person though it is the same person.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 15, 2018, 6:00am UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/5 "2018-11-15T06:00:54Z")

</div>

Ahh did not notice that, I guess we can error out here.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [December 4, 2018, 12:02am UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/6 "2018-12-04T00:02:57Z")

</div>

#pr-welcome for:

- IF topic is already assigned
- AND you are attempting to assign to the same person already assigned
- RAISE A non 400 error “Topic is already assigned to XYZ” and display to client.
- Test on both mobile and desktop
- Include a controller test at least in the PR

---

<div class="post-metadata">

### Author: ![saurabhp](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saurabhp/32/125182_2.png) [@saurabhp](https://meta.discourse.org/u/saurabhp)
#### Post date: [December 5, 2018, 4:15pm UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/7 "2018-12-05T16:15:37Z")

</div>

Hi,  
I will try to submit PR for this.

Thanks

---

<div class="post-metadata">

### Author: ![saurabhp](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saurabhp/32/125182_2.png) [@saurabhp](https://meta.discourse.org/u/saurabhp)
#### Post date: [December 6, 2018, 7:51am UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/8 "2018-12-06T07:51:21Z")

</div>

This is fixed now.

[https://github.com/discourse/discourse-assign/commit/a2e7fc4cace440114e73ad4ab85f650a9ab30dea](https://github.com/discourse/discourse-assign/commit/a2e7fc4cace440114e73ad4ab85f650a9ab30dea)

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [December 7, 2018, 11:00pm UTC](https://meta.discourse.org/t/race-condition-on-topic-assign/103422/9 "2018-12-07T23:00:05Z")

</div>

This topic was automatically closed after 34 hours. New replies are no longer allowed.
