Return errors from GetSession.

This commit is contained in:
Russell Jones 2017-06-09 14:55:29 -07:00
parent a6a49558ea
commit 97b5b8f6e8
2 changed files with 9 additions and 4 deletions

View file

@ -271,15 +271,19 @@ func (s *server) GetSessions(namespace string) ([]Session, error) {
keys, err := s.bk.GetKeys(bucket)
if err != nil {
log.Error(err)
return nil, err
return nil, trace.Wrap(err)
}
for i, sid := range keys {
if i > MaxSessionSliceLength {
break
}
se, err := s.GetSession(namespace, ID(sid))
if trace.IsNotFound(err) {
continue
if err != nil {
if trace.IsNotFound(err) {
continue
}
log.Errorf("Unable to retrieve session: %v", err)
return nil, trace.Wrap(err)
}
out = append(out, *se)
}
@ -317,6 +321,7 @@ func (s *server) GetSession(namespace string, id ID) (*Session, error) {
if trace.IsNotFound(err) {
return nil, trace.NotFound("session(%v, %v) is not found", namespace, id)
}
return nil, trace.Wrap(err)
}
return sess, nil
}

View file

@ -683,7 +683,7 @@ func (s *session) pollAndSync() {
errCount := 0
sync := func() error {
sess, err := sessionServer.GetSession(ns, s.id)
if sess == nil {
if err != nil || sess == nil {
return trace.Wrap(err)
}
var active = true