TaxonomicEditorDevelopmentEnvironment » History » Revision 3
« Previous |
Revision 3/29
(diff)
| Next »
Andreas Kohlbecker, 03/23/2017 11:46 AM
Taxonomic Editor development environment¶
The main source of information is Setting up a Taxonomic Editor development environment
This page only contains additional information not yet contained in the above linked page.
Download timeouts in the maven validate phase¶
This especially happens with the http://download.eclipse.org/releases/ repository from where plugins have to be downloaded.
The according error message in the maven log is:
[ERROR] Internal error: java.lang.RuntimeException: Failed to load p2 repository with ID 'eclipse-swtbot' from location http://download.eclipse.org/releases/indigo/: Unable to read repository at http://download.eclipse.org/releases/indigo. Unable to read repository at http://download.eclipse.org/releases/indigo/201109230900/content.jar. Read timed out -> [Help 1]
Running maven in the debug mode (-X
) reveals that this is a socket timeout:
Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:198) at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178) at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:137) at java.io.FilterInputStream.read(FilterInputStream.java:133) at java.io.FilterInputStream.read(FilterInputStream.java:107) at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:178) at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
In the above download process two classes are involved which have different timeoiut settings:
- org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer
- java.net.SocketInputStream
setting timeout controls for JRE-http based transport in org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer¶
See http://wiki.eclipse.org/Equinox/p2/TransportDebugging.
In case of equinox transport timeouts, a message like the following will should occur in the stack trace:
Timeout while reading input stream. The following system properties can be used to adjust the readTimeout, retryAttempts, and closeTimeout org.eclipse.ecf.provider.filetransfer.retrieve.readTimeout=xxx org.eclipse.ecf.provider.filetransfer.retrieve.retryAttempts=xxx org.eclipse.ecf.provider.filetransfer.retrieve.closeTimeout=xxx
Setting the waggon timeouts in the setting.xml¶
see http://maven.apache.org/guides/mini/guide-http-settings.html and http://stackoverflow.com/questions/23510525/maven-dependency-timeout-settings#27015320
This setting is supposed to configure the java.net.SocketInputStream timeouts which therefore should be the correct one in order to fix the above problem.
However, setting
<server>
<id>eclipse-swtbot</id>
<configuration>
<httpConfiguration>
<all>
<connectionTimeout>180000</connectionTimeout>
<readTimeout>180000</readTimeout>
</all>
</httpConfiguration>
</configuration>
</server>
Causes an error in maven. Maven is missing the user credentials and fails with a NullPointerException. Maybe updating maven helps?
Updated by Andreas Kohlbecker about 7 years ago · 3 revisions