Community
Participate
Working Groups
Currently, when acquiring files/file list from a CF app, RSE does not reuse the SSH session, and does not attempt to re-connect on SSH connection failure. This is not a regression, rather a limitation of the current implementation of the getFile()/RSE code. Behind the scenes, CF uses CloudFoundryServerBehaviour.getFile(...) to populate what is shown in the Remote Systems Explorer view. This ultimately calls DiegoRequestFactory.getFile(...). The purpose of DRF.getFile(...) is to return either file contents, or a directory listing, using SSH. However, as per the current implementation of DRF.getFile(...), _every_ call causes a new SSH connection to be opened. Which is to say, there is no SSH connection reuse, and each invocation does the equivalent to: cf ssh-code, then, cf ssh (app_name). This takes about 5 seconds, and intermittently fails on Bluemix between 5-10% of the time (due to being unable to establish SSH connection). Solution would be one or both of the following: - Reuse SSH session between calls - Attempt to re-establish SSH connection on initial connection failure.
GitHub Pull Request 68 created by [jgwest] https://github.com/eclipse/cft/pull/68
Verified as fixed in latest driver.