/** * Set the metadata for this DAG, if not empty * @param key * @param value */ public void set(@NotEmpty final String key, @NonNull final Map<String, String> value) { try { if (!value.isEmpty()) { this.metadataManager.set(key, new StringValue(mapper.writeValueAsString(value))); } } catch (JsonProcessingException e) { throw new MetadataException("Unable to set the JobManager metadata for key :" + key); } }
@Override public void saveNextRunState(@NonNull final IMetadataManager<StringValue> metadataManager, final KafkaRunState nextRunState) { final String topicName = this.conf.getTopicName(); final String topicSpecificName = getTopicSpecificMetadataKey(topicName); nextRunState.getPartitionOffsets().entrySet().forEach( entry -> { metadataManager.set(topicSpecificName + entry.getKey(), new StringValue(entry.getValue().toString())); }); }
public void persist() { final Map<String, String> stats = new HashMap<>(); if (!this.currentStat.isEmpty()) { this.sinkStatQ.add(this.currentStat); } while (this.sinkStatQ.size() > MAX_HISTORY_SIZE) { this.sinkStatQ.poll(); } for (int i = 0; !this.sinkStatQ.isEmpty(); i++) { stats.put(Integer.toString(i), SinkStat.serialize(this.sinkStatQ.poll())); } this.metadataManager.set(getMetakey(), new StringValue(MapUtil.serializeMap(stats))); }
metadataManager.set(MetadataConstants.CHECKPOINT_KEY, new StringValue(this.nextPartition.get())); } else { if (!checkpointGreaterThanNextPartition(latestCheckpoint)) { log.info("Save next partition {} in metadata manager", this.nextPartition); metadataManager.set(MetadataConstants.CHECKPOINT_KEY, new StringValue(this.nextPartition.get()));