You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by ni...@apache.org on 2018/08/31 19:12:27 UTC

metron git commit: Merge remote-tracking branch 'apache/master' into metron-1699-create-batch-profiler

Repository: metron
Updated Branches:
  refs/heads/metron-1699-create-batch-profiler [created] f5eaef3c2


Merge remote-tracking branch 'apache/master' into metron-1699-create-batch-profiler


Project: http://git-wip-us.apache.org/repos/asf/metron/repo
Commit: http://git-wip-us.apache.org/repos/asf/metron/commit/f5eaef3c
Tree: http://git-wip-us.apache.org/repos/asf/metron/tree/f5eaef3c
Diff: http://git-wip-us.apache.org/repos/asf/metron/diff/f5eaef3c

Branch: refs/heads/metron-1699-create-batch-profiler
Commit: f5eaef3c24e939ef14757eb2db4b758e71d33fca
Parents: 113ac0d d32bd50
Author: Nick Allen <ni...@nickallen.org>
Authored: Fri Aug 31 15:11:49 2018 -0400
Committer: Nick Allen <ni...@nickallen.org>
Committed: Fri Aug 31 15:11:49 2018 -0400

----------------------------------------------------------------------
 dependencies_with_url.csv                       |     8 +
 metron-analytics/metron-profiler-common/pom.xml |    26 +-
 .../metron/profiler/ProfileMeasurement.java     |    35 +
 .../apache/metron/profiler/ProfilePeriod.java   |    11 +
 .../metron/profiler/ProfileMeasurementTest.java |    28 +-
 .../metron/profiler/ProfilePeriodTest.java      |    22 +-
 .../profiler/hbase/SaltyRowKeyBuilderTest.java  |    11 -
 metron-analytics/metron-profiler/README.md      |    18 +-
 .../profiler/bolt/ProfileSplitterBolt.java      |    22 +-
 .../profiler/bolt/ProfileSplitterBoltTest.java  |    16 +
 .../integration/ProfilerIntegrationTest.java    |    30 +-
 metron-deployment/Kerberos-manual-setup.md      |     4 +-
 metron-deployment/amazon-ec2/conf/defaults.yml  |     1 -
 metron-deployment/amazon-ec2/playbook.yml       |     2 +-
 .../ansible/playbooks/metron_install.yml        |     7 -
 .../roles/ambari_config/vars/single_node_vm.yml |     1 +
 .../roles/metron_pcapservice/defaults/main.yml  |    28 -
 .../roles/metron_pcapservice/meta/main.yml      |    19 -
 .../metron_pcapservice/tasks/config-hbase.yml   |    26 -
 .../roles/metron_pcapservice/tasks/main.yml     |    25 -
 .../metron_pcapservice/tasks/pcapservice.yml    |    30 -
 .../templates/metron-pcapservice-logrotate.yml  |    27 -
 .../metron_pcapservice/templates/pcapservice    |    84 -
 .../ubuntu14/ansible/inventory/hosts            |     4 -
 .../CURRENT/configuration/metron-rest-env.xml   |    48 +
 .../package/scripts/params/params_linux.py      |    16 +
 .../package/scripts/params/status_params.py     |     7 +
 .../CURRENT/package/scripts/rest_commands.py    |    62 +
 .../CURRENT/package/scripts/rest_master.py      |     9 +
 .../METRON/CURRENT/package/templates/metron.j2  |     6 +
 .../METRON/CURRENT/themes/metron_theme.json     |    30 +
 .../docker/rpm-docker/SPECS/metron.spec         |     1 +
 .../metron-alerts/package-lock.json             |  3719 ++--
 metron-interface/metron-alerts/pom.xml          |     6 +-
 .../metron-alerts/src/app/app-routing.module.ts |     3 +-
 .../metron-alerts/src/app/app.component.html    |    10 +-
 .../metron-alerts/src/app/app.component.scss    |    18 +
 .../metron-alerts/src/app/app.component.ts      |     3 +
 .../metron-alerts/src/app/app.module.ts         |     6 +-
 .../src/app/pcap/model/pcap-pagination.ts       |    21 +
 .../src/app/pcap/model/pcap-status-response.ts  |    24 +
 .../src/app/pcap/model/pcap.mock.ts             |    39 +
 .../src/app/pcap/model/pcap.request.ts          |    29 +
 .../src/app/pcap/model/pdml.mock.ts             |    93 +
 .../metron-alerts/src/app/pcap/model/pdml.ts    |    50 +
 .../pcap-filters/pcap-filters.component.html    |    73 +
 .../pcap-filters/pcap-filters.component.scss    |    70 +
 .../pcap-filters/pcap-filters.component.spec.ts |   464 +
 .../pcap/pcap-filters/pcap-filters.component.ts |   167 +
 .../app/pcap/pcap-list/pcap-list.component.html |    38 +
 .../app/pcap/pcap-list/pcap-list.component.scss |    21 +
 .../pcap/pcap-list/pcap-list.component.spec.ts  |    98 +
 .../app/pcap/pcap-list/pcap-list.component.ts   |    43 +
 .../pcap-packet-line.component.html             |    19 +
 .../pcap-packet-line.component.scss             |    17 +
 .../pcap-packet-line.component.spec.ts          |   179 +
 .../pcap-packet-line.component.ts               |    56 +
 .../pcap/pcap-packet/pcap-packet.component.html |    22 +
 .../pcap/pcap-packet/pcap-packet.component.scss |    36 +
 .../pcap-packet/pcap-packet.component.spec.ts   |    79 +
 .../pcap/pcap-packet/pcap-packet.component.ts   |    34 +
 .../pcap-pagination.component.html              |    19 +
 .../pcap-pagination.component.scss              |    40 +
 .../pcap-pagination.component.spec.ts           |    78 +
 .../pcap-pagination.component.ts                |    41 +
 .../pcap/pcap-panel/pcap-panel.component.html   |    31 +
 .../pcap/pcap-panel/pcap-panel.component.scss   |    67 +
 .../pcap-panel/pcap-panel.component.spec.ts     |   557 +
 .../app/pcap/pcap-panel/pcap-panel.component.ts |   164 +
 .../metron-alerts/src/app/pcap/pcap.module.ts   |    55 +
 .../metron-alerts/src/app/pcap/pcap.routing.ts  |    27 +
 .../src/app/pcap/service/pcap.service.spec.ts   |   197 +
 .../src/app/pcap/service/pcap.service.ts        |    88 +
 .../date-picker/date-picker.component.scss      |    14 +-
 .../shared/date-picker/date-picker.component.ts |    34 +-
 .../shared/date-picker/date-picker.module.ts    |     3 +-
 .../shared/directives/alert-search.directive.ts |     2 +-
 .../metron-alerts/src/app/utils/constants.ts    |     3 +
 .../metron-alerts/src/app/utils/utils.ts        |    12 +-
 .../src/environments/environment.e2e.ts         |     3 +-
 .../src/environments/environment.prod.ts        |     3 +-
 .../src/environments/environment.ts             |     3 +-
 metron-interface/metron-alerts/src/index.html   |     2 +-
 .../metron-config/package-lock.json             | 17734 +++++++++++++++++
 metron-interface/metron-config/pom.xml          |    30 +-
 metron-interface/metron-rest-client/pom.xml     |    10 +
 .../apache/metron/rest/model/PcapResponse.java  |    38 +
 .../apache/metron/rest/model/pcap/Field.java    |   154 +
 .../rest/model/pcap/FixedPcapOptions.java       |    42 +
 .../rest/model/pcap/FixedPcapRequest.java       |   116 +
 .../apache/metron/rest/model/pcap/Packet.java   |    53 +
 .../metron/rest/model/pcap/PcapRequest.java     |    83 +
 .../metron/rest/model/pcap/PcapStatus.java      |    87 +
 .../org/apache/metron/rest/model/pcap/Pdml.java |    98 +
 .../apache/metron/rest/model/pcap/Proto.java    |   108 +
 .../rest/model/pcap/QueryPcapOptions.java       |    35 +
 .../rest/model/pcap/QueryPcapRequest.java       |    41 +
 metron-interface/metron-rest/README.md          |   105 +
 metron-interface/metron-rest/pom.xml            |    44 +-
 .../src/main/config/rest_application.yml        |    11 +-
 .../apache/metron/rest/MetronRestConstants.java |     9 +
 .../apache/metron/rest/config/PcapConfig.java   |    49 +
 .../metron/rest/config/PcapJobSupplier.java     |    54 +
 .../metron/rest/controller/PcapController.java  |   180 +
 .../apache/metron/rest/service/PcapService.java |   116 +
 .../rest/service/impl/PcapServiceImpl.java      |   299 +
 .../service/impl/PcapToPdmlScriptWrapper.java   |    59 +
 .../src/main/resources/application.yml          |     9 +-
 .../metron-rest/src/main/scripts/metron-rest.sh |     2 +-
 .../src/main/scripts/pcap_to_pdml.sh            |    19 +
 .../apache/metron/rest/config/TestConfig.java   |    47 +-
 .../PcapControllerIntegrationTest.java          |   474 +
 .../apache/metron/rest/mock/MockPcapJob.java    |   161 +
 .../metron/rest/mock/MockPcapJobSupplier.java   |    36 +
 .../rest/mock/MockPcapToPdmlScriptWrapper.java  |    55 +
 .../rest/service/impl/PcapServiceImplTest.java  |   746 +
 metron-interface/pom.xml                        |     3 +
 metron-platform/metron-api/README.md            |    65 -
 metron-platform/metron-api/pom.xml              |   269 -
 .../apache/metron/api/ConfigurationManager.java |   135 -
 .../api/helper/service/PcapServiceCli.java      |   169 -
 .../metron/pcapservice/ConfigurationUtil.java   |    64 -
 .../pcapservice/PcapReceiverImplRestEasy.java   |   299 -
 .../metron/pcapservice/PcapsResponse.java       |   118 -
 .../metron/pcapservice/RestTestingUtil.java     |   329 -
 .../pcapservice/rest/JettyServiceRunner.java    |    44 -
 .../metron/pcapservice/rest/PcapService.java    |    56 -
 .../src/main/resources/META-INF/LICENSE         |   605 -
 .../src/main/resources/META-INF/NOTICE          |    39 -
 .../pcapservice/ConfigurationUtilTest.java      |    43 -
 .../PcapReceiverImplRestEasyTest.java           |   255 -
 .../src/test/resources/log4j.properties         |    24 -
 .../src/test/resources/test-tcp-packet.pcap     |   Bin 144 -> 0 bytes
 .../common/configuration/ConfigOption.java      |    71 +
 .../configuration/profiler/ProfileResult.java   |     8 +-
 .../profiler/ProfileResultExpressions.java      |     8 +-
 .../apache/metron/common/utils/HDFSUtils.java   |    53 +-
 .../common/configuration/ConfigOptionTest.java  |   112 +
 .../profiler/ProfilerConfigTest.java            |    35 +-
 .../metron/common/utils/HDFSUtilsTest.java      |    59 +
 metron-platform/metron-job/README.md            |    26 +
 .../metron-job_state_statechart_diagram.svg     |    14 +
 .../metron-job_state_statechart_diagram.xml     |    14 +
 metron-platform/metron-job/pom.xml              |    39 +
 .../java/org/apache/metron/job/Finalizer.java   |    38 +
 .../org/apache/metron/job/JobException.java     |    31 +
 .../apache/metron/job/JobNotFoundException.java |    30 +
 .../java/org/apache/metron/job/JobStatus.java   |   124 +
 .../java/org/apache/metron/job/Pageable.java    |    38 +
 .../apache/metron/job/RuntimeJobException.java  |    30 +
 .../java/org/apache/metron/job/Statusable.java  |    82 +
 .../metron/job/manager/InMemoryJobManager.java  |    94 +
 .../apache/metron/job/manager/JobManager.java   |    41 +
 .../org/apache/metron/job/JobStatusTest.java    |    55 +
 .../job/manager/InMemoryJobManagerTest.java     |   208 +
 .../metron/parsers/cef/CEFParserTest.java       |     4 +-
 metron-platform/metron-pcap-backend/README.md   |     4 +
 metron-platform/metron-pcap-backend/pom.xml     |     6 +
 .../src/main/config/pcap.properties             |     2 +-
 .../org/apache/metron/pcap/query/CliConfig.java |   128 -
 .../org/apache/metron/pcap/query/CliParser.java |    55 +-
 .../metron/pcap/query/FixedCliConfig.java       |    50 -
 .../metron/pcap/query/FixedCliParser.java       |    10 +-
 .../org/apache/metron/pcap/query/PcapCli.java   |   112 +-
 .../metron/pcap/query/QueryCliConfig.java       |    34 -
 .../metron/pcap/query/QueryCliParser.java       |    10 +-
 .../apache/metron/pcap/query/ResultsWriter.java |    48 -
 .../apache/metron/pcap/FixedPcapFilterTest.java |   286 -
 .../org/apache/metron/pcap/PcapJobTest.java     |    49 -
 .../apache/metron/pcap/QueryPcapFilterTest.java |   228 -
 .../PcapTopologyIntegrationTest.java            |   847 +-
 .../apache/metron/pcap/query/PcapCliTest.java   |   229 +-
 metron-platform/metron-pcap/pom.xml             |     7 +-
 .../java/org/apache/metron/pcap/PcapHelper.java |    18 +-
 .../java/org/apache/metron/pcap/PcapPages.java  |    86 +
 .../metron/pcap/config/FixedPcapConfig.java     |    46 +
 .../apache/metron/pcap/config/PcapConfig.java   |   156 +
 .../metron/pcap/config/PcapGlobalDefaults.java  |    29 +
 .../apache/metron/pcap/config/PcapOptions.java  |    70 +
 .../metron/pcap/config/QueryPcapConfig.java     |    33 +
 .../pcap/filter/fixed/FixedPcapFilter.java      |    14 +-
 .../pcap/filter/query/QueryPcapFilter.java      |    17 +-
 .../metron/pcap/finalizer/PcapCliFinalizer.java |    55 +
 .../metron/pcap/finalizer/PcapFinalizer.java    |   190 +
 .../pcap/finalizer/PcapFinalizerStrategies.java |    47 +
 .../pcap/finalizer/PcapRestFinalizer.java       |    57 +
 .../metron/pcap/mr/OutputDirFormatter.java      |    37 +
 .../java/org/apache/metron/pcap/mr/PcapJob.java |   426 +-
 .../metron/pcap/writer/PcapResultsWriter.java   |    75 +
 .../org/apache/metron/pcap/PcapHelperTest.java  |    76 +
 .../org/apache/metron/pcap/PcapPagesTest.java   |    76 +
 .../pcap/filter/fixed/FixedPcapFilterTest.java  |   271 +-
 .../pcap/filter/query/QueryPcapFilterTest.java  |   207 +-
 .../metron/pcap/mr/OutputDirFormatterTest.java  |    62 +
 .../org/apache/metron/pcap/mr/PcapJobTest.java  |   323 +
 metron-platform/pom.xml                         |     2 +-
 metron-sensors/pycapa/README.md                 |   139 +-
 metron-sensors/pycapa/requirements.txt          |     6 +-
 site-book/bin/generate-md.sh                    |     2 +
 199 files changed, 30846 insertions(+), 6158 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metron/blob/f5eaef3c/dependencies_with_url.csv
