Skip to content
Snippets Groups Projects
Commit cc4857cf authored by Jake Taylor's avatar Jake Taylor
Browse files

Merge branch 'release' into hotfix/XX-4178

parents 6713f7c2 184fb6ca
Branches
Tags
3 merge requests!510Release,!365attempt to fix mutex segfault in HandleReceivedRequest,!354Channels impl
......@@ -16,7 +16,6 @@ import (
jww "github.com/spf13/jwalterweatherman"
"gitlab.com/elixxir/client/storage/versioned"
"gitlab.com/elixxir/crypto/e2e/auth"
"gitlab.com/elixxir/ekv"
"gitlab.com/xx_network/primitives/id"
"gitlab.com/xx_network/primitives/netTime"
)
......@@ -122,7 +121,7 @@ func (s *Store) newOrLoadPreviousNegotiations() (map[id.ID]bool, error) {
obj, err := s.kv.Get(negotiationPartnersKey, negotiationPartnersVersion)
// V0 Upgrade Path
if !ekv.Exists(err) {
if !s.kv.Exists(err) {
upgradeErr := upgradePreviousNegotiationsV0(s.kv)
if upgradeErr != nil {
return nil, errors.Wrapf(err, "%+v", upgradeErr)
......@@ -132,7 +131,7 @@ func (s *Store) newOrLoadPreviousNegotiations() (map[id.ID]bool, error) {
}
// Note: if it still doesn't exist, return an empty one.
if err != nil && !ekv.Exists(err) {
if err != nil && !s.kv.Exists(err) {
newPreviousNegotiations := make(map[id.ID]bool)
return newPreviousNegotiations, nil
} else if err != nil {
......@@ -271,7 +270,7 @@ func unmarshalPreviousNegotiationsV0(buf []byte) map[id.ID]struct{} {
// to V1
func upgradePreviousNegotiationsV0(kv *versioned.KV) error {
obj, err := kv.Get(negotiationPartnersKey, 0)
if !ekv.Exists(err) {
if !kv.Exists(err) {
return nil
}
......
......@@ -17,7 +17,6 @@ import (
util "gitlab.com/elixxir/client/storage/utility"
"gitlab.com/elixxir/client/storage/versioned"
"gitlab.com/elixxir/crypto/contact"
"gitlab.com/elixxir/ekv"
"gitlab.com/xx_network/primitives/id"
)
......@@ -84,11 +83,11 @@ func loadReceivedRequest(kv *versioned.KV, partner *id.ID) (
}
round, err := rounds.LoadRound(kv, makeRoundKey(partner))
if err != nil && ekv.Exists(err) {
if err != nil && kv.Exists(err) {
return nil, errors.WithMessagef(err, "Failed to Load "+
"round request was received on with %s",
partner)
} else if err != nil && !ekv.Exists(err) {
} else if err != nil && !kv.Exists(err) {
jww.WARN.Printf("No round info for partner %s", partner)
}
......
......@@ -19,7 +19,6 @@ import (
sidhinterface "gitlab.com/elixxir/client/interfaces/sidh"
"gitlab.com/elixxir/client/storage/versioned"
"gitlab.com/elixxir/crypto/cyclic"
"gitlab.com/elixxir/ekv"
"gitlab.com/elixxir/primitives/format"
"gitlab.com/xx_network/primitives/id"
"gitlab.com/xx_network/primitives/netTime"
......@@ -77,7 +76,7 @@ func loadSentRequest(kv *versioned.KV, partner *id.ID, grp *cyclic.Group) (*Sent
obj, err := kv.Get(srKey, currentSentRequestVersion)
// V0 Upgrade Path
if !ekv.Exists(err) {
if !kv.Exists(err) {
upgradeErr := upgradeSentRequestKeyV0(kv, partner)
if upgradeErr != nil {
return nil, errors.Wrapf(err, "%+v", upgradeErr)
......
......@@ -11,7 +11,6 @@ import (
"bytes"
"gitlab.com/elixxir/client/xxdk"
"reflect"
"strings"
"testing"
"time"
......@@ -151,7 +150,7 @@ func Test_resumeBackup_NoKeyError(t *testing.T) {
rngGen := fastRNG.NewStreamGenerator(1000, 10, csprng.NewSystemRNG)
_, err := ResumeBackup(nil, &xxdk.Container{}, newMockE2e(t), newMockSession(t),
newMockUserDiscovery(), s.GetKV(), rngGen)
if err == nil || !strings.Contains(err.Error(), expectedErr) {
if err == nil || s.GetKV().Exists(err) {
t.Errorf("ResumeBackup did not return the expected error when no "+
"password is present.\nexpected: %s\nreceived: %+v", expectedErr, err)
}
......
......@@ -10,7 +10,6 @@ package identity
import (
"encoding/json"
"io"
"io/fs"
"sync"
"time"
......@@ -86,7 +85,7 @@ func NewOrLoadTracker(session storage.Session, addrSpace address.Space) *manager
// Load this structure
err := t.load()
if err != nil && errors.Is(err, fs.ErrNotExist) {
if err != nil && !t.session.GetKV().Exists(err) {
oldTimestamp, err2 := getOldTimestampStore(t.session)
if err2 == nil {
jww.WARN.Printf("No tracked identities found, creating a new " +
......
......@@ -14,9 +14,7 @@ import (
"gitlab.com/elixxir/client/storage/versioned"
"gitlab.com/xx_network/primitives/id"
"gitlab.com/xx_network/primitives/netTime"
"io/fs"
"math"
"strings"
"sync"
)
......@@ -51,7 +49,7 @@ type conversationDisk struct {
// saved to KV, and returned.
func LoadOrMakeConversation(kv *versioned.KV, partner *id.ID) *Conversation {
c, err := loadConversation(kv, partner)
if err != nil && !(errors.Is(err, fs.ErrNotExist) || strings.Contains(err.Error(), "object not found")) {
if err != nil && kv.Exists(err) {
jww.FATAL.Panicf("Failed to load conversation from storage: %+v", err)
} else if c == nil {
// Create new conversation and save to KV if one does not exist
......
......@@ -15,7 +15,6 @@ import (
"gitlab.com/elixxir/client/e2e/receive"
"gitlab.com/elixxir/client/storage/versioned"
"gitlab.com/elixxir/crypto/e2e"
"gitlab.com/elixxir/ekv"
"gitlab.com/xx_network/primitives/id"
"gitlab.com/xx_network/primitives/netTime"
"strconv"
......@@ -57,7 +56,7 @@ func loadOrCreateMultiPartMessage(sender *id.ID, messageID uint64,
obj, err := kv.Get(messageKey, currentMultiPartMessageVersion)
if err != nil {
if !ekv.Exists(err) {
if !kv.Exists(err) {
mpm := &multiPartMessage{
Sender: sender,
MessageID: messageID,
......
......@@ -264,7 +264,7 @@ func TestMultiPartMessage_delete(t *testing.T) {
mpm.delete()
obj, err := kv.Get(messageKey, 0)
if ekv.Exists(err) {
if kv.Exists(err) {
t.Errorf("delete did not properly delete key %s."+
"\n\tobject received: %+v", messageKey, obj)
}
......
......@@ -87,7 +87,7 @@ func Test_loadPart_NotFoundError(t *testing.T) {
// Load part from key value store
data, err := loadPart(kv, partNum)
if ekv.Exists(err) {
if kv.Exists(err) {
t.Errorf("loadPart found an item for the key: %v", err)
}
......@@ -121,7 +121,7 @@ func TestDeletePart(t *testing.T) {
// Check if part was deleted
_, err = loadPart(kv, partNum)
if ekv.Exists(err) {
if kv.Exists(err) {
t.Errorf("part was found in key value store: %+v", err)
}
}
......@@ -13,7 +13,6 @@ import (
jww "github.com/spf13/jwalterweatherman"
"gitlab.com/elixxir/client/storage/versioned"
ftCrypto "gitlab.com/elixxir/crypto/fileTransfer"
"gitlab.com/elixxir/ekv"
"gitlab.com/xx_network/primitives/netTime"
"sync"
)
......@@ -56,7 +55,7 @@ func NewOrLoadReceived(kv *versioned.KV) (*Received, []*ReceivedTransfer, error)
obj, err := s.kv.Get(receivedTransfersStoreKey, receivedTransfersStoreVersion)
if err != nil {
if ekv.Exists(err) {
if kv.Exists(err) {
return nil, nil, errors.Errorf(errLoadReceived, err)
} else {
return s, nil, nil
......
......@@ -13,7 +13,6 @@ import (
jww "github.com/spf13/jwalterweatherman"
"gitlab.com/elixxir/client/storage/versioned"
ftCrypto "gitlab.com/elixxir/crypto/fileTransfer"
"gitlab.com/elixxir/ekv"
"gitlab.com/xx_network/primitives/id"
"gitlab.com/xx_network/primitives/netTime"
"sync"
......@@ -58,7 +57,7 @@ func NewOrLoadSent(kv *versioned.KV) (*Sent, []Part, error) {
obj, err := s.kv.Get(sentTransfersStoreKey, sentTransfersStoreVersion)
if err != nil {
if !ekv.Exists(err) {
if !kv.Exists(err) {
// Return the new Sent if none exists in storage
return s, nil, nil
} else {
......
......@@ -563,7 +563,7 @@ func TestLoadStateVector_GetError(t *testing.T) {
expectedErr := "object not found"
_, err := LoadStateVector(kv, key)
if err == nil || err.Error() != expectedErr {
if err == nil || kv.Exists(err) {
t.Fatalf("LoadStateVector did not return the expected error when no "+
"object exists in storage.\nexpected: %s\nreceived: %+v",
expectedErr, err)
......
......@@ -15,8 +15,6 @@ import (
"gitlab.com/elixxir/client/storage/versioned"
"gitlab.com/elixxir/primitives/fact"
"gitlab.com/xx_network/primitives/netTime"
"io/fs"
"strings"
"sync"
)
......@@ -138,8 +136,7 @@ func NewOrLoadStore(kv *versioned.KV) (*Store, error) {
}
if err := s.load(); err != nil {
if strings.Contains(err.Error(), "object not found") ||
errors.Is(err, fs.ErrNotExist) {
if err != nil && !s.kv.Exists(err) {
return s, s.save()
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment