1

I'm using wagon plugin to send build to a remote server through FTPS/990, all files are sent successfully except meduim large files (example : 75 MB), the connection seems to be closed and I'm getting the below error :

    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:wagon-maven-plugin:2.0.0:upload (default-cli) on project XXXX: Error handling resource
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error handling resource
    at org.codehaus.mojo.wagon.AbstractSingleWagonMojo.execute(AbstractSingleWagonMojo.java:67)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    ... 20 more
Caused by: org.apache.maven.wagon.TransferFailedException: PUT request to: XXXX.war in ftp.server.id failed
    at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:448)
    at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:416)
    at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:390)
    at org.apache.maven.wagon.StreamWagon.put(StreamWagon.java:163)
    at org.codehaus.mojo.wagon.shared.DefaultWagonUpload.upload(DefaultWagonUpload.java:76)
    at org.codehaus.mojo.wagon.shared.DefaultWagonUpload.upload(DefaultWagonUpload.java:87)
    at org.codehaus.mojo.wagon.UploadMojo.execute(UploadMojo.java:112)
    at org.codehaus.mojo.wagon.AbstractSingleWagonMojo.execute(AbstractSingleWagonMojo.java:63)
    ... 22 more
Caused by: java.net.SocketException: Connection reset by peer: socket write error
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    at org.apache.commons.net.io.SocketOutputStream.write(SocketOutputStream.java:71)
    at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:540)
    at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:435)

EDIT :

Below the configuration used in pom.xml:

    <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>wagon-maven-plugin</artifactId>
            <version>2.0.0</version>
            <configuration>
                <serverId>ftp.server.id</serverId>
                <url>ftps://IP_ADDRESS:990</url>
                <fromDir>${project.build.directory}</fromDir>
                <toDir>.</toDir>
            </configuration>
            <executions>
                <execution>
                    <id>upload</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>upload</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ftp</artifactId>
            <version>3.0.0</version>
        </extension>
    </extensions>

And the configuration of serverId in settings.xml :

   <server>
        <id>ftp.server.id</id>
        <username>username</username>
        <password>password</password>
        <configuration>
            <endpointChecking>false</endpointChecking>
            <securityProtocol>TLSv1.2</securityProtocol> 
            <implicit>true</implicit>
            <passiveMode>true</passiveMode>
        </configuration>
    </server>

Thanks for Help !

Best regards

aminedev
  • 323
  • 3
  • 9
  • 22
  • it seems the connection cannot be established after certain time. Why don't you debug the library source code to check if you can find a better error. Btw did you check if you have a server timeout? – Federico Piazza Dec 20 '19 at 14:21
  • Please [edit] your question to be on-topic: include a [mcve] that duplicates the problem. Questions seeking debugging help ("why isn't this code working the way I want?") must include: (1) the desired behavior, (2) a specific problem or error and (3) the shortest code necessary to reproduce it *in the question itself*. Please also see: [What topics can I ask about here?](/help/on-topic), and [ask]. – Makyen Dec 24 '19 at 00:57
  • @FedericoPiazza yes i checked the server timeout and also changed the timeout to the max value at ftps server end – aminedev Dec 24 '19 at 09:37
  • @Makyen used configuration added to the topic – aminedev Dec 24 '19 at 09:38
  • this problem is probably not related to wagon plugin, check the conf of the server if using some sort of a Bandwidth usage app – Karim Dec 25 '19 at 14:00
  • Maven Wagon developer here: Upgrade Wagon frist. Retry with `sftp(1)` and see whether this one works, provide a tcpdump of the failing communication. If this is not a network error then this must be a bug in Commons Net. Create a issue with WAGON. – Michael-O Dec 25 '19 at 18:57
  • most likely server side issue as "Connection reset by peer" means that server is closing the connection, see ref. [what-does-connection-reset-by-peer-mean](https://stackoverflow.com/questions/1434451/what-does-connection-reset-by-peer-mean) – Jokkeri Dec 27 '19 at 07:50

1 Answers1

0

check your FTP server configuration for MAXSTOREFILESIZE and run again for large file. For reference following link may help http://proftpd.org/docs/directives/configuration_full.html#MAXSTOREFILESIZE

Rishikesh Teke
  • 408
  • 3
  • 10