----------------------------------------------------------------------
diff --cc dependencies_with_url.csv
index 6b4385b,bf3e382..ffd0fbc
--- a/dependencies_with_url.csv
+++ b/dependencies_with_url.csv
@@@ -174,8 -148,8 +175,10 @@@ com.fasterxml.jackson.datatype:jackson-
  com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.5:compile,ASLv2,https://github.com/FasterXML/jackson-modules-java8
  com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.5:compile,ASLv2,https://github.com/FasterXML/jackson-modules-java8
  com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.5:compile,ASLv2,https://github.com/FasterXML/jackson-modules-java8
 +com.fasterxml.jackson.module:jackson-module-paranamer:jar:2.7.9:compile,ASLv2,https://github.com/FasterXML/jackson-modules-base
 +com.fasterxml.jackson.module:jackson-module-scala_2.11:jar:2.6.7.1:compile,ASLv2,https://github.com/FasterXML/jackson-module-scala
+ com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.5:compile,ASLv2,https://github.com/FasterXML/jackson-modules-java8
+ com.fasterxml.woodstox:woodstox-core:jar:5.0.3:compile,ASLv2,https://github.com/FasterXML/woodstox
  com.fasterxml:classmate:jar:1.3.1:compile,ASLv2,http://github.com/cowtowncoder/java-classmate
  com.fasterxml:classmate:jar:1.3.4:compile,ASLv2,http://github.com/cowtowncoder/java-classmate
  com.google.code.gson:gson:jar:2.2.4:compile,The Apache Software License, Version 2.0,http://code.google.com/p/google-gson/
