You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by GitBox <gi...@apache.org> on 2021/01/19 23:49:12 UTC

[GitHub] [nifi] mattyb149 commented on a change in pull request #4755: NIFI-8133 Add ability to suppress null/empty values in ElasticSearchCl…

mattyb149 commented on a change in pull request #4755:
URL: https://github.com/apache/nifi/pull/4755#discussion_r560577910



##########
File path: nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
##########
@@ -90,6 +93,15 @@ public void onEnabled(final ConfigurationContext context) throws InitializationE
         try {
             setupClient(context);
             responseCharset = Charset.forName(context.getProperty(CHARSET).getValue());
+
+            // re-create the ObjectMapper in case the SUPPRESS_NULLS property has changed - the JsonInclude settings aren't dynamic
+            mapper = new ObjectMapper();
+            if (ALWAYS_SUPPRESS.getValue().equals(context.getProperty(SUPPRESS_NULLS).getValue())) {
+                mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

Review comment:
       I tried the same thing with ES 7.9.3 and I get the same results. I even used an explicit schema saying `y` is a nullable field, but when I sent in a document with `"y": null` and then query it with `curl 'http://localhost:9200/nulltest/_search?q=*'`, I get no `y` element in that doc. Integration test passes (when using Maven) though...




----------------------------------------------------------------
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:
users@infra.apache.org