arjun4084346 commented on a change in pull request #3027: URL: https://github.com/apache/incubator-gobblin/pull/3027#discussion_r441115099
########## File path: gobblin-runtime/src/main/java/org/apache/gobblin/runtime/job_monitor/KafkaJobMonitor.java ########## @@ -100,17 +101,29 @@ protected void shutdownMetrics() @Override protected void processMessage(DecodeableKafkaRecord<byte[],byte[]> message) { try { - Collection<Either<JobSpec, URI>> parsedCollection = parseJobSpec(message.getValue()); - for (Either<JobSpec, URI> parsedMessage : parsedCollection) { - if (parsedMessage instanceof Either.Left) { - this.newSpecs.inc(); - this.jobCatalog.put(((Either.Left<JobSpec, URI>) parsedMessage).getLeft()); - } else if (parsedMessage instanceof Either.Right) { - this.removedSpecs.inc(); - URI jobSpecUri = ((Either.Right<JobSpec, URI>) parsedMessage).getRight(); - this.jobCatalog.remove(jobSpecUri); - // Delete the job state if it is a delete spec request - deleteStateStore(jobSpecUri); + Collection<JobSpec> parsedCollection = parseJobSpec(message.getValue()); + for (JobSpec parsedMessage : parsedCollection) { + SpecExecutor.Verb verb = SpecExecutor.Verb.valueOf(parsedMessage.getMetadata().get(VERB_KEY)); + + switch (verb) { + case ADD: + case UPDATE: + case UNKNOWN: // unknown are considered as add request to maintain backward compatibility Review comment: yes, verb is guaranteed to be set. unknown is its default value https://github.com/apache/incubator-gobblin/blob/master/gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/JobSpec.java#L347 ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org