public Tuple getTuple(String stream, List values) { return new TupleImpl(systemTopologyContext, values, executor.getComponentId(), systemTopologyContext.getThisTaskId(), stream); }
@Override public void tupleActionFn(int taskId, TupleImpl tuple) throws Exception { String streamId = tuple.getSourceStreamId(); if (Constants.SYSTEM_FLUSH_STREAM_ID.equals(streamId)) { outputCollector.flush(); Object taskObject = idToTask.get(taskId - idToTaskBase).getTaskObject(); if (taskObject instanceof ICredentialsListener) { ((ICredentialsListener) taskObject).setCredentials((Map<String, String>) tuple.getValue(0)); Long now = (isSampled || isExecuteSampler) ? Time.currentTimeMillis() : null; if (isSampled) { tuple.setProcessSampleStartTime(now); tuple.setExecuteSampleStartTime(now); Long ms = tuple.getExecuteSampleStartTime(); long delta = (ms != null) ? Time.deltaMs(ms) : -1; if (isDebug) { stats.boltExecuteTuple(tuple.getSourceComponent(), tuple.getSourceStreamId(), delta);
@Override public Long getLongByField(String field) { return (Long) values.get(fieldIndex(field)); }
@Override public Fields getFields() { return context.getComponentOutputFields(getSourceComponent(), getSourceStreamId()); }
if (rootIds.size() > 0) { long edgeId = MessageId.generateId(random); ((TupleImpl) a).updateAckVal(edgeId); for (Long root_id : rootIds) { putXor(anchorsToIds, root_id, edgeId); msgId = MessageId.makeUnanchored(); TupleImpl tupleExt = new TupleImpl( executor.getWorkerTopologyContext(), values, executor.getComponentId(), taskId, streamId, msgId); xsfer.tryTransfer(new AddressedTuple(t, tupleExt), executor.getPendingEmits());
@Override public String toString() { return "source: " + getSourceComponent() + ":" + getSourceTask() + ", stream: " + getSourceStreamId() + ", " + getValues().toString(); }
public IPersistentMap meta() { if(_meta==null) { _meta = new PersistentArrayMap( new Object[] { makeKeyword("stream"), getSourceStreamId(), makeKeyword("component"), getSourceComponent(), makeKeyword("task"), getSourceTask()}); } return _meta; }
@Override public String toString() { return "source: " + getSourceComponent() + ":" + taskId + ", stream: " + streamId + ", id: " + id.toString() + ", " + values.toString() + " PROC_START_TIME(sampled): " + _processSampleStartTime + " EXEC_START_TIME(sampled): " + _executeSampleStartTime; }
@Override public List<Object> select(Fields selector) { return getFields().select(selector, values); }
@Override public void tupleActionFn(int taskId, TupleImpl tuple) throws Exception { String streamId = tuple.getSourceStreamId(); if (Constants.SYSTEM_FLUSH_STREAM_ID.equals(streamId)) { spoutOutputCollector.flush(); Object spoutObj = idToTask.get(taskId - idToTaskBase).getTaskObject(); if (spoutObj instanceof ICredentialsListener) { ((ICredentialsListener) spoutObj).setCredentials((Map<String, String>) tuple.getValue(0)); Long id = (Long) tuple.getValue(0); TupleInfo pendingForId = pending.get(id); if (pendingForId != null) { Long id = (Long) tuple.getValue(0); Long timeDeltaMs = (Long) tuple.getValue(1); TupleInfo tupleInfo = pending.remove(id); if (tupleInfo != null && tupleInfo.getMessageId() != null) {
public Fields getFields() { return context.getComponentOutputFields(getSourceComponent(), getSourceStreamId()); }
@Override public GlobalStreamId getSourceGlobalStreamId() { return new GlobalStreamId(getSourceComponent(), streamId); }
@Override public int fieldIndex(String field) { return getFields().fieldIndex(field); }
private static ArrayList<Tuple> makeStream(String streamName, String[] fieldNames, Object[][] data, String srcComponentName) { ArrayList<Tuple> result = new ArrayList<>(); MockContext mockContext = new MockContext(fieldNames); for (Object[] record : data) { TupleImpl rec = new TupleImpl(mockContext, Arrays.asList(record), srcComponentName, 0, streamName); result.add(rec); } return result; }
@Override public Short getShortByField(String field) { return (Short) values.get(fieldIndex(field)); }
@Override public String toString() { return "source: " + getSourceComponent() + ":" + taskId + ", stream: " + streamId + ", id: "+ id.toString() + ", " + values.toString(); }
@Override public boolean contains(String field) { return getFields().contains(field); }
public static AddressedTuple createFlushTuple(GeneralTopologyContext workerTopologyContext) { TupleImpl tuple = new TupleImpl(workerTopologyContext, new Values(), Constants.SYSTEM_COMPONENT_ID, (int) Constants.SYSTEM_TASK_ID, Constants.SYSTEM_FLUSH_STREAM_ID); return new AddressedTuple(AddressedTuple.BROADCAST_DEST, tuple); // one instance per executor avoids false sharing of CPU cache }
@Override public Integer getIntegerByField(String field) { return (Integer) values.get(fieldIndex(field)); }
public GlobalStreamId getSourceGlobalStreamId() { return new GlobalStreamId(getSourceComponent(), streamId); }