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

Commit 1159a3a

Browse files
authored
Merge branch 'master' into update-deps-v1.0.0
2 parents 7728bda + 2228076 commit 1159a3a

File tree

5 files changed

+304
-263
lines changed

5 files changed

+304
-263
lines changed

gossip/gossip.go

+36-36
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,28 @@ import (
3333
)
3434

3535
// Ensure GossipMemberSet implements interfaces.
36-
var _ memberlist.Delegate = &gossipMemberSet{}
36+
var _ memberlist.Delegate = &memberSet{}
3737

38-
// gossipMemberSet represents a gossip implementation of MemberSet using memberlist.
39-
type gossipMemberSet struct {
38+
// memberSet represents a gossip implementation of MemberSet using memberlist.
39+
type memberSet struct {
4040
mu sync.RWMutex
4141
memberlist *memberlist.Memberlist
4242

4343
broadcasts *memberlist.TransmitLimitedQueue
4444

4545
papi *pilosa.API
46-
config *gossipConfig
46+
config *config
4747

4848
Logger pilosa.Logger
4949

5050
logger *log.Logger
5151
transport *Transport
5252

53-
gossipEventReceiver *gossipEventReceiver
53+
eventReceiver *eventReceiver
5454
}
5555

5656
// Open implements the MemberSet interface to start network activity.
57-
func (g *gossipMemberSet) Open() (err error) {
57+
func (g *memberSet) Open() (err error) {
5858
g.mu.Lock()
5959
g.memberlist, err = memberlist.Create(g.config.memberlistConfig)
6060
g.mu.Unlock()
@@ -94,7 +94,7 @@ func (g *gossipMemberSet) Open() (err error) {
9494
}
9595

9696
// joinWithRetry wraps the standard memberlist Join function in a retry.
97-
func (g *gossipMemberSet) joinWithRetry(hosts []string) error {
97+
func (g *memberSet) joinWithRetry(hosts []string) error {
9898
err := retry(60, 2*time.Second, func() error {
9999
_, err := g.memberlist.Join(hosts)
100100
return err
@@ -120,34 +120,34 @@ func retry(attempts int, sleep time.Duration, fn func() error) (err error) {
120120

121121
////////////////////////////////////////////////////////////////
122122

123-
type gossipConfig struct {
123+
type config struct {
124124
gossipSeeds []string
125125
memberlistConfig *memberlist.Config
126126
}
127127

128-
// gossipMemberSetOption describes a functional option for GossipMemberSet.
129-
type gossipMemberSetOption func(*gossipMemberSet) error
128+
// memberSetOption describes a functional option for GossipMemberSet.
129+
type memberSetOption func(*memberSet) error
130130

131-
// WithTransport is a functional option for providing a transport to NewGossipMemberSet.
132-
func WithTransport(transport *Transport) gossipMemberSetOption {
133-
return func(g *gossipMemberSet) error {
131+
// WithTransport is a functional option for providing a transport to NewMemberSet.
132+
func WithTransport(transport *Transport) memberSetOption {
133+
return func(g *memberSet) error {
134134
g.transport = transport
135135
return nil
136136
}
137137
}
138138

139-
// WithLogger is a functional option for providing a logger to NewGossipMemberSet.
140-
func WithLogger(logger *log.Logger) gossipMemberSetOption {
141-
return func(g *gossipMemberSet) error {
139+
// WithLogger is a functional option for providing a logger to NewMemberSet.
140+
func WithLogger(logger *log.Logger) memberSetOption {
141+
return func(g *memberSet) error {
142142
g.logger = logger
143143
return nil
144144
}
145145
}
146146

147-
// NewGossipMemberSet returns a new instance of GossipMemberSet based on options.
148-
func NewGossipMemberSet(cfg Config, api *pilosa.API, options ...gossipMemberSetOption) (*gossipMemberSet, error) {
147+
// NewMemberSet returns a new instance of GossipMemberSet based on options.
148+
func NewMemberSet(cfg Config, api *pilosa.API, options ...memberSetOption) (*memberSet, error) {
149149
host := api.Node().URI.Host
150-
g := &gossipMemberSet{
150+
g := &memberSet{
151151
papi: api,
152152
Logger: pilosa.NopLogger,
153153
}
@@ -158,8 +158,8 @@ func NewGossipMemberSet(cfg Config, api *pilosa.API, options ...gossipMemberSetO
158158
return nil, errors.Wrap(err, "executing option")
159159
}
160160
}
161-
ger := newGossipEventReceiver(g.logger, api)
162-
g.gossipEventReceiver = ger
161+
ger := newEventReceiver(g.logger, api)
162+
g.eventReceiver = ger
163163

164164
if g.transport == nil {
165165
port, err := strconv.Atoi(cfg.Port)
@@ -210,7 +210,7 @@ func NewGossipMemberSet(cfg Config, api *pilosa.API, options ...gossipMemberSetO
210210
conf.Events = ger
211211
conf.Logger = g.logger
212212

213-
g.config = &gossipConfig{
213+
g.config = &config{
214214
memberlistConfig: conf,
215215
gossipSeeds: cfg.Seeds,
216216
}
@@ -219,7 +219,7 @@ func NewGossipMemberSet(cfg Config, api *pilosa.API, options ...gossipMemberSetO
219219
}
220220

221221
// NodeMeta implementation of the memberlist.Delegate interface.
222-
func (g *gossipMemberSet) NodeMeta(limit int) []byte {
222+
func (g *memberSet) NodeMeta(limit int) []byte {
223223
buf, err := g.papi.Serializer.Marshal(g.papi.Node())
224224
if err != nil {
225225
g.Logger.Printf("marshal message error: %s", err)
@@ -230,7 +230,7 @@ func (g *gossipMemberSet) NodeMeta(limit int) []byte {
230230

231231
// NotifyMsg implementation of the memberlist.Delegate interface
232232
// called when a user-data message is received.
233-
func (g *gossipMemberSet) NotifyMsg(b []byte) {
233+
func (g *memberSet) NotifyMsg(b []byte) {
234234
err := g.papi.ClusterMessage(context.Background(), bytes.NewBuffer(b))
235235
if err != nil {
236236
g.Logger.Printf("cluster message error: %s", err)
@@ -239,13 +239,13 @@ func (g *gossipMemberSet) NotifyMsg(b []byte) {
239239

240240
// GetBroadcasts implementation of the memberlist.Delegate interface
241241
// called when user data messages can be broadcast.
242-
func (g *gossipMemberSet) GetBroadcasts(overhead, limit int) [][]byte {
242+
func (g *memberSet) GetBroadcasts(overhead, limit int) [][]byte {
243243
return g.broadcasts.GetBroadcasts(overhead, limit)
244244
}
245245

246246
// LocalState implementation of the memberlist.Delegate interface
247247
// sends this Node's state data.
248-
func (g *gossipMemberSet) LocalState(join bool) []byte {
248+
func (g *memberSet) LocalState(join bool) []byte {
249249
m := &pilosa.NodeStatus{
250250
Node: g.papi.Node(),
251251
MaxShards: g.papi.MaxShards(context.Background()),
@@ -263,28 +263,28 @@ func (g *gossipMemberSet) LocalState(join bool) []byte {
263263

264264
// MergeRemoteState implementation of the memberlist.Delegate interface
265265
// receive and process the remote side's LocalState.
266-
func (g *gossipMemberSet) MergeRemoteState(buf []byte, join bool) {
266+
func (g *memberSet) MergeRemoteState(buf []byte, join bool) {
267267
err := g.papi.ClusterMessage(context.Background(), bytes.NewBuffer(buf))
268268
if err != nil {
269269
g.Logger.Printf("merge state error: %s", err)
270270
}
271271
}
272272

273-
// gossipEventReceiver is used to enable an application to receive
273+
// eventReceiver is used to enable an application to receive
274274
// events about joins and leaves over a channel.
275275
//
276276
// Care must be taken that events are processed in a timely manner from
277277
// the channel, since this delegate will block until an event can be sent.
278-
type gossipEventReceiver struct {
278+
type eventReceiver struct {
279279
ch chan memberlist.NodeEvent
280280
papi *pilosa.API
281281

282282
logger *log.Logger
283283
}
284284

285-
// newGossipEventReceiver returns a new instance of GossipEventReceiver.
286-
func newGossipEventReceiver(logger *log.Logger, papi *pilosa.API) *gossipEventReceiver {
287-
ger := &gossipEventReceiver{
285+
// newEventReceiver returns a new instance of GossipEventReceiver.
286+
func newEventReceiver(logger *log.Logger, papi *pilosa.API) *eventReceiver {
287+
ger := &eventReceiver{
288288
ch: make(chan memberlist.NodeEvent, 1),
289289
logger: logger,
290290
papi: papi,
@@ -293,19 +293,19 @@ func newGossipEventReceiver(logger *log.Logger, papi *pilosa.API) *gossipEventRe
293293
return ger
294294
}
295295

296-
func (g *gossipEventReceiver) NotifyJoin(n *memberlist.Node) {
296+
func (g *eventReceiver) NotifyJoin(n *memberlist.Node) {
297297
g.ch <- memberlist.NodeEvent{memberlist.NodeJoin, n}
298298
}
299299

300-
func (g *gossipEventReceiver) NotifyLeave(n *memberlist.Node) {
300+
func (g *eventReceiver) NotifyLeave(n *memberlist.Node) {
301301
g.ch <- memberlist.NodeEvent{memberlist.NodeLeave, n}
302302
}
303303

304-
func (g *gossipEventReceiver) NotifyUpdate(n *memberlist.Node) {
304+
func (g *eventReceiver) NotifyUpdate(n *memberlist.Node) {
305305
g.ch <- memberlist.NodeEvent{memberlist.NodeUpdate, n}
306306
}
307307

308-
func (g *gossipEventReceiver) listen() {
308+
func (g *eventReceiver) listen() {
309309
var nodeEventType pilosa.NodeEventType
310310
for {
311311
e := <-g.ch

pql/pql.peg

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ posfield <- <fieldExpr> { p.addPosStr("_field", buffer[begin:end]) }
5757
uint <- [1-9] [0-9]* / '0'
5858
uintrow <- <uint>{p.addPosNum("_row", buffer[begin:end])}
5959
col <- ( <uint> {p.addPosNum("_col", buffer[begin:end])}
60+
/ '\'' <singlequotedstring> '\'' {p.addPosStr("_col", buffer[begin:end])}
6061
/ '"' <doublequotedstring> '"' {p.addPosStr("_col", buffer[begin:end])}
6162
)
6263

0 commit comments

Comments
 (0)