it is better to log a error here than throw exceptions, throw exception will cause the node terminal