Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dsdp-tm-dev] RE: Eclipse RSE: Problem with SSH keys

Hello Dmitry,
 
I'm glad that the SSH login problem was fixed by upgrading to the most recent version of RSE. With respect to your other questions,
  1. Performance - the file buffer and directory transfer compression (aka "supertransfer") settings currently are for dstore only. For plain SSH, we currently have bug 256581 [1] open to improve performance up to 17 times. This bug is marked "helpwanted", so if you'd like to try an implementation you'd be more than welcome, just let us know on the bug.
    Alternative ways of improving performance would be to run a dstore server through an SSH channel, this would allow using supertransfer (compressed directories). Bug 142971 [2] is currently open for this. As a third option, supertransfer could also be implemented on plain SSH connections just by creating a tgz on the remote through the shell channel, transferring that one, and uncompressing it locally. I just filed bug 256587 [3] for this idea.
  2. Default Ownership and Permission for upload - not supported by RSE right now. Feel free to file a bugzilla enhancement request using this link [4]. Personally, I'd recommend that you try tweaking your image such that you can SSH Login with a different user id. It's no use IMHO to try and re-do something which the remote OS can natively do in a much better way. Files are indeed copied 1-by-1, see above.
  3. Exception on first editor open: This is an issue related to the RSE EFS integration, apparently some kind of race condition. Please file a bug [4] for it. Include all the info you put here. Do you really want to map remote files into your Eclipse workspace by means of linked resources? Except for few use-cases, we are moving away from this paradigm and using plain RSE (in the RSE perspective) again, because EFS performs even wors than plain RSE. See the TM FAQ [5] for some alternatives. The reason for this is that EFS does a deep refresh of the files that it manages, and dependencies through the core.resources extension are problematic during early startup. This leads to many issues, such as bug 218387 [6] and bug 226564 [7] and bug 181460 [8] for instance. Fixing these in the current structure of Eclipse 3.5 is hard to impossible. A real fix for the EFS problems will need some work performed in the context of e4 Resources [9]. Current discussions on e4 Resources are open to everyone who's interested to contribute. There are bi-weekly phone meetings, the next one is this friday [10].
 
 
 
Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
 
 


From: Dmitriy Kruglyak [mailto:dkruglyak@xxxxxxxxx]
Sent: Tuesday, November 25, 2008 11:57 PM
To: Oberhuber, Martin
Subject: RE: Eclipse RSE: Problem with SSH keys

Martin,

 

Thank you so much for helping out. I re-installed Eclipse with correct RSE version and now it works. Just a few issues:

 

1)      What can I do to improve RSE performance? Yes, I found the file buffer (set to 400K) and directory transfer compression settings (set to TGZ), but is there anything else to speed it up? What are the recommended settings on performance?

2)      When I upload files to SFTP server from RSE, is there a way to set default ownership and permission of files? For example I want to be logged in as “root” but upload my files to be owned by “apache”, avoiding manual step of changing ownership. Also I am not sure if the directory compression is really working – I copied a bunch of dirs onto RSE drive and the progress indicator showed files copied one-by-one.

3)      When I re-open Eclipse, connection resumes automatically and a workplace on remote system opens just fine. However, the first file to open always fails, instead giving this message: “Could not open the editor. Editor could not be initialized”. Apparently workplace starts up before connection is re-established. When I click on “Details” button here is what I get inside that file’s window:

 

java.lang.RuntimeException: org.eclipse.core.runtime.CoreException: Connection not found for host: AWS.KRUGLYAK.COM

                        at org.eclipse.rse.internal.efs.RSEFileStore.fetchInfo(RSEFileStore.java:266)

                        at org.eclipse.core.internal.localstore.FileSystemResourceManager.fastIsSynchronized(FileSystemResourceManager.java:324)

                        at org.eclipse.core.internal.localstore.FileSystemResourceManager.isSynchronized(FileSystemResourceManager.java:559)

                        at org.eclipse.core.internal.resources.Resource.isSynchronized(Resource.java:1336)

                        at org.eclipse.core.internal.resources.File.checkSynchronized(File.java:97)

                        at org.eclipse.core.internal.resources.File.getContentDescription(File.java:278)

                        at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.cacheBOM(ResourceTextFileBuffer.java:306)

                        at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.cacheEncodingState(ResourceTextFileBuffer.java:485)

                        at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.initializeFileBufferContent(ResourceTextFileBuffer.java:285)

                        at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:241)

                        at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)

                        at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:557)

                        at net.sourceforge.phpeclipse.phpeditor.PHPDocumentProvider.createFileInfo(PHPDocumentProvider.java:1115)

                        at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:476)

                        at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:3991)

                        at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:190)

                        at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1325)

                        at net.sourceforge.phpeclipse.phpeditor.PHPEditor.internalDoSetInput(PHPEditor.java:3693)

                        at net.sourceforge.phpeclipse.phpeditor.PHPEditor.doSetInput(PHPEditor.java:3899)

                        at net.sourceforge.phpeclipse.phpeditor.PHPUnitEditor.doSetInput(PHPUnitEditor.java:2340)

                        at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3026)

                        at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:458)

                        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:366)

                        at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758)

                        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

                        at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755)

                        at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2487)

                        at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3044)

                        at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3071)

                        at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:799)

                        at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643)

                        at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428)

                        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)

                        at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:263)

                        at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1410)

                        at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:944)

                        at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)

                        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

                        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)

                        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)

                        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)

                        at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)

                        at org.eclipse.ui.internal.Workbench$27.runWithException(Workbench.java:1361)

                        at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)

                        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

                        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)

                        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)

                        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)

                        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2293)

                        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)

                        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)

                        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)

                        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)

                        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

                        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)

                        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)

                        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

                        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

                        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)

                        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                        at java.lang.reflect.Method.invoke(Unknown Source)

                        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)

                        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)

                        at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

Caused by: org.eclipse.core.runtime.CoreException: Connection not found for host: AWS.KRUGLYAK.COM

                        at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getConnectedFileSubSystem(RSEFileStoreImpl.java:240)

                        at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:318)

                        at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:305)

                        at org.eclipse.rse.internal.efs.RSEFileStoreImpl.fetchInfo(RSEFileStoreImpl.java:496)

                        at org.eclipse.rse.internal.efs.RSEFileStore.fetchInfo(RSEFileStore.java:275)

                        at org.eclipse.rse.internal.efs.RSEFileStore.fetchInfo(RSEFileStore.java:257)

                        ... 66 more

 

Could something be done about the performance, the file ownership / compression and the workplace re-opening? If I close and re-open the failed file by hand I can work with it, though this is obviously an annoying extra step.

 

Thanks again!

 

Dmitriy

 


Back to the top