From commits-return-3535-archive-asf-public=cust-asf.ponee.io@metron.apache.org Tue Aug 14 19:59:53 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 47B8B180654 for ; Tue, 14 Aug 2018 19:59:53 +0200 (CEST) Received: (qmail 82082 invoked by uid 500); 14 Aug 2018 17:59:52 -0000 Mailing-List: contact commits-help@metron.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@metron.apache.org Delivered-To: mailing list commits@metron.apache.org Received: (qmail 82073 invoked by uid 99); 14 Aug 2018 17:59:52 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 14 Aug 2018 17:59:52 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 534A7DFB32; Tue, 14 Aug 2018 17:59:52 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rmerriman@apache.org To: commits@metron.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: metron git commit: METRON-1735 Empty print status option causes NPE (merrimanr) closes apache/metron#1160 Date: Tue, 14 Aug 2018 17:59:52 +0000 (UTC) Repository: metron Updated Branches: refs/heads/feature/METRON-1554-pcap-query-panel bce9b903f -> 8a926dd5a METRON-1735 Empty print status option causes NPE (merrimanr) closes apache/metron#1160 Project: http://git-wip-us.apache.org/repos/asf/metron/repo Commit: http://git-wip-us.apache.org/repos/asf/metron/commit/8a926dd5 Tree: http://git-wip-us.apache.org/repos/asf/metron/tree/8a926dd5 Diff: http://git-wip-us.apache.org/repos/asf/metron/diff/8a926dd5 Branch: refs/heads/feature/METRON-1554-pcap-query-panel Commit: 8a926dd5a4501df8c7ef51b526ad5e4d752a5e19 Parents: bce9b90 Author: merrimanr Authored: Tue Aug 14 12:59:38 2018 -0500 Committer: rmerriman Committed: Tue Aug 14 12:59:38 2018 -0500 ---------------------------------------------------------------------- .../org/apache/metron/pcap/query/CliParser.java | 4 ---- .../apache/metron/pcap/query/PcapCliTest.java | 7 ++----- .../apache/metron/pcap/config/PcapConfig.java | 2 +- .../java/org/apache/metron/pcap/mr/PcapJob.java | 18 +++++++++++++----- .../org/apache/metron/pcap/mr/PcapJobTest.java | 19 +++++++++++++++++++ 5 files changed, 35 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/metron/blob/8a926dd5/metron-platform/metron-pcap-backend/src/main/java/org/apache/metron/pcap/query/CliParser.java ---------------------------------------------------------------------- diff --git a/metron-platform/metron-pcap-backend/src/main/java/org/apache/metron/pcap/query/CliParser.java b/metron-platform/metron-pcap-backend/src/main/java/org/apache/metron/pcap/query/CliParser.java index 5040f90..b9a2a50 100644 --- a/metron-platform/metron-pcap-backend/src/main/java/org/apache/metron/pcap/query/CliParser.java +++ b/metron-platform/metron-pcap-backend/src/main/java/org/apache/metron/pcap/query/CliParser.java @@ -55,7 +55,6 @@ public class CliParser { options.addOption(newOption("rpf", "records_per_file", true, String.format("Number of records to include in each output pcap file (defaults to %s)", NUM_RECORDS_PER_FILE_DEFAULT))); options.addOption(newOption("et", "end_time", true, "Packet end time range. Default is current system time.")); options.addOption(newOption("df", "date_format", true, "Date format to use for parsing start_time and end_time. Default is to use time in millis since the epoch.")); - options.addOption(newOption("ps", "print_status", false, "Print the status of the job as it runs")); options.addOption(newOption("yq", "yarn_queue", true, "Yarn queue this job will be submitted to")); return options; } @@ -127,9 +126,6 @@ public class CliParser { //no-op } } - if (commandLine.hasOption("print_status")) { - config.setPrintJobStatus(true); - } if (commandLine.hasOption("yarn_queue")) { config.setYarnQueue(commandLine.getOptionValue("yarn_queue")); } http://git-wip-us.apache.org/repos/asf/metron/blob/8a926dd5/metron-platform/metron-pcap-backend/src/test/java/org/apache/metron/pcap/query/PcapCliTest.java ---------------------------------------------------------------------- diff --git a/metron-platform/metron-pcap-backend/src/test/java/org/apache/metron/pcap/query/PcapCliTest.java b/metron-platform/metron-pcap-backend/src/test/java/org/apache/metron/pcap/query/PcapCliTest.java index a71e997..3e7aad2 100644 --- a/metron-platform/metron-pcap-backend/src/test/java/org/apache/metron/pcap/query/PcapCliTest.java +++ b/metron-platform/metron-pcap-backend/src/test/java/org/apache/metron/pcap/query/PcapCliTest.java @@ -172,8 +172,7 @@ public class PcapCliTest { "-protocol", "6", "-include_reverse", "-num_reducers", "10", - "-records_per_file", "1000", - "-ps" + "-records_per_file", "1000" }; Map query = new HashMap() {{ put(Constants.Fields.SRC_ADDR.getName(), "192.168.1.1"); @@ -217,7 +216,6 @@ public class PcapCliTest { "-include_reverse", "-num_reducers", "10", "-records_per_file", "1000", - "-ps", "-yq", "pcap" }; Map query = new HashMap() {{ @@ -295,8 +293,7 @@ public class PcapCliTest { "-base_path", "/base/path", "-base_output_path", "/base/output/path", "-query", "some query string", - "-records_per_file", "1000", - "-ps" + "-records_per_file", "1000" }; String query = "some query string"; http://git-wip-us.apache.org/repos/asf/metron/blob/8a926dd5/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/config/PcapConfig.java ---------------------------------------------------------------------- diff --git a/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/config/PcapConfig.java b/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/config/PcapConfig.java index 4a08e14..abf35d0 100644 --- a/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/config/PcapConfig.java +++ b/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/config/PcapConfig.java @@ -42,7 +42,7 @@ public class PcapConfig extends AbstractMapDecorator{ public PcapConfig(PrefixStrategy prefixStrategy) { this(); setShowHelp(false); - setPrintJobStatus(false); + setPrintJobStatus(true); setBasePath(""); setBaseInterimResultPath(""); setStartTimeMs(-1L); http://git-wip-us.apache.org/repos/asf/metron/blob/8a926dd5/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/mr/PcapJob.java ---------------------------------------------------------------------- diff --git a/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/mr/PcapJob.java b/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/mr/PcapJob.java index 0f5ad4d..bf780af 100644 --- a/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/mr/PcapJob.java +++ b/metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/mr/PcapJob.java @@ -463,12 +463,20 @@ public class PcapJob implements Statusable { return new JobStatus(jobStatus); } + protected void setJobStatus(JobStatus jobStatus) { + this.jobStatus = jobStatus; + } + + protected void setMrJob(Job mrJob) { + this.mrJob = mrJob; + } + /** * Synchronous call blocks until completion. */ @Override public Pageable get() throws JobException, InterruptedException { - if (PcapOptions.PRINT_JOB_STATUS.get(configuration, Boolean.class)) { + if (PcapOptions.PRINT_JOB_STATUS.getOrDefault(configuration, Boolean.class, false) && mrJob != null) { try { mrJob.monitorAndPrintJob(); } catch (IOException e) { @@ -486,10 +494,6 @@ public class PcapJob implements Statusable { } } - public void monitorJob() throws IOException, InterruptedException { - mrJob.monitorAndPrintJob(); - } - private synchronized Pageable getFinalResults() { return new PcapPages(finalResults); } @@ -521,4 +525,8 @@ public class PcapJob implements Statusable { public Map getConfiguration() { return new HashMap<>(this.configuration); } + + protected void setConfiguration(Map configuration) { + this.configuration = configuration; + } } http://git-wip-us.apache.org/repos/asf/metron/blob/8a926dd5/metron-platform/metron-pcap/src/test/java/org/apache/metron/pcap/mr/PcapJobTest.java ---------------------------------------------------------------------- diff --git a/metron-platform/metron-pcap/src/test/java/org/apache/metron/pcap/mr/PcapJobTest.java b/metron-platform/metron-pcap/src/test/java/org/apache/metron/pcap/mr/PcapJobTest.java index 0f555d0..d5ef2dc 100644 --- a/metron-platform/metron-pcap/src/test/java/org/apache/metron/pcap/mr/PcapJobTest.java +++ b/metron-platform/metron-pcap/src/test/java/org/apache/metron/pcap/mr/PcapJobTest.java @@ -21,6 +21,9 @@ package org.apache.metron.pcap.mr; import static java.lang.Long.toUnsignedString; import static org.hamcrest.CoreMatchers.equalTo; import static org.mockito.Matchers.any; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import java.io.IOException; @@ -287,4 +290,20 @@ public class PcapJobTest { Assert.assertThat(status.getJobId(), equalTo(jobIdVal)); } + @Test + public void get_should_print_status() throws Exception { + Map configuration = new HashMap<>(); + testJob.setConfiguration(configuration); + testJob.setMrJob(mrJob); + testJob.setJobStatus(new JobStatus().withState(State.SUCCEEDED)); + + testJob.get(); + verify(mrJob, times(0)).monitorAndPrintJob(); + + PcapOptions.PRINT_JOB_STATUS.put(configuration, true); + testJob.get(); + verify(mrJob, times(1)).monitorAndPrintJob(); + verifyNoMoreInteractions(mrJob); + } + }