pengyu0929 opened a new issue #646: No such omega callback found for service URL: https://github.com/apache/servicecomb-pack/issues/646 ```java @Override public void compensate(TxEvent event) { Map<String, OmegaCallback> serviceCallbacks = callbacks.getOrDefault(event.serviceName(), emptyMap()); OmegaCallback omegaCallback = serviceCallbacks.get(event.instanceId()); if (omegaCallback == null) { LOG.info("Cannot find the service with the instanceId {}, call the other instance.", event.instanceId()); // TODO extract an Interface to let user define the serviceCallback instance pick strategy Iterator<OmegaCallback> iterator = new ArrayList<>(serviceCallbacks.values()).iterator(); if(iterator.hasNext()) { omegaCallback = iterator.next(); } } if(omegaCallback==null){ throw new AlphaException("No such omega callback found for service " + event.serviceName()); } try { omegaCallback.compensate(event); } catch (Exception e) { serviceCallbacks.values().remove(omegaCallback); throw e; } } ``` 在执行` omegaCallback.compensate(event` 时,如果因为网络的原因没有找到服务实例,alpha认为当方面认为omega已经断开连接了,之后把omega从map中删除,但是omega在这种情况下并不会重连alpha,之后alpha会通过队列一直回调omega的补偿方法,导致一直报错,这种情况正确吗?
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
