Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8005436

TEST_BUG: speed up RMI tests

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: core-libs
    • Labels:
      None

      Description

      There are currently 133 RMI tests, and they take around 14 minutes to run. They need to be sped up. Timings for each test (in seconds) are as follows:

       80.2 java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java
       57.5 java/rmi/transport/dgcDeadLock/DGCDeadLock.java
       53.3 java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java
       52.1 java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java
       35.0 java/rmi/reliability/juicer/AppleUserImpl.java
       33.5 java/rmi/reliability/benchmark/runSerialBench.sh
       30.8 java/rmi/activation/CommandEnvironment/SetChildEnv.java
       21.9 java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java
       18.1 java/rmi/registry/classPathCodebase/ClassPathCodebase.java
       16.6 java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java
       16.0 sun/rmi/transport/tcp/DeadCachedConnection.java
       14.2 java/rmi/dgc/dgcAckFailure/DGCAckFailure.java
       13.4 java/rmi/transport/readTimeout/ReadTimeoutTest.java
       13.2 java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java
       13.0 java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java
       12.5 java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java
       12.0 java/rmi/registry/readTest/readTest.sh
       11.9 sun/rmi/rmic/newrmic/equivalence/run.sh
       11.0 java/rmi/activation/Activatable/restartService/RestartService.java
       10.2 java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java
       10.1 java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java
        9.9 java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java
        9.9 java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java
        9.4 java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java
        9.1 java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java
        8.9 java/rmi/registry/checkusage/CheckUsage.java
        8.9 java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java
        8.6 java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java
        8.2 java/rmi/registry/reexport/Reexport.java
        8.0 java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java
        7.8 java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java
        7.5 javax/rmi/ssl/SSLSocketParametersTest.sh
        7.2 java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java
        6.8 sun/rmi/rmic/manifestClassPath/run.sh
        6.6 java/rmi/transport/handshakeTimeout/HandshakeTimeout.java
        6.3 java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java
        5.7 java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java
        5.5 java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java
        5.0 sun/rmi/rmic/minimizeWrapperInstances/run.sh
        4.9 java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java
        4.9 java/rmi/transport/checkFQDN/CheckFQDN.java
        4.7 java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java
        4.6 java/rmi/activation/Activatable/nestedActivate/NestedActivate.java
        4.4 java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java
        4.3 java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java
        4.0 java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java
        4.0 java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java
        3.8 java/rmi/activation/Activatable/extLoadedImpl/ext.sh
        3.8 java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java
        3.6 java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java
        3.6 sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java
        3.5 java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java
        3.4 java/rmi/server/RMIClassLoader/spi/ContextInsulation.java
        3.4 java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java
        3.4 sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java
        3.3 java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java
        3.3 java/rmi/Naming/legalRegistryNames/LegalRegistryNames.java
        3.3 java/rmi/registry/interfaceHash/InterfaceHash.java
        3.3 java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java
        3.3 java/rmi/server/UnicastRemoteObject/useDynamicProxies/UseDynamicProxies.java
        3.3 java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java
        3.2 java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java
        3.2 java/rmi/server/ObjID/randomIDs/RandomIDs.java
        3.2 java/rmi/server/RemoteObject/notExtending/NotExtending.java
        3.2 sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java
        3.1 java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java
        3.1 java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java
        3.0 java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java
        2.9 java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java
        2.9 java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java
        2.8 java/rmi/registry/altSecurityManager/AltSecurityManager.java
        2.8 java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java
        2.8 java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java
        2.7 java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java
        2.7 java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java
        2.7 java/rmi/server/RMIClassLoader/spi/DefaultProperty.java
        2.7 sun/rmi/rmic/RMIGenerator/RmicDefault.java
        2.6 java/rmi/server/RemoteObject/toStub/ToStub.java
        2.6 sun/rmi/runtime/Log/6409194/NoConsoleOutput.java
        2.5 java/rmi/Naming/UnderscoreHost.java
        2.5 java/rmi/server/useCustomRef/UseCustomRef.java
        2.4 java/rmi/server/serverStackTrace/SuppressStackTraces.java
        2.4 javax/rmi/ssl/SocketFactoryTest.java
        2.4 sun/rmi/runtime/Log/checkLogging/CheckLogging.java
        2.3 java/rmi/Naming/RmiIsNoScheme.java
        2.3 java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java
        2.3 java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java
        2.3 sun/rmi/rmic/covariantReturns/run.sh
        2.3 sun/rmi/rmic/defaultStubVersion/run.sh
        2.3 sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java
        2.2 java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java
        2.2 java/rmi/server/RemoteObject/unrecognizedRefType/UnrecognizedRefType.java
        2.2 java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java
        2.2 java/rmi/server/serverStackTrace/ServerStackTrace.java
        2.2 java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java
        2.2 java/rmi/transport/httpSocket/HttpSocketTest.java
        2.2 sun/rmi/runtime/Log/4504153/Test4504153.java
        2.1 java/rmi/transport/closeServerSocket/CloseServerSocket.java
        2.1 java/rmi/transport/handshakeFailure/HandshakeFailure.java
        2.1 java/rmi/transport/pinLastArguments/PinLastArguments.java
        2.1 java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java
        2.0 java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java
        2.0 sun/rmi/log/ReliableLog/LogAlignmentTest.java
        1.9 java/rmi/registry/multipleRegistries/MultipleRegistries.java
        1.8 java/rmi/activation/log/LogTest.java
        1.8 java/rmi/Naming/DefaultRegistryPort.java
        1.8 java/rmi/Naming/LookupNameWithColon.java
        1.8 java/rmi/server/RemoteServer/setLogPermission/SetLogPermission.java
        1.8 java/rmi/server/Unmarshal/PrimitiveClasses.java
        1.8 sun/rmi/rmic/classFileVersion/run.sh
        1.7 java/rmi/activation/Activatable/notSerializable/NotSerializable.java
        1.7 java/rmi/invalidName/InvalidName.java
        1.7 java/rmi/server/clientStackTrace/ClientStackTrace.java
        1.7 java/rmi/server/RemoteServer/AddrInUse.java
        1.7 java/rmi/server/RMIClassLoader/spi/Property.java
        1.6 java/rmi/Naming/LookupIPv6.java
        1.6 java/rmi/server/RMIClassLoader/spi/Installed.java
        1.6 java/rmi/server/RMIClassLoader/spi/InvalidProperty.java
        1.6 sun/rmi/log/ReliableLog/SnapshotSize.java
        1.6 sun/rmi/rmic/classpath/RMICClassPathTest.java
        1.5 java/rmi/registry/emptyName/EmptyName.java
        1.5 java/rmi/RemoteException/chaining/Chaining.java
        1.5 java/rmi/server/RemoteServer/SetLogNull.java
        1.5 java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java
        1.4 java/rmi/dgc/VMID/CheckVMID.java
        1.4 java/rmi/server/getRemoteClass/GetRemoteClass.java
        1.3 java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java
        1.3 java/rmi/activation/CommandEnvironment/NullOptions.java
        1.3 java/rmi/MarshalledObject/compare/Compare.java
        1.3 java/rmi/MarshalledObject/compare/HashCode.java
        1.3 java/rmi/RMISecurityManager/checkPackageAccess/CheckPackageAccess.java
        1.1 java/rmi/MarshalledObject/compare/NullReference.java
        0.2 sun/rmi/rmic/extraCompilation/run.sh

      Timings are accumulated from jtreg output such as the following:

      TEST: java/rmi/activation/Activatable/nestedActivate/NestedActivate.java
        build: 0.547 seconds
        compile: 0.547 seconds
        build: 0.653 seconds
        compile: 0.652 seconds
        main: 2.212 seconds
      TEST RESULT: Passed. Execution successful

      I think the "build" and "compile" times are actually double-counting (they're almost always identical) so these timing are actually an overstatement of the actual times. Still, the timings should give an idea of which tests are the ones that need to be sped up.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              smarks Stuart Marks
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: