func init() { x.AddInit(func() { disableICU = true if len(*icuDataFile) == 0 { x.Printf("WARNING: ICU data file empty") return } if err := icuembed.Load(*icuDataFile); err != nil { x.Printf("WARNING: Error loading ICU datafile: %s %v", *icuDataFile, err) return } // Everything well. Re-enable ICU. disableICU = false }) }
func (n *node) processMembership(e raftpb.Entry, mm *task.Membership) error { x.AssertTrue(n.gid == 0) x.Printf("group: %v Addr: %q leader: %v dead: %v\n", mm.GroupId, mm.Addr, mm.Leader, mm.AmDead) groups().applyMembershipUpdate(e.Index, mm) return nil }
func (n *node) joinPeers() { // Get leader information for MY group. pid, paddr := groups().Leader(n.gid) n.Connect(pid, paddr) fmt.Printf("Connected with: %v\n", paddr) addr := n.peers.Get(pid) pool := pools().get(addr) x.AssertTruef(pool != nil, "Unable to find addr for peer: %d", pid) // Bring the instance up to speed first. _, err := populateShard(n.ctx, pool, 0) x.Checkf(err, "Error while populating shard") conn, err := pool.Get() x.Check(err) defer pool.Put(conn) c := NewWorkerClient(conn) x.Printf("Calling JoinCluster") _, err = c.JoinCluster(n.ctx, n.raftContext) x.Checkf(err, "Error while joining cluster") x.Printf("Done with JoinCluster call\n") }
// runMutations goes through all the edges and applies them. It returns the // mutations which were not applied in left. func runMutations(ctx context.Context, edges []*task.DirectedEdge, op uint32) error { for _, edge := range edges { if !groups().ServesGroup(group.BelongsTo(edge.Attr)) { return x.Errorf("Predicate fingerprint doesn't match this instance") } key := x.DataKey(edge.Attr, edge.Entity) plist, decr := posting.GetOrCreate(key) defer decr() if err := plist.AddMutationWithIndex(ctx, edge, op); err != nil { x.Printf("Error while adding mutation: %v %v", edge, err) return err // abort applying the rest of them. } } return nil }
// DebugPrint prints out the SubGraph tree in a nice format for debugging purposes. func (sg *SubGraph) DebugPrint(prefix string) { var src, dst int if sg.SrcUIDs != nil { src = len(sg.SrcUIDs.Uids) } if sg.DestUIDs != nil { dst = len(sg.DestUIDs.Uids) } x.Printf("%s[%q Alias:%q Func:%v SrcSz:%v Op:%q DestSz:%v Dest: %p ValueSz:%v]\n", prefix, sg.Attr, sg.Params.Alias, sg.SrcFunc, src, sg.FilterOp, dst, sg.DestUIDs, len(sg.values)) for _, f := range sg.Filters { f.DebugPrint(prefix + "|-f->") } for _, c := range sg.Children { c.DebugPrint(prefix + "|->") } }
// DebugPrint is useful for debugging. func (gq *GraphQuery) DebugPrint(prefix string) { x.Printf("%s[%x %q %q->%q]\n", prefix, gq.UID, gq.XID, gq.Attr, gq.Alias) for _, c := range gq.Children { c.DebugPrint(prefix + "|->") } }