func (self *CoordinatorImpl) handleSeriesDelete(user common.User, server *ClusterServer, database string, query *parser.DeleteQuery) error { owner, servers := self.clusterConfiguration.GetReplicas(server, &database) request := self.createRequest(proxyDelete, &database) queryStr := query.GetQueryStringWithTimeCondition() request.Query = &queryStr request.OriginatingServerId = &self.clusterConfiguration.localServerId request.ClusterVersion = &self.clusterConfiguration.ClusterVersion request.OwnerServerId = &owner.Id if server.Id == self.clusterConfiguration.localServerId { // this is a local delete replicationFactor := self.clusterConfiguration.GetReplicationFactor(&database) err := self.datastore.LogRequestAndAssignSequenceNumber(request, &replicationFactor, &owner.Id) if err != nil { return self.proxyUntilSuccess(servers, request) } self.deleteSeriesDataLocally(user, database, query) if err != nil { log.Error("Couldn't write data to local store: ", err, request) } // ignoring the error because we still want to send to replicas request.Type = &replicateDelete self.sendRequestToReplicas(request, servers) return nil } // otherwise, proxy the delete return self.proxyUntilSuccess(servers, request) }