Skip to content
This repository was archived by the owner on Feb 21, 2024. It is now read-only.

Commit 0973946

Browse files
authored
Merge pull request #1964 from jaffee/v1.3-backport-1951
Backport #1951
2 parents e0a9fd7 + f3e1ec3 commit 0973946

File tree

6 files changed

+10
-95
lines changed

6 files changed

+10
-95
lines changed

field.go

+1-8
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,6 @@ const (
5858
FieldTypeBool = "bool"
5959
)
6060

61-
func defaultShardValidator(shard uint64) bool {
62-
return true
63-
}
64-
6561
// Field represents a container for views.
6662
type Field struct {
6763
mu sync.RWMutex
@@ -84,7 +80,6 @@ type Field struct {
8480

8581
// Shards with data on any node in the cluster, according to this node.
8682
remoteAvailableShards *roaring.Bitmap
87-
shardValidator func(uint64) bool
8883

8984
logger logger.Logger
9085
}
@@ -212,8 +207,7 @@ func newField(path, index, name string, opts FieldOption) (*Field, error) {
212207

213208
remoteAvailableShards: roaring.NewBitmap(),
214209

215-
shardValidator: defaultShardValidator,
216-
logger: logger.NopLogger,
210+
logger: logger.NopLogger,
217211
}
218212
return f, nil
219213
}
@@ -762,7 +756,6 @@ func (f *Field) newView(path, name string) *view {
762756
view.rowAttrStore = f.rowAttrStore
763757
view.stats = f.Stats.WithTags(fmt.Sprintf("view:%s", name))
764758
view.broadcaster = f.broadcaster
765-
view.shardValidator = f.shardValidator
766759
return view
767760
}
768761

holder.go

-8
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ type Holder struct {
7777
// The interval at which the cached row ids are persisted to disk.
7878
cacheFlushInterval time.Duration
7979

80-
shardValidatorFunc func(index string, shard uint64) bool
81-
8280
Logger logger.Logger
8381
}
8482

@@ -125,9 +123,6 @@ func NewHolder() *Holder {
125123
NewAttrStore: newNopAttrStore,
126124

127125
cacheFlushInterval: defaultCacheFlushInterval,
128-
shardValidatorFunc: func(index string, shard uint64) bool {
129-
return true //default
130-
},
131126

132127
Logger: logger.NopLogger,
133128
}
@@ -430,9 +425,6 @@ func (h *Holder) newIndex(path, name string) (*Index, error) {
430425
index.broadcaster = h.broadcaster
431426
index.newAttrStore = h.NewAttrStore
432427
index.columnAttrs = h.NewAttrStore(filepath.Join(index.path, ".data"))
433-
index.shardValidator = func(shard uint64) bool {
434-
return h.shardValidatorFunc(name, shard)
435-
}
436428
return index, nil
437429
}
438430

index.go

+2-5
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,8 @@ type Index struct {
5050
// Column attribute storage and cache.
5151
columnAttrs AttrStore
5252

53-
broadcaster broadcaster
54-
Stats stats.StatsClient
55-
shardValidator func(uint64) bool
53+
broadcaster broadcaster
54+
Stats stats.StatsClient
5655

5756
logger logger.Logger
5857
}
@@ -75,7 +74,6 @@ func NewIndex(path, name string) (*Index, error) {
7574
broadcaster: NopBroadcaster,
7675
Stats: stats.NopStatsClient,
7776
logger: logger.NopLogger,
78-
shardValidator: defaultShardValidator,
7977
trackExistence: true,
8078
}, nil
8179
}
@@ -405,7 +403,6 @@ func (i *Index) newField(path, name string) (*Field, error) {
405403
f.Stats = i.Stats.WithTags(fmt.Sprintf("field:%s", name))
406404
f.broadcaster = i.broadcaster
407405
f.rowAttrStore = i.newAttrStore(filepath.Join(f.path, ".data"))
408-
f.shardValidator = i.shardValidator
409406
return f, nil
410407
}
411408

server.go

