use of org.apache.storm.task.GeneralTopologyContext in project storm by apache.
the class TestSequenceFileBolt method generateTestTuple.
private Tuple generateTestTuple(Long key, String value) {
TopologyBuilder builder = new TopologyBuilder();
GeneralTopologyContext topologyContext = new GeneralTopologyContext(builder.createTopology(), new Config(), new HashMap<>(), new HashMap<>(), new HashMap<>(), "") {
@Override
public Fields getComponentOutputFields(String componentId, String streamId) {
return new Fields("key", "value");
}
};
return new TupleImpl(topologyContext, new Values(key, value), topologyContext.getComponentId(1), 1, "");
}
use of org.apache.storm.task.GeneralTopologyContext in project storm by apache.
the class AvroGenericRecordBoltTest method generateTestTuple.
private static Tuple generateTestTuple(GenericRecord record) {
TopologyBuilder builder = new TopologyBuilder();
GeneralTopologyContext topologyContext = new GeneralTopologyContext(builder.createTopology(), new Config(), new HashMap(), new HashMap(), new HashMap(), "") {
@Override
public Fields getComponentOutputFields(String componentId, String streamId) {
return new Fields("record");
}
};
return new TupleImpl(topologyContext, new Values(record), topologyContext.getComponentId(1), 1, "");
}
use of org.apache.storm.task.GeneralTopologyContext in project storm by apache.
the class TestHdfsBolt method generateTestTuple.
private Tuple generateTestTuple(Object id, Object msg, Object city, Object state) {
TopologyBuilder builder = new TopologyBuilder();
GeneralTopologyContext topologyContext = new GeneralTopologyContext(builder.createTopology(), new Config(), new HashMap<>(), new HashMap<>(), new HashMap<>(), "") {
@Override
public Fields getComponentOutputFields(String componentId, String streamId) {
return new Fields("id", "msg", "city", "state");
}
};
return new TupleImpl(topologyContext, new Values(id, msg, city, state), topologyContext.getComponentId(1), 1, "");
}
use of org.apache.storm.task.GeneralTopologyContext in project storm by apache.
the class EsTestUtil method generateTestTuple.
public static Tuple generateTestTuple(String source, String index, String type, String id) {
TopologyBuilder builder = new TopologyBuilder();
GeneralTopologyContext topologyContext = new GeneralTopologyContext(builder.createTopology(), new Config(), new HashMap<>(), new HashMap<>(), new HashMap<>(), "") {
@Override
public Fields getComponentOutputFields(String componentId, String streamId) {
return new Fields("source", "index", "type", "id");
}
};
return new TupleImpl(topologyContext, new Values(source, index, type, id), source, 1, "");
}
use of org.apache.storm.task.GeneralTopologyContext in project storm by apache.
the class ExecutorTransferMultiThreadingTest method setup.
@Before
public void setup() throws NoSuchFieldException {
topoConf = Utils.readStormConfig();
String topologyId = "multi-threaded-topo-test";
StormTopology stormTopology = createStormTopology();
WorkerTopologyContext workerTopologyContext = mock(WorkerTopologyContext.class);
when(workerTopologyContext.getRawTopology()).thenReturn(stormTopology);
when(workerTopologyContext.getComponentId(selfTaskId)).thenReturn(sourceComp);
when(workerTopologyContext.getComponentId(remoteTaskId)).thenReturn(destComp);
workerState = mock(WorkerState.class);
when(workerState.getWorkerTopologyContext()).thenReturn(workerTopologyContext);
Map<Integer, JCQueue> receiveQMap = new HashMap<>();
// local recvQ is not important in this test; simple mock it
receiveQMap.put(selfTaskId, mock(JCQueue.class));
when(workerState.getLocalReceiveQueues()).thenReturn(receiveQMap);
when(workerState.getTopologyId()).thenReturn(topologyId);
when(workerState.getPort()).thenReturn(6701);
when(workerState.getMetricRegistry()).thenReturn(new StormMetricRegistry());
when(workerState.tryTransferRemote(any(), any(), any())).thenCallRealMethod();
// the actual worker transfer queue to be used in this test
// taskId for worker transfer queue should be -1.
// But there is already one worker transfer queue initialized by WorkerTransfer class (taskId=-1).
// However the taskId is only used for metrics and it is not important here. Making it -100 to avoid collision.
transferQueue = new JCQueue("worker-transfer-queue", "worker-transfer-queue", 1024, 0, 1, new WaitStrategyPark(100), workerState.getTopologyId(), Constants.SYSTEM_COMPONENT_ID, Collections.singletonList(-100), workerState.getPort(), workerState.getMetricRegistry());
// Replace the transferQueue inside WorkerTransfer (inside WorkerState) with the customized transferQueue to be used in this test
WorkerTransfer workerTransfer = new WorkerTransfer(workerState, topoConf, 2);
FieldSetter.setField(workerTransfer, workerTransfer.getClass().getDeclaredField("transferQueue"), transferQueue);
FieldSetter.setField(workerState, workerState.getClass().getDeclaredField("workerTransfer"), workerTransfer);
generalTopologyContext = mock(GeneralTopologyContext.class);
}
Aggregations