@@@ -243,21 -212,14 +246,26 @@@ commons-text:commons-text:jar:1.1:compi
  commons-validator:commons-validator:jar:1.4.0:compile,ASLv2,http://commons.apache.org/validator/
  commons-validator:commons-validator:jar:1.5.1:compile,ASLv2,http://commons.apache.org/proper/commons-validator/
  commons-validator:commons-validator:jar:1.6:compile,ASLv2,http://commons.apache.org/proper/commons-validator/
 +et.razorvine:pyrolite:jar:4.13:compile,MIT,https://github.com/irmen/Pyrolite
 +io.airlift:aircompressor:jar:0.8:compile,ASLv2,https://github.com/airlift/aircompressor
  io.confluent:kafka-avro-serializer:jar:1.0:compile,ASLv2,https://github.com/confluentinc/schema-registry/
  io.confluent:kafka-schema-registry-client:jar:1.0:compile,ASLv2,https://github.com/confluentinc/schema-registry/
 +io.dropwizard.metrics:metrics-core:jar:3.1.5:compile,ASLv2,https://github.com/dropwizard/metrics
 +io.dropwizard.metrics:metrics-graphite:jar:3.1.5:compile,ASLv2,https://github.com/dropwizard/metrics
 +io.dropwizard.metrics:metrics-json:jar:3.1.5:compile,ASLv2,https://github.com/dropwizard/metrics
 +io.dropwizard.metrics:metrics-jvm:jar:3.1.5:compile,ASLv2,https://github.com/dropwizard/metrics
  io.netty:netty-all:jar:4.0.23.Final:compile,ASLv2,
  io.netty:netty-all:jar:4.0.23.Final:provided,ASLv2,
