func (self *ShardData) WriteLocalOnly(request *protocol.Request) error { requestNumber, err := self.wal.AssignSequenceNumbersAndLog(request, self) if err != nil { return err } request.RequestNumber = &requestNumber self.store.BufferWrite(request) return nil }
func (self *ShardData) Write(request *protocol.Request) error { request.ShardId = &self.id requestNumber, err := self.wal.AssignSequenceNumbersAndLog(request, self) if err != nil { return err } request.RequestNumber = &requestNumber if self.store != nil { self.store.BufferWrite(request) } for _, server := range self.clusterServers { server.BufferWrite(request) } return nil }
func (self *ShardData) Write(request *p.Request) error { request.ShardId = &self.id requestNumber, err := self.wal.AssignSequenceNumbersAndLog(request, self) if err != nil { return err } request.RequestNumber = &requestNumber if self.store != nil { self.store.BufferWrite(request) } for _, server := range self.clusterServers { // we have to create a new reqeust object because the ID gets assigned on each server. requestWithoutId := &p.Request{Type: request.Type, Database: request.Database, MultiSeries: request.MultiSeries, ShardId: &self.id, RequestNumber: request.RequestNumber} server.BufferWrite(requestWithoutId) } return nil }