[ 
https://issues.apache.org/jira/browse/NIFI-4838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16380615#comment-16380615
 ] 

ASF GitHub Bot commented on NIFI-4838:
--------------------------------------

Github user MikeThomsen commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/2448#discussion_r171302727
  
    --- Diff: 
nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
 ---
    @@ -129,26 +144,44 @@
                 .addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR)
                 .build();
         static final PropertyDescriptor RESULTS_PER_FLOWFILE = new 
PropertyDescriptor.Builder()
    -            .name("results-per-flowfile")
    -            .displayName("Results Per FlowFile")
    -            .description("How many results to put into a flowfile at once. 
The whole body will be treated as a JSON array of results.")
    -            .required(false)
    -            .expressionLanguageSupported(true)
    -            .addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR)
    -            .build();
    +        .name("results-per-flowfile")
    +        .displayName("Results Per FlowFile")
    +        .description("How many results to put into a flowfile at once. The 
whole body will be treated as a JSON array of results.")
    +        .required(false)
    +        .expressionLanguageSupported(true)
    +        .addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR)
    +        .build();
    +    static final PropertyDescriptor ESTIMATE_PROGRESS = new 
PropertyDescriptor.Builder()
    +        .name("estimate-progress")
    +        .displayName("Estimate Progress")
    +        .description("If enabled, a count query will be run first, using 
the configured query, and attributes will be added to each flowfile showing how 
far they are into the result set.")
    +        .required(true)
    +        .addValidator(StandardValidators.BOOLEAN_VALIDATOR)
    +        .allowableValues(GM_TRUE, GM_FALSE)
    +        .defaultValue(GM_FALSE.getValue())
    +        .build();
    +    static final PropertyDescriptor PROGRESSIVE_COMMITS = new 
PropertyDescriptor.Builder()
    +        .name("progressive-commits")
    +        .displayName("Commit After Each Batch")
    --- End diff --
    
    It works in coordination with the results per flowfile property. The idea 
is to emulate the ExecuteSQL where after a batch of X number has been built up 
in the processor and it sends the data to a flowfile, it commits.
    
    I'm tempted to change the batch size property's display name to be 
something like Query Fetch Size. I think Results Per Flowfile is probably even 
clearer than Batch Size for this. Thoughts?


> Make GetMongo support multiple commits and give some progress indication
> ------------------------------------------------------------------------
>
>                 Key: NIFI-4838
>                 URL: https://issues.apache.org/jira/browse/NIFI-4838
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Mike Thomsen
>            Assignee: Mike Thomsen
>            Priority: Major
>
> It shouldn't wait until the end to do a commit() call because the effect is 
> that GetMongo looks like it has hung to a user who is pulling a very large 
> data set.
> It should also have an option for running a count query to get the current 
> approximate count of documents that would match the query and append an 
> attribute that indicates where a flowfile stands in the total result count. 
> Ex:
> query.progress.point.start = 2500
> query.progress.point.end = 5000
> query.count.estimate = 17,568,231



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to