++<<<<<<< HEAD
 +io.netty:netty-all:jar:4.1.17.Final:compile,ASLv2,
++=======
+ io.netty:netty-all:jar:4.1.23.Final:compile,ASLv2,
+ io.netty:netty:jar:3.10.5.Final:compile,Apache License, Version 2.0,http://netty.io/
++>>>>>>> apache/master
  io.netty:netty:jar:3.6.2.Final:compile,Apache License, Version 2.0,http://netty.io/
  io.netty:netty:jar:3.7.0.Final:compile,Apache License, Version 2.0,http://netty.io/
 +io.netty:netty:jar:3.9.9.Final:compile,Apache License, Version 2.0,http://netty.io/
 +io.netty:netty:jar:3.10.5.Final:compile,Apache License, Version 2.0,http://netty.io/
  io.thekraken:grok:jar:0.1.0:compile,Apache License, Version 2.0,http://maven.apache.org
  javax.inject:javax.inject:jar:1:compile,The Apache Software License, Version 2.0,http://code.google.com/p/atinject/
  joda-time:joda-time:jar:2.3:compile,Apache 2,http://www.joda.org/joda-time/

http://git-wip-us.apache.org/repos/asf/metron/blob/f5eaef3c/metron-analytics/metron-profiler-common/src/main/java/org/apache/metron/profiler/ProfileMeasurement.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/metron/blob/f5eaef3c/metron-analytics/metron-profiler-common/src/main/java/org/apache/metron/profiler/ProfilePeriod.java
----------------------------------------------------------------------
diff --cc metron-analytics/metron-profiler-common/src/main/java/org/apache/metron/profiler/ProfilePeriod.java
index 78aa796,6c971a7..02a4932
--- a/metron-analytics/metron-profiler-common/src/main/java/org/apache/metron/profiler/ProfilePeriod.java
+++ b/metron-analytics/metron-profiler-common/src/main/java/org/apache/metron/profiler/ProfilePeriod.java
@@@ -47,20 -47,11 +47,31 @@@ public class ProfilePeriod implements S
     */
    private long durationMillis;
  
 +  /**
++   * A no-arg constructor is required for using Kryo serialization in Storm. Using this
++   * constructor elsewhere is discouraged.
++   *
++   * <p>Use either {@link #fromPeriodId(long, long, TimeUnit)} or {@link #fromTimestamp(long, long, TimeUnit)}
++   * to create a {@link ProfilePeriod}.
++   */
+   public ProfilePeriod() {
+     // no-arg constructor required for kryo serialization in storm
+   }
+ 
+   /**
 +   * @param periodId A monotonically increasing number identifying the period.
 +   * @param duration The duration of each profile period.
 +   * @param units The units of the duration; hours, minutes, etc.
 +   */
 +  private ProfilePeriod(long periodId, long duration, TimeUnit units) {
 +    this.durationMillis = units.toMillis(duration);
 +    this.period = periodId;
 +  }
 +
 +  /**
 +   * Creates a {@link ProfilePeriod} given a timestamp defined in milliseconds
 +   * from the epoch.
 +   *
     * @param epochMillis A timestamp contained somewhere within the profile period.
     * @param duration The duration of each profile period.
     * @param units The units of the duration; hours, minutes, etc.

http://git-wip-us.apache.org/repos/asf/metron/blob/f5eaef3c/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java
----------------------------------------------------------------------
diff --cc metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java
index 295117a,17bb8fa..afb6299
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java
@@@ -137,12 -141,24 +141,24 @@@ public class ProfilePeriodTest 
     */
    @Test
    public void testKryoSerialization() throws Exception {
 -    ProfilePeriod expected = new ProfilePeriod(AUG2016, 1, TimeUnit.HOURS);
 +    ProfilePeriod expected = ProfilePeriod.fromTimestamp(AUG2016, 1, TimeUnit.HOURS);
+     Kryo kryo = new Kryo();
  
-     // round-trip java serialization
-     byte[] raw = SerDeUtils.toBytes(expected);
-     Object actual = SerDeUtils.fromBytes(raw, Object.class);
+     // serialize
+     ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+     Output output = new Output(byteStream);
+     kryo.writeObject(output, expected);
  
+     // validate serialization
+     byte[] bits = output.toBytes();
+     assertNotNull(bits);
+ 
+     // deserialize
+     Input input = new Input(new ByteArrayInputStream(bits));
+     ProfilePeriod actual = kryo.readObject(input, ProfilePeriod.class);
+ 
+     // validate deserialization
+     assertNotNull(actual);
      assertEquals(expected, actual);
    }
  

