boolean isEndOfStream(SystemStream systemStream) { return eosStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .allMatch(entry -> entry.getValue().isEndOfStream()); }
long getWatermark(SystemStream systemStream) { return watermarkStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .map(entry -> entry.getValue().getWatermarkTime()) .min(Long::compare) .orElse(WATERMARK_NOT_EXIST); }
long getWatermark(SystemStream systemStream) { return watermarkStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .map(entry -> entry.getValue().getWatermarkTime()) .min(Long::compare) .orElse(WATERMARK_NOT_EXIST); }
boolean isEndOfStream(SystemStream systemStream) { return eosStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .allMatch(entry -> entry.getValue().isEndOfStream()); }
boolean isEndOfStream(SystemStream systemStream) { return eosStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .allMatch(entry -> entry.getValue().isEndOfStream()); }
long getWatermark(SystemStream systemStream) { return watermarkStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .map(entry -> entry.getValue().getWatermarkTime()) .min(Long::compare) .orElse(WATERMARK_NOT_EXIST); }
long getWatermark(SystemStream systemStream) { return watermarkStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .map(entry -> entry.getValue().getWatermarkTime()) .min(Long::compare) .orElse(WATERMARK_NOT_EXIST); }
long getWatermark(SystemStream systemStream) { return watermarkStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .map(entry -> entry.getValue().getWatermarkTime()) .min(Long::compare) .orElse(WATERMARK_NOT_EXIST); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; SystemStreamPartition other = (SystemStreamPartition) obj; if (partition == null) { if (other.partition != null) return false; } else if (!partition.equals(other.partition)) return false; return true; }
void registerInputStream(SystemStream input) { this.inputStreams.add(input); usedInCurrentTask = usedInCurrentTask || taskModel.getSystemStreamPartitions().stream().anyMatch(ssp -> ssp.getSystemStream().equals(input)); }
boolean isEndOfStream(SystemStream systemStream) { return eosStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .allMatch(entry -> entry.getValue().isEndOfStream()); }
boolean isEndOfStream(SystemStream systemStream) { return eosStates.entrySet().stream() .filter(entry -> entry.getKey().getSystemStream().equals(systemStream)) .allMatch(entry -> entry.getValue().isEndOfStream()); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; SystemStreamPartition other = (SystemStreamPartition) obj; if (partition == null) { if (other.partition != null) return false; } else if (!partition.equals(other.partition)) return false; return true; }
void registerInputStream(SystemStream input) { this.inputStreams.add(input); usedInCurrentTask = usedInCurrentTask || taskModel.getSystemStreamPartitions().stream().anyMatch(ssp -> ssp.getSystemStream().equals(input)); }
void registerInputStream(SystemStream input) { this.inputStreams.add(input); usedInCurrentTask = usedInCurrentTask || taskModel.getSystemStreamPartitions().stream().anyMatch(ssp -> ssp.getSystemStream().equals(input)); }
void registerInputStream(SystemStream input) { this.inputStreams.add(input); usedInCurrentTask = usedInCurrentTask || taskModel.getSystemStreamPartitions().stream().anyMatch(ssp -> ssp.getSystemStream().equals(input)); }
void registerInputStream(SystemStream input) { this.inputStreams.add(input); usedInCurrentTask = usedInCurrentTask || taskModel.getSystemStreamPartitions().stream().anyMatch(ssp -> ssp.getSystemStream().equals(input)); }
if (other.systemStream != null) return false; } else if (!systemStream.equals(other.systemStream)) return false; return true;
if (other.systemStream != null) return false; } else if (!systemStream.equals(other.systemStream)) return false; return true;
@Override public void send(String source, OutgoingMessageEnvelope envelope) { SystemStream systemStream = envelope.getSystemStream(); List<SystemStreamPartition> sspForSystem = MSG_QUEUES.keySet().stream() .filter(ssp -> ssp.getSystemStream().equals(systemStream)) .collect(ArrayList::new, (l, ssp) -> l.add(ssp), (l1, l2) -> l1.addAll(l2)); if (sspForSystem.isEmpty()) { MSG_QUEUES.putIfAbsent(new SystemStreamPartition(systemStream, new Partition(0)), new ArrayList<>()); sspForSystem.add(new SystemStreamPartition(systemStream, new Partition(0))); } int partitionCount = sspForSystem.size(); int partitionId = envelope.getPartitionKey() == null ? envelope.getKey() == null ? this.seed.nextInt(partitionCount) : envelope.getKey().hashCode() % partitionCount : envelope.getPartitionKey().hashCode() % partitionCount; SystemStreamPartition ssp = new SystemStreamPartition(envelope.getSystemStream(), new Partition(partitionId)); List<IncomingMessageEnvelope> msgQueue = MSG_QUEUES.get(ssp); msgQueue.add(new IncomingMessageEnvelope(ssp, null, envelope.getKey(), envelope.getMessage())); }