product-ei icon indicating copy to clipboard operation
product-ei copied to clipboard

File connector append operation is not working properly

Open Vathsan opened this issue 4 years ago • 0 comments

Description: When appending content to a file using the latest file connector with concurrent users the contents are not added properly.

Suggested Labels: Bug

Affected Product Version: File connector 4.0.2

Steps to reproduce:

  1. Deploy the following proxy (file name is append.txt),
<?xml version="1.0" encoding="UTF-8"?>
<proxy name="testFile" startOnLoad="true" transports="http https" xmlns="http://ws.apache.org/ns/synapse">
    <target>
        <inSequence>
            <file.write configKey="test">
                <filePath>/append.txt</filePath>
                <contentOrExpression>Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!Hello world!!!!</contentOrExpression>
                <mimeType>Automatic</mimeType>
                <compress>false</compress>
                <writeMode>Append</writeMode>
                <enableStreaming>false</enableStreaming>
                <appendNewLine>false</appendNewLine>
                <enableLock>false</enableLock>
                <includeResultTo>Message Body</includeResultTo>
            </file.write>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </target>
</proxy>
  1. Deploy the following local entry (update the workingDir path where the file is located),
<?xml version="1.0" encoding="UTF-8"?>
<localEntry key="test" xmlns="http://ws.apache.org/ns/synapse">
    <file.init>
        <workingDir>/Users/test</workingDir>
        <name>test</name>
        <fileLockScheme>Local</fileLockScheme>
        <connectionType>LOCAL</connectionType>
    </file.init>
</localEntry>
  1. Invoke the proxy with 50 concurrent threads using jmeter

  2. We can observe the following content in the file, image

Vathsan avatar Apr 06 '21 05:04 Vathsan