You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by le...@apache.org on 2016/11/07 18:37:33 UTC

incubator-metron git commit: METRON-527 Connection pool shut down seen when running threatintel_taxii_load.sh script closes apache/incubator-metron#332

Repository: incubator-metron
Updated Branches:
  refs/heads/master ddf665843 -> 8321067d4


METRON-527 Connection pool shut down seen when running threatintel_taxii_load.sh script closes apache/incubator-metron#332


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

Branch: refs/heads/master
Commit: 8321067d43525350e3ebd6be72fa897aca95842e
Parents: ddf6658
Author: justinleet <ju...@gmail.com>
Authored: Mon Nov 7 13:34:13 2016 -0500
Committer: justinjleet <ju...@gmail.com>
Committed: Mon Nov 7 13:34:13 2016 -0500

----------------------------------------------------------------------
 .../metron/dataloads/nonbulk/taxii/TaxiiHandler.java   | 13 +++++++++----
 .../dataloads/nonbulk/taxii/TaxiiIntegrationTest.java  |  3 +++
 2 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/8321067d/metron-platform/metron-data-management/src/main/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiHandler.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-data-management/src/main/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiHandler.java b/metron-platform/metron-data-management/src/main/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiHandler.java
index 6037423..b6994bb 100644
--- a/metron-platform/metron-data-management/src/main/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiHandler.java
+++ b/metron-platform/metron-data-management/src/main/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiHandler.java
@@ -66,7 +66,6 @@ import javax.xml.transform.stream.StreamResult;
 import java.io.IOException;
 import java.io.StringWriter;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.net.URL;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -87,7 +86,9 @@ public class TaxiiHandler extends TimerTask {
     }
   };
 
-  private HttpClient taxiiClient;
+  private URL proxy;
+  private String username;
+  private String password;
   private URL endpoint;
   private Extractor extractor;
   private String hbaseTable;
@@ -101,6 +102,7 @@ public class TaxiiHandler extends TimerTask {
   private Configuration config;
   private boolean inProgress = false;
   private Set<String> allowedIndicatorTypes;
+
   public TaxiiHandler( TaxiiConnectionConfig connectionConfig
              , Extractor extractor
              , Configuration config
@@ -115,6 +117,9 @@ public class TaxiiHandler extends TimerTask {
     columnFamily = connectionConfig.getColumnFamily();
     this.beginTime = connectionConfig.getBeginTime();
     this.config = config;
+    this.proxy = connectionConfig.getProxy();
+    this.username = connectionConfig.getUsername();
+    this.password = connectionConfig.getPassword();
     initializeClient(connectionConfig);
     LOG.info("Configured, starting polling " + endpoint + " for " + collection);
   }
@@ -238,7 +243,8 @@ public class TaxiiHandler extends TimerTask {
       return null;
     }
   }
-  private <RESPONSE_T> RESPONSE_T call( Object request, Class<RESPONSE_T> responseClazz) throws URISyntaxException, JAXBException, IOException {
+  private <RESPONSE_T> RESPONSE_T call( Object request, Class<RESPONSE_T> responseClazz) throws Exception {
+    HttpClient taxiiClient = buildClient(proxy, username, password);
     return call(taxiiClient, endpoint.toURI(), request, context, responseClazz);
   }
 
@@ -254,7 +260,6 @@ public class TaxiiHandler extends TimerTask {
       this.endpoint = endpoint;
       LOG.info("Discovered endpoint as " + endpoint);
     }
-    taxiiClient = buildClient(config.getProxy(), config.getUsername(), config.getPassword());
   }
 
   private static class DiscoveryResults {

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/8321067d/metron-platform/metron-data-management/src/test/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiIntegrationTest.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-data-management/src/test/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiIntegrationTest.java b/metron-platform/metron-data-management/src/test/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiIntegrationTest.java
index d70425d..1cb58d8 100644
--- a/metron-platform/metron-data-management/src/test/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiIntegrationTest.java
+++ b/metron-platform/metron-data-management/src/test/java/org/apache/metron/dataloads/nonbulk/taxii/TaxiiIntegrationTest.java
@@ -119,6 +119,9 @@ public class TaxiiIntegrationTest {
         Assert.assertTrue(maliciousAddresses.contains("94.102.53.142"));
         Assert.assertEquals(numStringsMatch(MockTaxiiService.pollMsg, "AddressObj:Address_Value condition=\"Equal\""), maliciousAddresses.size());
         MockHTable.Provider.clear();
+
+        // Ensure that the handler can be run multiple times without connection issues.
+        handler.run();
     }
 
     private static int numStringsMatch(String xmlBundle, String text) {