|
|
@@ -183,16 +183,21 @@ func (p *RedisProvider) Regenerate(oldsid, sid string) (_ session.RawStore, err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if err = p.c.Rename(graceful.GetManager().HammerContext(), poldsid, psid).Err(); err != nil { |
|
|
|
// do not use Rename here, because the old sid and new sid may be in different redis cluster slot. |
|
|
|
kvs, err := p.c.Get(graceful.GetManager().HammerContext(), poldsid).Result() |
|
|
|
if err != nil { |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
|
|
|
|
var kv map[interface{}]interface{} |
|
|
|
kvs, err := p.c.Get(graceful.GetManager().HammerContext(), psid).Result() |
|
|
|
if err != nil { |
|
|
|
if err = p.c.Del(graceful.GetManager().HammerContext(), poldsid).Err(); err != nil { |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
|
|
|
|
if err = p.c.Set(graceful.GetManager().HammerContext(), psid, kvs, p.duration).Err(); err != nil { |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
|
|
|
|
var kv map[interface{}]interface{} |
|
|
|
if len(kvs) == 0 { |
|
|
|
kv = make(map[interface{}]interface{}) |
|
|
|
} else { |