http://git-wip-us.apache.org/repos/asf/metron/blob/f5eaef3c/metron-analytics/metron-profiler/src/main/java/org/apache/metron/profiler/bolt/ProfileSplitterBolt.java
----------------------------------------------------------------------
diff --cc metron-analytics/metron-profiler/src/main/java/org/apache/metron/profiler/bolt/ProfileSplitterBolt.java
index f57deb7,87f1ba9..f73a9f1
--- a/metron-analytics/metron-profiler/src/main/java/org/apache/metron/profiler/bolt/ProfileSplitterBolt.java
+++ b/metron-analytics/metron-profiler/src/main/java/org/apache/metron/profiler/bolt/ProfileSplitterBolt.java
@@@ -151,16 -157,25 +151,20 @@@ public class ProfileSplitterBolt extend
  
      // retrieve the input message
      byte[] data = input.getBinary(0);
-     JSONObject message = (JSONObject) parser.parse(new String(data, "UTF8"));
+     if(data == null) {
+       LOG.debug("Received null message. Nothing to do.");
+       return;
+     }
 -    JSONObject message = (JSONObject) parser.parse(new String(data, "UTF8"));
  
      // ensure there is a valid profiler configuration
      ProfilerConfig config = getProfilerConfig();
-     if(config != null && config.getProfiles().size() > 0) {
-       routeMessage(input, message, config);
- 
-     } else if(LOG.isDebugEnabled()) {
-       LOG.debug("No Profiler configuration found.  Nothing to do.");
+     if(config == null || getProfilerConfig().getProfiles().size() == 0) {
+       LOG.debug("No Profiler configuration found. Nothing to do.");
+       return;
      }
+ 
 -    // what time is it?
 -    Clock clock = clockFactory.createClock(config);
 -    Optional<Long> timestamp = clock.currentTimeMillis(message);
 -
 -    // route the message.  if a message does not contain the timestamp field, it cannot be routed.
 -    timestamp.ifPresent(ts -> routeMessage(input, message, config, ts));
++    JSONObject message = (JSONObject) parser.parse(new String(data, "UTF8"));
++    routeMessage(input, message, config);
    }
  
    /**

http://git-wip-us.apache.org/repos/asf/metron/blob/f5eaef3c/metron-analytics/metron-profiler/src/test/java/org/apache/metron/profiler/bolt/ProfileSplitterBoltTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/metron/blob/f5eaef3c/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
----------------------------------------------------------------------