Commit b0e367b1 authored by Corey Hulen's avatar Corey Hulen Committed by GitHub

Fixing race in update channel (#7269)

* Fixing race in update channel

* Switching to struct copy
parent 1ce079d2
......@@ -53,6 +53,11 @@ type ChannelPatch struct {
Purpose *string `json:"purpose"`
}
func (o *Channel) DeepCopy() *Channel {
copy := *o
return &copy
}
func (o *Channel) ToJson() string {
b, err := json.Marshal(o)
if err != nil {
......
......@@ -27,6 +27,15 @@ func TestChannelJson(t *testing.T) {
}
}
func TestChannelCopy(t *testing.T) {
o := Channel{Id: NewId(), Name: NewId()}
ro := o.DeepCopy()
if o.Id != ro.Id {
t.Fatal("Ids do not match")
}
}
func TestChannelPatch(t *testing.T) {
p := &ChannelPatch{Name: new(string), DisplayName: new(string), Header: new(string), Purpose: new(string)}
*p.Name = NewId()
......
......@@ -405,7 +405,7 @@ func (s SqlChannelStore) get(id string, master bool, allowFromCache bool) StoreC
if metrics != nil {
metrics.IncrementMemCacheHitCounter("Channel")
}
result.Data = cacheItem.(*model.Channel)
result.Data = (cacheItem.(*model.Channel)).DeepCopy()
storeChannel <- result
close(storeChannel)
return
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment