private synchronized void zkHeatbeat() {
try {
String hdfsforder = (this.isMergeServer) ? "mergerServer" : IndexUtils.getHdfsForder(taskIndex);
Integer bindport = this.getBindPort();
Long hbtime = statcollect.getLastTime();
SolrInfo info = new SolrInfo(this.params.replication,this.params.replicationindex,this.taskIndex,false,localSolrPath.toString(),
"solrservice".toString(), hdfsforder, bindport,
statcollect.getStat(), new HashMap<String, ShardCount>(), new HashMap<String, ShardCount>(), this.statcollect.getSetupTime(),
hbtime, this.isMergeServer);
LOG.info("higolog zkHeatbeat " + this.tablename + ",info:" + info.toShortString());
Worker.getCluster().higo_heartbeat(this.tablename, this.taskid, info);
} catch (Exception e) {
LOG.error(StormUtils.stringify_error(e));
throw new RuntimeException(e);
}