requested idx == nil fix; add doc comment

This commit is contained in:
kcrodgers24 2022-02-14 10:09:33 -08:00
parent 7013910158
commit d57050d966
2 changed files with 32 additions and 28 deletions

View file

@ -312,6 +312,8 @@ type inMemSchemator struct {
schema Schema
}
// NewInMemSchemator instantiates an InMemSchemator
// this allows new holders to have thier own, and not rely on a shared instance
func NewInMemSchemator() *inMemSchemator {
return &inMemSchemator{
schema: make(Schema),

View file

@ -267,40 +267,42 @@ func (i *Index) openFields(idx *disco.Index) error {
eg, ctx := errgroup.WithContext(context.Background())
var mu sync.Mutex
if idx != nil {
fileLoop:
for fname, fld := range idx.Fields {
select {
case <-ctx.Done():
break fileLoop
default:
var cfm *CreateFieldMessage = &CreateFieldMessage{}
var err error
if idx == nil {
return nil
}
fileLoop:
for fname, fld := range idx.Fields {
select {
case <-ctx.Done():
break fileLoop
default:
var cfm *CreateFieldMessage = &CreateFieldMessage{}
var err error
// Decode the CreateFieldMessage from the schema data in order to
// get its metadata.
cfm, err = decodeCreateFieldMessage(i.holder.serializer, fld.Data)
// Decode the CreateFieldMessage from the schema data in order to
// get its metadata.
cfm, err = decodeCreateFieldMessage(i.holder.serializer, fld.Data)
if err != nil {
return errors.Wrap(err, "decoding create field message")
}
indexQueue <- struct{}{}
eg.Go(func() error {
defer func() {
<-indexQueue
}()
i.holder.Logger.Debugf("open field: %s", fname)
_, err := i.openField(&mu, cfm, fname)
if err != nil {
return errors.Wrap(err, "decoding create field message")
return errors.Wrap(err, "opening field")
}
indexQueue <- struct{}{}
eg.Go(func() error {
defer func() {
<-indexQueue
}()
i.holder.Logger.Debugf("open field: %s", fname)
_, err := i.openField(&mu, cfm, fname)
if err != nil {
return errors.Wrap(err, "opening field")
}
return nil
})
}
return nil
})
}
}
err = eg.Wait()
if err != nil {
// Close any fields which got opened, since the overall