-3
Original file line numberDiff line numberDiff line change
@@ -321,9 +321,6 @@ func NewServer(opts ...ServerOption) (*Server, error) {
321321
s.cluster.broadcaster = s
322322
s.cluster.maxWritesPerRequest = s.maxWritesPerRequest
323323
s.holder.broadcaster = s
324-
s.holder.shardValidatorFunc = func(index string, shard uint64) bool {
325-
return s.cluster.ownsShard(s.nodeID, index, shard)
326-
}
327324

328325
err = s.cluster.setup()
329326
if err != nil {

server_internal_test.go

-58
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,9 @@ package pilosa
1616

1717
import (
1818
"io/ioutil"
19-
"os"
2019
"runtime"
2120
"testing"
2221
"time"
23-
24-
"github.com/pilosa/pilosa/roaring"
2522
)
2623

2724
// Ensure the file handle count is working
@@ -63,58 +60,3 @@ func TestMonitorAntiEntropyZero(t *testing.T) {
6360
t.Fatalf("monitorAntiEntropy should have returned immediately with duration 0")
6461
}
6562
}
66-
67-
func TestOnlyOpenOwnedFiles(t *testing.T) {
68-
path, err := ioutil.TempDir("", "pilosa")
69-
if err != nil {
70-
t.Fatalf("getting temp dir: %v", err)
71-
}
72-
defer func() {
73-
err := os.RemoveAll(path)
74-
if err != nil {
75-
t.Logf("cleaning up temp dir: %v", err)
76-
}
77-
}()
78-
bm := roaring.NewFileBitmap(1, 2, 3)
79-
err = os.MkdirAll(path+"/i/f/views/standard/fragments", os.ModeDir|os.ModePerm)
80-
if err != nil {
81-
t.Fatalf("mkdirall: %v", err)
82-
}
83-
one, err := os.Create(path + "/i/f/views/standard/fragments/1")
84-
if err != nil {
85-
t.Fatalf("creating one: %v", err)
86-
}
87-
two, err := os.Create(path + "/i/f/views/standard/fragments/2")
88-
if err != nil {
89-
t.Fatalf("creating two: %v", err)
90-
}
91-
_, err = bm.WriteTo(one)
92-
if err != nil {
93-
t.Fatalf("writing to one: %v", err)
94-
}
95-
_, err = bm.WriteTo(two)
96-
if err != nil {
97-
t.Fatalf("writing to two: %v", err)
98-
}
99-
100-
h := NewHolder()
101-
h.Path = path
102-
h.shardValidatorFunc = func(index string, shard uint64) bool {
103-
return shard == 1
104-
}
105-
106-
err = h.Open()
107-
if err != nil {
108-
t.Fatalf("opening holder: %v", err)
109-
}
110-
111-
view := h.Index("i").Field("f").view("standard")
112-
113-
if len(view.fragments) != 1 {
114-
t.Errorf("should have one fragment, but have: %d", len(view.fragments))
115-
}
116-
117-
if _, ok := view.fragments[1]; !ok {
118-
t.Errorf("should have fragment 1, but fragments: %#v", view.fragments)
119-
}
120-
}

view.go

+7-13
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,10 @@ type view struct {
5252
// Fragments by shard.
5353
fragments map[uint64]*fragment
5454

55-
broadcaster broadcaster
56-
stats stats.StatsClient
57-
rowAttrStore AttrStore
58-
logger logger.Logger
59-
shardValidator func(uint64) bool
55+
broadcaster broadcaster
56+
stats stats.StatsClient
57+
rowAttrStore AttrStore
58+
logger logger.Logger
6059
}
6160

6261
// newView returns a new instance of View.
@@ -73,10 +72,9 @@ func newView(path, index, field, name string, fieldOptions FieldOptions) *view {
7372

7473
fragments: make(map[uint64]*fragment),
7574

76-
broadcaster: NopBroadcaster,
77-
stats: stats.NopStatsClient,
78-
logger: logger.NopLogger,
79-
shardValidator: defaultShardValidator,
75+
broadcaster: NopBroadcaster,
76+
stats: stats.NopStatsClient,
77+
logger: logger.NopLogger,
8078
}
8179
}
8280

@@ -134,10 +132,6 @@ func (v *view) openFragments() error {
134132
if err != nil {
135133
continue
136134
}
137-
//skip shard if not owned
138-
if !v.shardValidator(shard) {
139-
continue
140-
}
141135

142136
frag := v.newFragment(v.fragmentPath(shard), shard)
143137
if err := frag.Open(); err != nil {

0 commit comments

Comments
 (0)