@Override public void doInject(ClusterDataCache cache) { String topStateNode = null; for (String instance : cfg.initialCurrentStates.keySet()) { if (cfg.initialCurrentStates.get(instance).currentState.equals("MASTER")) { topStateNode = instance; break; } } // Simulate the previous top state instance goes offline if (topStateNode != null) { long originalStartTime = cfg.currentStateWithMissingTopState.get(topStateNode).startTime; // Inject a message that fit expectedDuration Message message = new Message(Message.MessageType.STATE_TRANSITION, "thisisafakemessage"); message.setTgtSessionId(SESSION_PREFIX + topStateNode.split("_")[1]); message.setToState("MASTER"); message.setCreateTimeStamp(originalStartTime - messageTimeBeforeMasterless); message.setTgtName(topStateNode); message.setResourceName(TEST_RESOURCE); message.setPartitionName(PARTITION); cache.cacheMessages(Collections.singletonList(message)); } } }, 1, 0,
new Message(Message.MessageType.STATE_TRANSITION.name(), UUID.randomUUID().toString()); msg.setTgtSessionId(manager.getSessionId()); msg.setCreateTimeStamp((long) i); msg.setTgtName("Localhost_1123"); msg.setSrcName("127.101.1.23_2234");