You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/10/13 16:12:17 UTC

karaf-decanter git commit: KARAF-4061 - Added Double.isNan() check to be able to send NaN to Elasticsearch.

Repository: karaf-decanter
Updated Branches:
  refs/heads/master 4d65066be -> 9f7c09de0


KARAF-4061 - Added Double.isNan() check to be able to send NaN to Elasticsearch.


Project: http://git-wip-us.apache.org/repos/asf/karaf-decanter/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-decanter/commit/9f7c09de
Tree: http://git-wip-us.apache.org/repos/asf/karaf-decanter/tree/9f7c09de
Diff: http://git-wip-us.apache.org/repos/asf/karaf-decanter/diff/9f7c09de

Branch: refs/heads/master
Commit: 9f7c09de0cecf8c847cba49752e7f050f28695bf
Parents: 4d65066
Author: Morgan Hautman <mo...@gmail.com>
Authored: Tue Oct 13 15:36:17 2015 +0200
Committer: Morgan Hautman <mo...@gmail.com>
Committed: Tue Oct 13 15:36:17 2015 +0200

----------------------------------------------------------------------
 .../elasticsearch/ElasticsearchAppender.java    | 23 +++++++++++---------
 1 file changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/9f7c09de/appender/elasticsearch/src/main/java/org/apache/karaf/decanter/appender/elasticsearch/ElasticsearchAppender.java
----------------------------------------------------------------------
diff --git a/appender/elasticsearch/src/main/java/org/apache/karaf/decanter/appender/elasticsearch/ElasticsearchAppender.java b/appender/elasticsearch/src/main/java/org/apache/karaf/decanter/appender/elasticsearch/ElasticsearchAppender.java
index ba4b574..9935c32 100644
--- a/appender/elasticsearch/src/main/java/org/apache/karaf/decanter/appender/elasticsearch/ElasticsearchAppender.java
+++ b/appender/elasticsearch/src/main/java/org/apache/karaf/decanter/appender/elasticsearch/ElasticsearchAppender.java
@@ -52,7 +52,7 @@ import org.slf4j.LoggerFactory;
 public class ElasticsearchAppender implements EventHandler {
 
     private final static Logger LOGGER = LoggerFactory.getLogger(ElasticsearchAppender.class);
-    
+
     private final SimpleDateFormat tsFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss,SSS'Z'");
     private final SimpleDateFormat indexDateFormat = new SimpleDateFormat("yyyy.MM.dd");
     private final AtomicLong pendingBulkItemCount = new AtomicLong();
@@ -83,18 +83,18 @@ public class ElasticsearchAppender implements EventHandler {
             InetSocketTransportAddress address = new InetSocketTransportAddress(host, port);
             client = new TransportClient(settings).addTransportAddress(address);
             bulkProcessor = BulkProcessor.builder(client, new BulkProcessor.Listener() {
-                
+
                 @Override
                 public void beforeBulk(long executionId, BulkRequest request) {
                     pendingBulkItemCount.addAndGet(request.numberOfActions());
                 }
-                
+
                 @Override
                 public void afterBulk(long executionId, BulkRequest request, Throwable failure) {
                     LOGGER.warn("Can't append into Elasticsearch", failure);
                     pendingBulkItemCount.addAndGet(-request.numberOfActions());
                 }
-                
+
                 @Override
                 public void afterBulk(long executionId, BulkRequest request, BulkResponse response) {
                     pendingBulkItemCount.addAndGet(-response.getItems().length);
@@ -113,7 +113,7 @@ public class ElasticsearchAppender implements EventHandler {
 
     public void close() {
         LOGGER.info("Stopping Elasticsearch appender");
-        
+
         if(bulkProcessor != null) {
             bulkProcessor.close();
         }
@@ -122,7 +122,7 @@ public class ElasticsearchAppender implements EventHandler {
         while(concurrentRequests > 0 && pendingBulkItemCount.get() > 0) {
             LockSupport.parkNanos(1000*50);
         }
-        
+
         if(client != null) {
             client.close();
         }
@@ -141,7 +141,7 @@ public class ElasticsearchAppender implements EventHandler {
     private void send(Event event) {
         Long ts = (Long)event.getProperty("timestamp");
         Date date = ts != null ? new Date(ts) : new Date();
-        
+
         JsonObjectBuilder jsonObjectBuilder = Json.createObjectBuilder();
         jsonObjectBuilder.add("@timestamp", tsFormat.format(date));
         for (String key : event.getPropertyNames()) {
@@ -186,11 +186,11 @@ public class ElasticsearchAppender implements EventHandler {
         JsonObject jsonObject = jsonObjectBuilder.build();
         String indexName = getIndexName("karaf", date);
         String jsonSt = jsonObject.toString();
-        
+
         if(LOGGER.isDebugEnabled()) {
             LOGGER.debug("Sending event to elastic search with content: {}", jsonSt);
         }
-        
+
         bulkProcessor.add(new IndexRequest(indexName, getType(event)).source(jsonSt));
     }
 
@@ -248,7 +248,10 @@ public class ElasticsearchAppender implements EventHandler {
         else if (value instanceof Float)
             builder.add(key, (Float) value);
         else if (value instanceof Double)
-            builder.add(key, (Double) value);
+            if (Double.isNaN((Double) value))
+                builder.add(key, "NaN");
+            else
+                builder.add(key, (Double) value);
         else if (value instanceof Boolean)
             builder.add(key, (Boolean) value);
     }