You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Joe Witt (Jira)" <ji...@apache.org> on 2021/12/13 18:35:00 UTC

[jira] [Updated] (NIFI-9364) ExecuteStateless performance suffers if using "Content Storage Strategy" of "Store Content on Disk"

     [ https://issues.apache.org/jira/browse/NIFI-9364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joe Witt updated NIFI-9364:
---------------------------
    Fix Version/s: 1.15.1

> ExecuteStateless performance suffers if using "Content Storage Strategy" of "Store Content on Disk"
> ---------------------------------------------------------------------------------------------------
>
>                 Key: NIFI-9364
>                 URL: https://issues.apache.org/jira/browse/NIFI-9364
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 1.15.0
>            Reporter: Mark Payne
>            Assignee: Mark Payne
>            Priority: Major
>             Fix For: 1.16.0, 1.15.1
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> When I tested performance of ExecuteStateless storing content on heap, performance was great. But I changed to store content on disk, expecting performance to drop some. But I saw a HUGE performance drop - about an order of magnitude. It appears to be because when copying the FlowFile content into the processor's Content Repository, the {{ContentOutputStream}} that is used to write content to disk does not override the parent {{FilterOutputStream's write(byte[], int offset, int len)}} method. Instead, it just inherit's the parent's implementation. The parent implementation performs horribly, calling {{void write(int b)}} for each byte in the given buffer. which means we write each byte to the underlying FileOutputStream as an individual operation.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)