Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 314875 - Large proxies are not queued.
Summary: Large proxies are not queued.
Status: CLOSED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P1 normal (vote)
Target Milestone: ---   Edit
Assignee: Bozier jerome CLA
QA Contact: Kathy Chan CLA
URL:
Whiteboard:
Keywords:
Depends on: 281877
Blocks:
  Show dependency tree
 
Reported: 2010-05-28 10:05 EDT by Paul Slauenwhite CLA
Modified: 2016-05-05 10:30 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Slauenwhite CLA 2010-05-28 10:05:05 EDT
Large proxies are not queued.

As a continuation of defect https://bugs.eclipse.org/bugs/show_bug.cgi?id=281877, when a large proxy is saved (see org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.saveProxy(IFile, IPersistableProxyNode)), the following problem occurs:

1) The org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.MarkerJob is still scheduled, even though the proxy is too large to serialize.  If the marker is too large, it should automatically default to org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister. 

When a large proxy is loaded (see org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.loadProxy(IFile)), the following problem occurs:

1) The org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister.loadProxy(IFile) is called only if a marker exists.  Since the queued marker (see org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.MarkerJob) is not returned and the saved marker is not yet serialized, null is returned.  If the MarkerJob does not contain the marker or the marker cannot be found, it should automatically default to org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister.

In addition, org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister does not queue proxies to be saved.  This class should use the same queuing mechanism as org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=281877).

As a result, the following test failure sometimes occurs:

junit.framework.AssertionFailedError: null
 at junit.framework.Assert.fail(Assert.java:47)
 at junit.framework.Assert.assertTrue(Assert.java:20)
 at junit.framework.Assert.assertNotNull(Assert.java:214)
 at org.eclipse.hyades.test.ui.navigator.tests.junit.util.JUnitTestUtilities.assertValidSampleProxy(JUnitTestUtilities.java:101)
 at org.eclipse.hyades.test.ui.navigator.tests.junit.util.JUnitTestUtilities.assertValidSampleProxy(JUnitTestUtilities.java:95)
 at org.eclipse.hyades.test.ui.navigator.tests.junit.plugin.TestUIFileProxyMarkerPersisterTest.saveAndLoadProxy_largeProxyTest__(TestUIFileProxyMarkerPersisterTest.java:330)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:618)
 at junit.framework.TestCase.runTest(TestCase.java:168)
 at junit.framework.TestCase.runBare(TestCase.java:134)
 at junit.framework.TestResult$1.protect(TestResult.java:110)
 at junit.framework.TestResult.runProtected(TestResult.java:128)
 at junit.framework.TestResult.run(TestResult.java:113)
 at junit.framework.TestCase.run(TestCase.java:124)
 at org.eclipse.hyades.test.common.junit.HyadesTestCase.run(HyadesTestCase.java:172)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at org.eclipse.hyades.test.common.junit.HyadesTestRunner.run(HyadesTestRunner.java:504)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.PluginRunner.launchTest(PluginRunner.java:63)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.launchTest(EclipseTesterAgent.java:138)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.doHandleCommand(EclipseTesterAgent.java:119)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.startProcessing(EclipseTesterAgent.java:68)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.ui.PluginTestHarness$1.run(PluginTestHarness.java:50)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
 at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.ui.UITestApplication.start(UITestApplication.java:49)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:32)
 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:369)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:618)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
 at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
 at org.eclipse.core.launcher.Main.main(Main.java:34)

This defect requires the following test cases to be readded to /org.eclipse.hyades.test.ui.navigator.tests/junit_plugin/Test.UI.FileProxyMarkerPersisterTest.testsuite:

Save and load proxy (large proxy test).
Save and load proxy (large proxy quick test).
Save and load proxy (large proxy slow test).
Comment 1 Paul Slauenwhite CLA 2010-05-28 10:05:29 EDT
Jerome, please size.
Comment 2 Bozier jerome CLA 2010-05-28 10:18:44 EDT
delicate mechanism to fix, so i size it to around one week for all the testing (i hope it will be a bit less)
Comment 3 Paul Slauenwhite CLA 2010-06-22 10:05:02 EDT
Since this defect is not impacting TPTP users or any consuming product and only impacting the JUnits, we will defer this defect.
Comment 4 Paul Slauenwhite CLA 2010-11-26 07:28:23 EST
Insufficient resources to complete.
Comment 5 Paul Slauenwhite CLA 2010-11-29 08:12:54 EST
Closing.