mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-07 09:05:55 +00:00
Merge branch 'master' into mutex-field-type
This commit is contained in:
commit
17118f86c2
1 changed files with 29 additions and 0 deletions
|
|
@ -4,11 +4,13 @@ import (
|
|||
"bufio"
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"math/rand"
|
||||
"os"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
|
@ -356,6 +358,24 @@ func TestTranslateFile_Reader(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func TestPrintTranslateFile(t *testing.T) {
|
||||
// I think this is related to the mmap in s.Open.
|
||||
t.Skip("causes fatal error: fault")
|
||||
f, err := ioutil.TempFile("", "")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
f.Close()
|
||||
|
||||
s := pilosa.NewTranslateFile()
|
||||
s.Path = f.Name()
|
||||
err = s.Open()
|
||||
if err != nil {
|
||||
t.Fatalf("opening : %v", err)
|
||||
}
|
||||
fmt.Println("blah ", s)
|
||||
}
|
||||
|
||||
func TestTranslateFile_PrimaryTranslateStore(t *testing.T) {
|
||||
// Create a primary store that accepts writes.
|
||||
primary := MustOpenTranslateFile()
|
||||
|
|
@ -495,6 +515,7 @@ func BenchmarkTranslateFile_TranslateColumnToString(b *testing.B) {
|
|||
}
|
||||
|
||||
type TranslateFile struct {
|
||||
lock sync.Mutex
|
||||
*pilosa.TranslateFile
|
||||
}
|
||||
|
||||
|
|
@ -510,6 +531,12 @@ func NewTranslateFile() *TranslateFile {
|
|||
return s
|
||||
}
|
||||
|
||||
func (t *TranslateFile) Reader(ctx context.Context, offset int64) (io.ReadCloser, error) {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
return t.TranslateFile.Reader(ctx, offset)
|
||||
}
|
||||
|
||||
func MustOpenTranslateFile() *TranslateFile {
|
||||
s := NewTranslateFile()
|
||||
if err := s.Open(); err != nil {
|
||||
|
|
@ -536,7 +563,9 @@ func (s *TranslateFile) Reopen() error {
|
|||
return err
|
||||
}
|
||||
|
||||
s.lock.Lock()
|
||||
s.TranslateFile = pilosa.NewTranslateFile()
|
||||
s.lock.Unlock()
|
||||
s.Path = prev.Path
|
||||
s.PrimaryTranslateStore = prev.PrimaryTranslateStore
|
||||
if err := s.Open(); err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue