func (p *batchPoint) pushError(err error) {
	p.errch <- err
	close(p.errch)
}
func (p *batchPoint) pushError(err error) {
	p.errch <- err
	close(p.errch)
}
// pushError reports err(can be nil) to the waiter.
// It does not block and must only be executed once.