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



##########
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:
       For the behavior I saw above, I compiled and built the ES NARs, dropped 
them into a NiFi based off `main`, and ran against a Docker container running 
ES 5.6.16. Using PutElasticsearchRecord I wasn't seeing the `"y": null` when 
set to Never Suppress. I forgot to look at the current (main not this PR) 
behavior to see if the "y" was in the document returned by the query, but it 
wasn't with this PR and the aforementioned setup.




----------------------------------------------------------------
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:
[email protected]


Reply via email to