boolean isScratch) throws IOException {
LOG.debug("Determining assignment for " + topologyid);
Map<?, ?> conf = data.getConf();
StormClusterState stormClusterState = data.getStormClusterState();
//����zk callback�¼�
RunnableCallback callback =new TransitionZkCallback(data, topologyid);
//��ȡ���е�supervisor�ڵ���Ϣ��
Map<String, SupervisorInfo> supInfos = allSupervisorInfo(stormClusterState, callback);
//��ȡ<supervisorid,hostname>map���ϣ����磺node->host {"4b83cd41-e863-4bd6-b26d-3e27e5ff7799" "dw-perf-3.alipay.net","b8f1664d-5555-4950-8139-5098fb109a81" "dw-perf-2.alipay.net"}
Map<String, String> nodeHost = getNodeHost(supInfos);
//��ȡָ��topologyid��assignment��Ϣ��