[
https://issues.apache.org/jira/browse/NIFI-4625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16262770#comment-16262770
]
ASF GitHub Bot commented on NIFI-4625:
--------------------------------------
Github user mattyb149 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2287#discussion_r152590804
--- Diff:
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-5-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearch5.java
---
@@ -196,6 +205,7 @@ public void onTrigger(final ProcessContext context,
final ProcessSession session
final String index =
context.getProperty(INDEX).evaluateAttributeExpressions(file).getValue();
final String docType =
context.getProperty(TYPE).evaluateAttributeExpressions(file).getValue();
final String indexOp =
context.getProperty(INDEX_OP).evaluateAttributeExpressions(file).getValue();
+ final Long version = version_attribute != null ?
Long.parseLong(file.getAttribute(version_attribute)) : null;
--- End diff --
FYI you could also call `file.getAttribute(version_attribute).asLong()`.
Also if the field is supposed to contain a Long value (if set), then you should
consider using a LONG_VALIDATOR for that field (rather than the
NON_EMPTY_VALIDATOR I suggested in my other comment). This will avoid a
possible NumberFormatException if someone enters invalid input.
> Add External Versioning to PutElasticSearch5 Processor
> ------------------------------------------------------
>
> Key: NIFI-4625
> URL: https://issues.apache.org/jira/browse/NIFI-4625
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Affects Versions: 1.3.0
> Environment: All
> Reporter: Pedro Gomes
> Assignee: Pedro Gomes
> Labels: elasticsearch, processor
> Fix For: 1.5.0
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> Currently the PutElasticSearch5 processor does not support external
> versioning.
> The idea would be to add a property that follows the same logic as the Id
> property, and allows index documents with an externally controlled version.
> I've changed the code already and added some tests. Right now the changes
> proposed are:
> - Add a new property Version in the processor block.
> - Change the Index operation to support the versioning number and versioning
> type = external
> - Check if the versioning is used with other operation types, fail if so.
> (Idea behind this is that the bulk api doest not support external versioning
> for any other operation except Index)
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)