See <https://builds.apache.org/job/River-trunk-jdk7/153/changes>
Changes: [peter_firmstone] copy qa-refactor-namespace to trunk [peter_firmstone] ThreadPool's implementation was not optimal and was found to be a hotspot in outrigger stress tests, it is now a wrapper around a java concurrent Executor. [peter_firmstone] Merge code changes in trunk revision 1520131. Note that note removal of author tags from source code has only been partially merged and we also need to check build.xml file for how to build src-extra. [peter_firmstone] Merge code changes in trunk revision 1520131. Note that note removal of author tags from source code has only been partially merged and we also need to check build.xml file for how to build src-extra. [peter_firmstone] Fix incomplete classpath in test in CheckBoomerangs Make sure we're also testing that RFC3986URLClassLoader doesn't cause any RuntimeThreadInheritanceLeak's, by adding it to this test in place of URLClassLoader. That completes regression testing for River 3.0: ant -f /home/ubuntu/NetBeansProjects/River-3.0/trunk/qa jtreg jtreg: Created dir: /home/ubuntu/NetBeansProjects/River-3.0/trunk/qa/jtreg/JTlib-tmp Moving 7 files to /home/ubuntu/NetBeansProjects/River-3.0/trunk/qa/jtreg/JTlib-tmp Moving 1 file to /home/ubuntu/NetBeansProjects/River-3.0/trunk/qa/jtreg/JTlib-tmp Test results: passed: 132 Results written to /home/ubuntu/NetBeansProjects/River-3.0/trunk/qa/jtreg/JTwork Moving 7 files to /home/ubuntu/NetBeansProjects/River-3.0/trunk/lib Moving 1 file to /home/ubuntu/NetBeansProjects/River-3.0/trunk/lib-ext Deleting directory /home/ubuntu/NetBeansProjects/River-3.0/trunk/qa/jtreg/JTlib-tmp Deleting: /home/ubuntu/NetBeansProjects/River-3.0/trunk/qa/jtreg/test.props BUILD SUCCESSFUL (total time: 15 minutes 53 seconds) [peter_firmstone] Updated jtreg test policy files to suit Java 8. Added @ignore flag to tests that fail related to Kerberos or missing squid proxy server, so we know that all remaining tests should pass and any other failures are regressions. Removed custard-apple.jar from qa/build.xml and added parameter to skip tests flagged with @ignore. A number of tests that are disabled or uncompleted had their file type renamed or missing @test flag, were named and flagged correctly and the @ignore flag. We probably need to determine what the original authors were trying to achieve and determine if these tests add value. [peter_firmstone] Added comment on removal of sun.net.spi.nameservice.NameService from Java9 [peter_firmstone] Changed security manager to CombinerSecurityManager, just to give our security manager a workout. This doesn't affect the test result. [peter_firmstone] The classpath wasn't complete for HTTPD, ensured that all required classes were visible on the classpath. This is a codebase server required by a number of tests. [peter_firmstone] Change cypher used to one supported by Java 8. [peter_firmstone] Remove use of reflection from static initialization block to reduce permissions required, The alternative was to update policy files in jtreg tests, however this was preferable. [peter_firmstone] Fix NPE that can occur during shutdown. Note this NPE didn't cause a test failure, however I don't like NPE being thrown unless we're expecting it. Also corrected synchronization comment. [peter_firmstone] Fix regression of sun bug ID:6304035 [peter_firmstone] Fix Regression of Sun Bug 4404702. Additional Changes: Give jvm hint to minimize thread stack size (228k is minimum for 64 bit platforms) to increase scalability. Increase number of waiting idle threads by 1. Change position of Thread name change to avoid unnecessary changes. [peter_firmstone] Fix regression in TcpServerEndpoint as identified in jtreg test net/jini/jeri/tcp/localHostExposure/LocalHostExposure.java [peter_firmstone] Commit my local Jeri multiplexer stability improvements to assist with jtreg multiplexer nio tests: net.jini.jeri.tcp.outOfThreads.OutOfThreads.java net.jini.jeri.tcp.outOfThreads.OutOfThreads2.java [dreedy] Fixed artifact ID for browser pom [dreedy] Added pom for the browser [peter_firmstone] Backward compatibility for obtaining codebase annotations for outrigger and reggie proxy's running on River 2.2 platforms. [peter_firmstone] Backward compatibility for obtaining codebase annotations for outrigger and reggie proxy's running on River 2.2 platforms. [peter_firmstone] Backward compatibility for obtaining codebase annotations for outrigger and reggie proxy's running on River 2.2 platforms. [peter_firmstone] Backward compatibility for obtaining codebase annotations for outrigger and reggie proxy's running on River 2.2 platforms. [peter_firmstone] Backward compatibility for obtaining codebase annotations for outrigger and reggie proxy's running on River 2.2 platforms. [dreedy] Fix logger in GroovyConfig [dreedy] Fixes to poms, added tools.pom [dreedy] Mods to DroovyConfig [peter_firmstone] Donate custard apple code to River as requested. Make Entry's Clonable to implement expected user behaviour in SDM and LookupCache - very simple quick fix, thanks to AbstractEntry, feel free to review. [peter_firmstone] Donate custard apple code to River as requested. Make Entry's Clonable to implement expected user behaviour in SDM and LookupCache - very simple quick fix, thanks to AbstractEntry, feel free to review. [peter_firmstone] Prune some as yet unreleased classes before releasing. [peter_firmstone] Fix test failures. [dreedy] Recovered org.apache.river.test.support.* [dreedy] Working towards release, adding groovy-config.jar support [peter_firmstone] Fix jtreg jdk.home test path variable. [dreedy] Added missing classes ans resources from qa [dreedy] Working on namespace changes [dreedy] Working on namespace changes [dreedy] Creating a branch to do org.apache.river namespace changes [dreedy] Checking commit permissions [peter_firmstone] Refactor ServiceDiscoveryManager to remove race conditions and random test failures. A number of tasks have been refactored out to simplify, while some new tasks have been created to allow handing off notification calls into external code via executor threads. General: Avoid swallowing InterruptedExceptions, restore thread interrupt. Replace RMISecurityManager with CombinerSecurityManager Fix race conditions in TesterTransactionManager Move logging outside of locking servicediscovery.AbstractBaseTest.SrvcListener Remove dead object store, cacheList in servicediscovery tests. Review and update documentation LookupLocator - new protected method for common code with ConstrainableLookupLocator to avoid code duplication. ServiceItem - implement Cloneable for the benefit of ServiceDiscoveryManager. Add @Override annotation where appropriate. Fix ServiceDiscoveryEvent constructor so it isn't susceptible to finalizer attack. [peter_firmstone] Updates for Java 8, including changes to test policy files. Rename Distributed to Portable More support for and uses of Generics LookupLocator now uses same Discovery code as ConstrainableLookupLocator, but without constraints. [peter_firmstone] Updates for Java 8, including changes to test policy files. Rename Distributed to Portable More support for and uses of Generics LookupLocator now uses same Discovery code as ConstrainableLookupLocator, but without constraints. [peter_firmstone] Remove non existent class [peter_firmstone] Changed PreferredListGen to catch a NoClassDefFoundError, print message to System.err and continue. Sometimes classes found are not available as they are in external libraries, this shouldn't stop PreferredListGen from working. Altered registering ThreadPool's shutdown hook to be performed from privileged context. [peter_firmstone] Event notifications can arrive out of order, ensure tests that depend on order sort events before checking for expected results. [peter_firmstone] Smaller test runs for Jenkins [peter_firmstone] Smaller test runs for Jenkins [peter_firmstone] Smaller test runs for Jenkins [peter_firmstone] RIVER-439 Removed dependencies on Sun JVM specific internal implementation classes, enabling building on Java 1.6 IBM J9 [peter_firmstone] RIVER-439 Removed dependencies on Sun JVM specific internal implementation classes, enabling building on Java 1.6 IBM J9 [peter_firmstone] RIVER-439 Removed dependencies on Sun JVM specific internal implementation classes, enabling building on Java 1.6 IBM J9 [peter_firmstone] RIVER-439 Removed dependencies on Sun JVM specific internal implementation classes. [peter_firmstone] RIVER-439 Removed dependencies on Sun JVM specific internal implementation classes. [peter_firmstone] RIVER-439 Removed dependencies on Sun JVM specific internal implementation classes. [peter_firmstone] Move forName method out of ClassLoading, to avoid causing early loading of ClassLoading class, in case RMIClassLoaderSpi providers aren't ready. [peter_firmstone] Fix data race in StreamConnectionIO, caused by ByteBuffer's being shared between calling threads and mux writer thread, other minor improvements included. Note this fix exposes latent data races in Outrigger and ServiceDiscoveryManager. [peter_firmstone] Fixed some latent concurrency bugs within JERI, that had caused issues with Reggie Event delivery for attribute changes, this also allowed simplification of synchronization within Reggie. Profile testing indicates that this runs very close to socket speed, with no contention. Slight change to Distributed protocol. [peter_firmstone] Replace Vector with ArrayList in lookup tests, utilise Collections.sort and RemoteEventComparator, when events need to be ordered at the client before checking results. [peter_firmstone] Simplify complex nested locking in Phoenix Activation by using single layer ReentrantReadWriteLock make fields in PhoenixStarter non final, since 'this' escapes during construction. replace string concatenation with StringBuilder in ActivateWrapper. [peter_firmstone] Remove core dumps [peter_firmstone] Stop using daemon threads for IO in services and platform, for cases where snapshots could be taken during jvm shutdown, use explicit shutdown handler for ThreadPool and interruption instead. Close standard output in ClassDep at the end of main method call as per Gregg Wonderly's suggestion. Eliminate a contention hotspot in ConnectionManager. Increase default connection timeout in ConnectionManager for extended periods of high load. Replace string concatenation in LeaseRenewDurRFE with StringBuilder Reduce number of threads used in stress tests, too many threads cause contention and actually reduce the load on the components being tested. Use RemoteEventComparator in NotifyOnSrvcLeaseExpiration. Reduce unnecessary thread consumption in Mahalo, use number of processors to assist default number of threads used, if not specified in configuration. Use a Collection<Permission> instead of Permissions, in PreferredClassLoader, Permissions caused contention in stress tests, where an unsynchronized non mutating final Collection<Permission> has no contention and is thread safe. Various minor improvements including @Override annotations. Remove UriString and associated tests. [dreedy] Added service parent poms [dreedy] Add classpath manifest entries for high-scale-lib and custard-apple [dreedy] Added license headers to poms [peter_firmstone] Update to ClassLoading to prevent interaction with profilers. Change RandomStressTest to utilize ExecutorService version of RetryTask, instead of deprecated TaskManager constructor, reduce number of transaction participants and tasks to sensible levels, higher levels stresses the test code, not Mahalo, the tests don't really phase Mahalo, which consumes less resources than the test code. Fixed a hotspot in TcpServerEndpoint. [dreedy] Added support to generate PREFERRED.LISt files read from jars, and added support to create the river-resources module [dreedy] Adding initial commit for the modularization of River. This approach uses a script to load existing River jars, iterate through the contents of each jar, and copy sources to a multi-module maven project. The multi-module maven project is a start, it does not contain all the requisite River modules. It includes river-platform, river-start, river-dl, river-lib, outrigger-dl, outrigger-service, outrigger-snaplogstore, reggie-dl, reggie-service, mahalo-dl, mahalo-service, mercury-dl, mercury-service, norm-dl and norm-service [dreedy] Moved com.sun.jini.landlord.LeasedResource into jsk-dl.jar. This was done to accomodate outrigger-dl.jar's reliance on com.sun.jini.landlord.LeasedResource from com.sun.jini.outrigger.StorableResource. In the ant based build, LeasedResource was included using classdepandjar. Using a Maven build, outrigger-dl depends on river-dl (new name for jsk-dl). Adding LeasedResource to river-dl made sense. The approach taken to populate the source tree in the maven-zed structure is to load exiting jars, and for each entry in the loaded jar, copy the source files into each respective module's src directory, taking care not to duplicate any classes between modules. Making he change to jsk-dl.jar's build allows the river-dl module to be created correctly. [dreedy] The org.apache.river.api.lookup.* classes are not included into jsk-platform.jar, they reference classes that are found in jsk-lib.jar and/or jsk-dl.jar [dreedy] Removed import of net.jini.discovery.LookupLocatorDiscovery. The net.jini.discovery.LookupLocatorDiscovery class is not in the jsk-platform module, and causes a compile error when included as an import. The import is only required since it is used in the @see javadoc directive. Including the fully qualified net.jini.discovery.LookupLocatorDiscovery class in the @see directive resolves the issue. [peter_firmstone] RIVER-336 Update to ClassLoading. Convert remaining tests to utilise the new java.rmi.server.RMIClassLoaderSpi provider in ClassLoading Reduce number of tasks executed in RandomStressTest to avoid OOME on 32 bit platforms. Updated configuration.policy to ensure that all configuration files had sufficient permission to be tested, broken.prop wasn't being tested, not sure how long this has been the case, but it's fixed now. [dreedy] The net.jini.lookup classes should not be part of jsk-platform.jar [peter_firmstone] RIVER-336 Minor update to ClassLoading. Be careful with MarshalledObject obtained from ActivationGroupDesc [peter_firmstone] RIVER-336 Minor update to ClassLoading to allow modular frameworks to specify the ClassLoader used to load a RMIClassLoaderSpi provider. [peter_firmstone] RIVER-336 Refactoring of work done by Sim & Gregg. Updated all River code in the main src distribution to utilize ClassLoading, instead of RMIClassLoader, including marshaling and unmarshaling of MarshalledObject's using MarshalledInstance, this ensures that the replacement service provider mechanism is fully utilized, instead of using RMIClassLoader. Since both replacement provider classes for RMIClassLoader, proposed to date, have identical methods to RMIClassLoaderSpi, RMIClassLoaderSpi has been retained, to ensure that existing providers can be utilized without requiring recompilation. ServiceLoader is used to load RMIClassLoaderSpi, however this is done directly by ClassLoading, not RMIClassLoader and clients may specify which instance they want from a list of available providers by setting the system property "net.jini.loader.ClassLoading.provider". ClassLoading was chosen to delegate to the provider, since it already contained two methods compatible with and delegated to RMIClassLoader and it only required two more static methods to replace RMIClassLoader functionality and delegate directly to an RMIClassLoaderSpi provider. Tests that test PreferredClassProvider have been converted to utilize ClassLoading instead of RMIClassLoader. ClassLoading also has a third method that delegates to the three argument version of Class.forName, this new method fixes a hotspot and source of lock contention in mahalo's RandomStressTest, by thread confining calls for each ClassLoader when loading classes, as a result the Class.forName hot spot has been reduced from 50% cpu to under 3% cpu. In addition debug mode has been set back to false for transaction testing. [peter_firmstone] Revert ClassDep to using URLClassLoader to reduce frequency of bug causing truncation of dep files, resulting in class files missing from jar's, causing ClassNotFoundException in tests. [peter_firmstone] Increased Reggie scalability for client remote event notifications, event notification executor is now multi threaded. In response client code is now expected to deal with out of order event arrival. ServiceDiscoveryManager and some specification compliance tests in the qa suite, now utilize a Comparator to order remote event notifications prior to processing. This complies with the Jini Event Specification. Replaced Vector parameters in some methods in the qa suite with List, without changing test functionality. Reorganized NonActivatableGroupImpl due to some deadlocks experienced occasionally in some tests during classloading. [peter_firmstone] Add synchronization to PreferredListGen Replace use of URLClassLoader with RFC3986URLClassLoader in tools. Add more error handling in test code. [peter_firmstone] Update qa suite build to Java 6 source and target, remove jsr14 [peter_firmstone] Minor improvements for ServiceDiscoveryManager [peter_firmstone] Ensure visibility of outStream in MasterHarness and make fields final than can be. Make testServiceType volatile in ReRegisterGoodEquals [peter_firmstone] Make one field final in AbstractBaseTest Fix docs and make sure interrupt isn't swallowed in NonActivatableGroupImpl Make sure RandomStressTest stresses modern hardware by increasing the number of parts and tasks [peter_firmstone] Fixes for failing test ReRegisterGoodEquals and ReRegisterBadEquals [peter_firmstone] Update ASM from 3.2 to 5.0.1, although the library has been updated, no support for dependency resolution of Java 8 Language features has been implemented. [peter_firmstone] Fix for ServiceDiscoveryManager to correct issues with service added and removed event notification and service discard. [peter_firmstone] System property for Reggie, ensure it is actually visible to tests. Also ensure that if property is not set that Reggie throws the correct Exception, BindException during construction and not NullPointerException. [peter_firmstone] System property for Reggie, to allow use of an arbitrary unicast discovery port, if the configured port is in use, as suggested by Greg Trasuk on dev. This purpose of this property is primarily for test purposes, it is not enabled by default. [peter_firmstone] Allow a little more time for Solaris, on which two tests failed because the result was returned 9ms after the arbitrary time wait period limit. The two failing tests: com_sun_jini_test_spec_servicediscovery_lookup_LookupMinLessMax.td com_sun_jini_test_spec_servicediscovery_lookup_LookupMinLessMaxFilter.td [peter_firmstone] Prevent BindException during construction of Reggie by selecting an arbitrary port if the configured port is in use, an admin can use DiscoveryAdmin to change the Unicast Discovery port later if desired. [peter_firmstone] Prevent BindException during construction of Reggie by selecting an arbitrary port if the configured port is in use, an admin can use DiscoveryAdmin to change the Unicast Discovery port later if desired. [peter_firmstone] Ensure tasks calling addNotification with identical ServiceID's are not executed concurrently. [peter_firmstone] Add some latency into ServiceDiscoveryManager's ExecutorService to simulate TaskManager's contention, sufficient to allow wiring up of dependencies between tasks. [peter_firmstone] New dependency linking and call backs for JoinManager ProxyRegTask. Same dependency code. [peter_firmstone] New dependency linking and call backs for Reggie and SDM. Notes: SDM still has a race condition where more added service events are sent than required when rediscovering discarded services. ServiceRegistar compliance tests appear to require that services be notified in the same order that those services are registered with a registrar, this isn't documented in the spec, but may need to be complied with for backward compatibility. For now Reggie's event notification is single threaded to ensure these tests pass. TaskManager.Task.runAfter didn't make any direct dependency check for this additional requirement, instead the limited scalability of TaskManager ensured compliance. Reactivated previously failing tests. [peter_firmstone] Reactivate stress tests for Outrigger and turn up the heat. [peter_firmstone] These tests need to be reviewed for compliance with the following specifications: LU - JiniTM Lookup Service Specification EV - JiniTM Distributed Events Specification [peter_firmstone] RIVER-344 Implemented Comparable for all tasks relying on order, removed Comparator's to avoid unnecessarily adding to public API. Set up sensible defaults for ThreadPoolExecutor implementations of ExecutorService, this will cause some test failures for tests that make assumptions about serial event generation and delivery above and beyond the Jini Event specification, for Reggie, note these failures do not occur when ThreadPoolExecutors are configured to be single threaded. Documentation of configuration options to follow. [peter_firmstone] Minor alteration to Reggie, removed use of timed collection cache of AddressTask, replaced with a Set that ensures no duplicate AddressTask's run concurrently. Addressed some minor bugs and improvement suggestions identified by FindBugs in the QA test suite tests. [peter_firmstone] JoinManager - replace TaskManager with ExecutorService [peter_firmstone] Altered Configuration interface to support generics and Object NO_DEFAULT values for backward compatibility. Swallowed RuntimeException in WakeupManager to ensure compliance with WakeupManagerTaskExceptionTest. [peter_firmstone] Remove TaskManager from ServiceDiscoveryManager Fix some minor issues found with FindBugs Added generics to Config Added Added FutureObserver to support dependencies with RetryTask. Removed SynchronousExecutors and test case. [peter_firmstone] Add ExecutorService configuration options to Reggie. [peter_firmstone] Replaced TaskManager in Mahalo with ExecutorService RetryTask now implements RunnableFuture and can be returned from an ExecutorService for cancellation. Replaced JRMPExporter with BasicJeriExporter in the qa test suite's NonActivatibleGroupImpl Reduced logging output to FINEST in RFC3986URLClassLoader Added ExtensibleExecutorService to allow encapsulation and extension of ExecutorService's defined by Configuration [peter_firmstone] Started working on ScheduledExecutors to take advantage of a ScheduledExecutorService to allow sharing of a thread pool for tasks that have dependencies, require order and must not execute until their dependencies have completed. [peter_firmstone] Cleaned up synchronization and locking strategies and removed instances of synchronization while performing remote calls. Changed final fields to non final where "this" escaped during construction. Replaced TaskManager with ExecutorService where Task.runAfter was not required, TaskManager is still utilised by JoinManager, ServiceDiscoveryManager and the qa test framework. Changed TaskManager to accept Runnable and to check for Task instances. Changed RetryTask, pushed TaskManager.Task implementations to subclasses that used it. RetryTask is not compatible with Task.runAfter as documented in River-344. Added Generics to static configuration methods, to eliminate casts. Started working on ScheduledExecutors to take advantage of a ScheduledExecutorService to allow sharing of a thread pool for tasks that have dependencies, require order and must not execute until their dependencies have completed. [peter_firmstone] add hudson-jtreg to build script [peter_firmstone] Fix waiting too long after spurious wakeup. [peter_firmstone] After considerable testing using a multi threaded Executor and Runnable tasks to CAS an AtomicLong to generate 100% cpu load, no data races were found, it is suspected that Object.wait is subject to spurious wake-up's on some platforms when they are not contained within a loop that checks the present condition and this is causing the test failures: [peter_firmstone] Fix LeaseExpiration test synchronization Fix FiddlerImpl thread initialization Fix race condition in WakeupManagerTaskExceptionTest after test failure was experienced. Change logging in RFC3986URLClassLoader for parallel class loading to INFO. [peter_firmstone] Fix race condition in LeaseExpiration test by making field volatile Reduce gc thread timing for RegistrarImpl discovery announcement multicast request to two seconds to ensure timed references are cleared before 5 seconds duration, that recommended by the spec, the longer 3.5 second duration was probably resulting in lost announcement requests. NamedThreadFactory to provide improved debugging output by naming Executor threads. Renamed Commission to Startable. Added Parallel ClassLoading ability to RFC3986URLClassLoader, only to prevent class loader deadlock that is fixed in Java 7 for clients that need it. PreferredClassLoader doesn't require parallel class loading so doesn't support it. [peter_firmstone] Attempting to fix test failures on Windows Server 2008 R2 Jdk1.7.0_21, using Jenkins as test environment. [peter_firmstone] Attempting to fix test failures on Windows Server 2008 R2 Jdk1.7.0_21, using Jenkins as test environment. [peter_firmstone] Attempting to fix test failures on Windows Server 2008 R2 Jdk1.7.0_21, using Jenkins as test environment. [peter_firmstone] Attempting to fix test failures on Windows Server 2008 Jdk1.7.0_25, using Jenkins as test environment. Inspecting the code in QATestUtils, it appears that a spurious wakeup of a wait call might cause the failing tests to wait longer than intended, in this case it is possible that there isn't a visibility bug with Reggie, but instead it is actually canceling leases because they have expired. [peter_firmstone] Attempting to fix test failures on Windows Server 2008 Jdk1.7.0_25, using Jenkins as test environment, refactoring of RegistrarImpl [peter_firmstone] Attempting to fix test failures on Windows Server 2008 Jdk1.7.0_25, using Jenkins as test environment: Running com/sun/jini/test/spec/lookupservice/test_set00/MultipleEvntLeaseRenewals.td =============================== CALLING RUN() =============================== net.jini.core.lease.UnknownLeaseException: No event recorded for ID: 0 at com.sun.jini.reggie.RegistrarImpl.checkEvent(RegistrarImpl.java:5471) at com.sun.jini.reggie.RegistrarImpl.renewEventLeaseInt(RegistrarImpl.java:5566) at com.sun.jini.reggie.RegistrarImpl.renewEventLeaseDo(RegistrarImpl.java:5549) at com.sun.jini.reggie.RegistrarImpl.renewEventLease(RegistrarImpl.java:3268) at com.sun.jini.reggie.TransientRegistrarImpl.renewEventLease(TransientRegistrarImpl.java:29) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at net.jini.jeri.BasicInvocationDispatcher.invoke(BasicInvocationDispatcher.java:1134) at net.jini.jeri.BasicInvocationDispatcher.dispatch(BasicInvocationDispatcher.java:610) at com.sun.jini.jeri.internal.runtime.Target$2.run(Target.java:493) at net.jini.export.ServerContext.doWithServerContext(ServerContext.java:108) at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:490) at com.sun.jini.jeri.internal.runtime.Target.access$000(Target.java:57) at com.sun.jini.jeri.internal.runtime.Target$1.run(Target.java:466) at com.sun.jini.start.AggregatePolicyProvider$AggregateSecurityContext$2.run(AggregatePolicyProvider.java:593) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:463) at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:428) at com.sun.jini.jeri.internal.runtime.DgcRequestDispatcher.dispatch(DgcRequestDispatcher.java:210) at net.jini.jeri.connection.ServerConnectionManager$Dispatcher.dispatch(ServerConnectionManager.java:147) at com.sun.jini.jeri.internal.mux.MuxServer$1$1.run(MuxServer.java:244) at com.sun.jini.start.AggregatePolicyProvider$AggregateSecurityContext$1.run(AggregatePolicyProvider.java:579) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jini.jeri.internal.mux.MuxServer$1.run(MuxServer.java:241) at com.sun.jini.thread.ThreadPool$Task.run(ThreadPool.java:187) at com.sun.jini.thread.ThreadPool$Worker.run(ThreadPool.java:226) at java.lang.Thread.run(Thread.java:722) at com.sun.jini.jeri.internal.runtime.Util.__________EXCEPTION_RECEIVED_FROM_SERVER__________(Util.java:108) at com.sun.jini.jeri.internal.runtime.Util.exceptionReceivedFromServer(Util.java:101) at net.jini.jeri.BasicInvocationHandler.unmarshalThrow(BasicInvocationHandler.java:1303) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:832) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659) at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528) at com.sun.jini.reggie.$Proxy0.renewEventLease(Unknown Source) at com.sun.jini.reggie.EventLease.doRenew(EventLease.java:98) at com.sun.jini.lease.AbstractLease.renew(AbstractLease.java:83) at com.sun.jini.test.spec.lookupservice.QATestUtils.doRenewLease(QATestUtils.java:681) at com.sun.jini.test.spec.lookupservice.test_set00.MultipleEvntLeaseRenewals.run(MultipleEvntLeaseRenewals.java:193) at com.sun.jini.qa.harness.MasterTest.doTest(MasterTest.java:256) at com.sun.jini.qa.harness.MasterTest.main(MasterTest.java:144) TIME: 11:05:11 AM MasterTest.doTest INFO: ============================ CALLING TEARDOWN() ============================= [peter_firmstone] The existing implementation of ReadersWriter ensures exclusivity for writing threads,but makes no visibility guarantees for writes, as evidenced by test failures on Windows Server 2008 Jdk1.7.0_25: Running com/sun/jini/test/spec/lookupservice/test_set00/MultipleEvntLeaseRenewals.td =============================== CALLING RUN() =============================== net.jini.core.lease.UnknownLeaseException: No event recorded for ID: 0 at com.sun.jini.reggie.RegistrarImpl.checkEvent(RegistrarImpl.java:5471) at com.sun.jini.reggie.RegistrarImpl.renewEventLeaseInt(RegistrarImpl.java:5566) at com.sun.jini.reggie.RegistrarImpl.renewEventLeaseDo(RegistrarImpl.java:5549) at com.sun.jini.reggie.RegistrarImpl.renewEventLease(RegistrarImpl.java:3268) at com.sun.jini.reggie.TransientRegistrarImpl.renewEventLease(TransientRegistrarImpl.java:29) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at net.jini.jeri.BasicInvocationDispatcher.invoke(BasicInvocationDispatcher.java:1134) at net.jini.jeri.BasicInvocationDispatcher.dispatch(BasicInvocationDispatcher.java:610) at com.sun.jini.jeri.internal.runtime.Target$2.run(Target.java:493) at net.jini.export.ServerContext.doWithServerContext(ServerContext.java:108) at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:490) at com.sun.jini.jeri.internal.runtime.Target.access$000(Target.java:57) at com.sun.jini.jeri.internal.runtime.Target$1.run(Target.java:466) at com.sun.jini.start.AggregatePolicyProvider$AggregateSecurityContext$2.run(AggregatePolicyProvider.java:593) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:463) at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:428) at com.sun.jini.jeri.internal.runtime.DgcRequestDispatcher.dispatch(DgcRequestDispatcher.java:210) at net.jini.jeri.connection.ServerConnectionManager$Dispatcher.dispatch(ServerConnectionManager.java:147) at com.sun.jini.jeri.internal.mux.MuxServer$1$1.run(MuxServer.java:244) at com.sun.jini.start.AggregatePolicyProvider$AggregateSecurityContext$1.run(AggregatePolicyProvider.java:579) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jini.jeri.internal.mux.MuxServer$1.run(MuxServer.java:241) at com.sun.jini.thread.ThreadPool$Task.run(ThreadPool.java:187) at com.sun.jini.thread.ThreadPool$Worker.run(ThreadPool.java:226) at java.lang.Thread.run(Thread.java:722) at com.sun.jini.jeri.internal.runtime.Util.__________EXCEPTION_RECEIVED_FROM_SERVER__________(Util.java:108) at com.sun.jini.jeri.internal.runtime.Util.exceptionReceivedFromServer(Util.java:101) at net.jini.jeri.BasicInvocationHandler.unmarshalThrow(BasicInvocationHandler.java:1303) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:832) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659) at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528) at com.sun.jini.reggie.$Proxy0.renewEventLease(Unknown Source) at com.sun.jini.reggie.EventLease.doRenew(EventLease.java:98) at com.sun.jini.lease.AbstractLease.renew(AbstractLease.java:83) at com.sun.jini.test.spec.lookupservice.QATestUtils.doRenewLease(QATestUtils.java:681) at com.sun.jini.test.spec.lookupservice.test_set00.MultipleEvntLeaseRenewals.run(MultipleEvntLeaseRenewals.java:193) at com.sun.jini.qa.harness.MasterTest.doTest(MasterTest.java:256) at com.sun.jini.qa.harness.MasterTest.main(MasterTest.java:144) TIME: 11:05:11 AM MasterTest.doTest INFO: ============================ CALLING TEARDOWN() ============================= [peter_firmstone] Space in Windows command path caused test failure, use quotes. [peter_firmstone] Fix concurrency issue with AbstractLease subclasses. Created a new AbstractLeaseMap implementation that doesn't share internal state with subclasses. This commit for build.xml should have been included with previous. [peter_firmstone] Fix concurrency issue with AbstractLease subclasses. Created a new AbstractLeaseMap implementation that doesn't share internal state with subclasses. [peter_firmstone] Add permissions required for Java 1.7.0_25 and later and replace RMISecurityManager with CombinerSecurityManager in NonActivatableGroupImpl [peter_firmstone] Activate security debugging to find out which protection domain is missing permissions causing test failures. [peter_firmstone] Fix Mahalo's use of ConcurrentMap to utilise concurrent methods, originally Mahalo used HashMap, this was refactored to ConcurrentMap to ensure visibility between threads. [peter_firmstone] TakeTest05 shares unsynchronized Lists between threads, fix. - Note no related test failures have been observed, it is likely there are no issues as the List state is up to date when each new thread is started, it's just easier to ensure there are no problems by using a thread safe collection. [peter_firmstone] TransactionTakeTest05 shares unsynchronized collections between threads, fix. [peter_firmstone] RIVER-428 - trial use of another ClassLoader for tests. [peter_firmstone] Update to documentation in preparation for a preliminary release. [peter_firmstone] Update to documentation in preparation for a preliminary release. [peter_firmstone] Add missing permission for Outrigger proxy to read property for testing [peter_firmstone] Fix spelling [peter_firmstone] Revert default slop duration to 10 seconds as per River 2.2.2. This value was shortened to 1 second to assist synchronization / timing debugging during refactoring. [peter_firmstone] Update jsk-platform.jar manifest [peter_firmstone] RIVER-426 Support for SchemeSpecificPart with URIString normalization, patch contributed by Shawn Ellis [peter_firmstone] Update all instances of ReadersWriter to use ReadersPriorityWriter. ReadersPriorityWriter implementation is very similar to it's parent class ReadersWriter, however it utilizes Java 5 explicit locking and conditions to avoid waking all reader and writer threads, when only a writer can obtain the lock. This avoids warm reader threads from repeatedly synchronizing on the object lock, causing contention delays for the writer trying to obtain a write lock. [peter_firmstone] Security debugging of tests no longer needed [peter_firmstone] Fix tests failing on Java 1.7.0_25 linux, due to missing permission. [peter_firmstone] Reggie is having some concurrency issues on Windows Server 2008 and Java 7 (see qa refactoring tests on this platform), this new subclass of ReadersWriter, more accurately implements the original intent of the class by using multiple Conditions with an explicit lock. While I'm not expecting this to fix the concurrency issues, it rules out the case where a writer is unable to obtain a lock in order to wait for readers to finish. [peter_firmstone] Debug security test failures on some Java 7 platforms, to find out which ProtectionDomain is causing the security policy failures. [peter_firmstone] Tests failing on arm due to event not arriving before expiry, allow more time for events to arrive. ------------------------------------------ [...truncated 6759 lines...] A qa/src/org/apache/river/test/spec/url/httpmd/handler/HashCode.java A qa/src/org/apache/river/test/spec/url/httpmd/handler/GetDefaultPort.td A qa/src/org/apache/river/test/spec/url/httpmd/handler/OpenConnectionNonExistFile.td A qa/src/org/apache/river/test/spec/url/httpmd/handler/Equals.td A qa/src/org/apache/river/test/spec/url/httpmd/handler/OpenConnection.java A qa/src/org/apache/river/test/spec/url/httpmd/handler/ParseURL.td A qa/src/org/apache/river/test/spec/url/httpmd/handler/HashCode.td A qa/src/org/apache/river/test/spec/url/httpmd/handler/SameFile.java A qa/src/org/apache/river/test/spec/url/httpmd/handler/AbstractSameFile.java A qa/src/org/apache/river/test/spec/url/httpmd/handler/GetDefaultPort.java A qa/src/org/apache/river/test/spec/url/httpmd/handler/Equals.java A qa/src/org/apache/river/test/spec/url/httpmd/handler/OpenConnectionValidURL.td A qa/src/org/apache/river/test/spec/url/httpmd/handler/SameFile.td A qa/src/org/apache/river/test/spec/url/httpmd/util A qa/src/org/apache/river/test/spec/url/httpmd/util/TestHandler.java A qa/src/org/apache/river/test/spec/url/httpmd/wrongmdexc A qa/src/org/apache/river/test/spec/url/httpmd/wrongmdexc/WrongMDExceptionHandler.java A qa/src/org/apache/river/test/spec/url/httpmd/wrongmdexc/Constructor.td A qa/src/org/apache/river/test/spec/url/httpmd/wrongmdexc/WrongMDException.java A qa/src/org/apache/river/test/spec/url/httpmd/wrongmdexc/WrongMDExceptionHandler.td A qa/src/org/apache/river/test/spec/url/httpmd/wrongmdexc/WrongMDException.td A qa/src/org/apache/river/test/spec/url/httpmd/wrongmdexc/Constructor.java A qa/src/org/apache/river/test/spec/url/httpmd/httpmdutil A qa/src/org/apache/river/test/spec/url/httpmd/httpmdutil/ComputeDigest2Urls.td A qa/src/org/apache/river/test/spec/url/httpmd/httpmdutil/ComputeDigest.java A qa/src/org/apache/river/test/spec/url/httpmd/httpmdutil/ComputeDigest.td A qa/src/org/apache/river/test/spec/url/httpmd/httpmdutil/ComputeDigestCodebase.java A qa/src/org/apache/river/test/spec/url/httpmd/httpmdutil/ComputeDigest2Urls.java A qa/src/org/apache/river/test/spec/url/httpmd/httpmdutil/ComputeDigestCodebase.td A qa/src/org/apache/river/test/spec/url/httpmd/integrity A qa/src/org/apache/river/test/spec/url/httpmd/integrity/ProvidesIntegrity.java A qa/src/org/apache/river/test/spec/url/httpmd/integrity/ProvidesIntegrity.td A qa/src/org/apache/river/test/spec/url/https A qa/src/org/apache/river/test/spec/url/https/integrity A qa/src/org/apache/river/test/spec/url/https/integrity/ProvidesIntegrity.td A qa/src/org/apache/river/test/spec/url/https/integrity/ProvidesIntegrity.java A qa/src/org/apache/river/test/spec/url/url.properties A qa/src/org/apache/river/test/spec/url/util A qa/src/org/apache/river/test/spec/url/util/AbstractProvidesIntegrity.java A qa/src/org/apache/river/test/spec/txnmanager A qa/src/org/apache/river/test/spec/txnmanager/TwoPhaseTest.java A qa/src/org/apache/river/test/spec/txnmanager/PrepareTimeoutTest.td A qa/src/org/apache/river/test/spec/txnmanager/RollForwardErrorTest.td A qa/src/org/apache/river/test/spec/txnmanager/AbortThread.java A qa/src/org/apache/river/test/spec/txnmanager/CommitExpiredTest.td A qa/src/org/apache/river/test/spec/txnmanager/CommitTimeoutTest.java A qa/src/org/apache/river/test/spec/txnmanager/RollBackErrorTest.java A qa/src/org/apache/river/test/spec/txnmanager/PrepareTimeoutTest.java A qa/src/org/apache/river/test/spec/txnmanager/GetStateTest.td A qa/src/org/apache/river/test/spec/txnmanager/RollForwardErrorTest.java A qa/src/org/apache/river/test/spec/txnmanager/CommitExpiredTest.java A qa/src/org/apache/river/test/spec/txnmanager/AsynchAbortOnCommitTest.td A qa/src/org/apache/river/test/spec/txnmanager/JoinWhileActiveTest.td A qa/src/org/apache/river/test/spec/txnmanager/ManyParticipantsTest.td A qa/src/org/apache/river/test/spec/txnmanager/JoinIdempotentTest.td A qa/src/org/apache/river/test/spec/txnmanager/AsynchAbortOnPrepareTest.td A qa/src/org/apache/river/test/spec/txnmanager/txnmanager.properties A qa/src/org/apache/river/test/spec/txnmanager/GetStateTest.java A qa/src/org/apache/river/test/spec/txnmanager/CommitThread.java A qa/src/org/apache/river/test/spec/txnmanager/TwoPhaseTest.td A qa/src/org/apache/river/test/spec/txnmanager/AsynchAbortOnCommitTest.java A qa/src/org/apache/river/test/spec/txnmanager/JoinWhileActiveTest.java A qa/src/org/apache/river/test/spec/txnmanager/CommitTimeoutTest.td A qa/src/org/apache/river/test/spec/txnmanager/ManyParticipantsTest.java A qa/src/org/apache/river/test/spec/txnmanager/JoinIdempotentTest.java A qa/src/org/apache/river/test/spec/txnmanager/RollBackErrorTest.td A qa/src/org/apache/river/test/spec/txnmanager/AsynchAbortOnPrepareTest.java A qa/src/org/apache/river/test/spec/config A qa/src/org/apache/river/test/spec/config/util A qa/src/org/apache/river/test/spec/config/util/FakeClassLoader.java A qa/src/org/apache/river/test/spec/config/util/InterfaceTestComponent.java A qa/src/org/apache/river/test/spec/config/util/AbstractTestComponent.java A qa/src/org/apache/river/test/spec/config/util/DefaultTestComponent.java A qa/src/org/apache/river/test/spec/config/util/TestComponent.java A qa/src/org/apache/river/test/spec/config/nosuchentryexception A qa/src/org/apache/river/test/spec/config/nosuchentryexception/Constructor_Test.td A qa/src/org/apache/river/test/spec/config/nosuchentryexception/Constructor_Test.java A qa/src/org/apache/river/test/spec/config/configurationprovider A qa/src/org/apache/river/test/spec/config/configurationprovider/GetInstance_Test.java A qa/src/org/apache/river/test/spec/config/configurationprovider/ValidConfigurationWithoutDefaults.java A qa/src/org/apache/river/test/spec/config/configurationprovider/BadConstructorConfiguration.java A qa/src/org/apache/river/test/spec/config/configurationprovider/NonImplConfiguration.java A qa/src/org/apache/river/test/spec/config/configurationprovider/GetInstance_QATest.java A qa/src/org/apache/river/test/spec/config/configurationprovider/FakeURLClassLoader.java A qa/src/org/apache/river/test/spec/config/configurationprovider/GetInstance_ClassLoaderDenyTest.td A qa/src/org/apache/river/test/spec/config/configurationprovider/GetInstance_ClassLoaderTest.td A qa/src/org/apache/river/test/spec/config/configurationprovider/ValidConfiguration.java A qa/src/org/apache/river/test/spec/config/configurationprovider/GetInstance_Test.td A qa/src/org/apache/river/test/spec/config/configurationprovider/AbstractConfiguration.java A qa/src/org/apache/river/test/spec/config/configurationprovider/configurationProviderGetClassLoaderDeny.policy A qa/src/org/apache/river/test/spec/config/configurationprovider/GetInstance_ClassLoaderDenyTest.java A qa/src/org/apache/river/test/spec/config/configurationprovider/GetInstance_ClassLoaderTest.java A qa/src/org/apache/river/test/spec/config/configurationprovider/NonPublicConfiguration.java A qa/src/org/apache/river/test/spec/config/configurationnotfoundexception A qa/src/org/apache/river/test/spec/config/configurationnotfoundexception/Constructor_Test.java A qa/src/org/apache/river/test/spec/config/configurationnotfoundexception/Constructor_Test.td A qa/src/org/apache/river/test/spec/config/configurationexception A qa/src/org/apache/river/test/spec/config/configurationexception/ToString_Test.td A qa/src/org/apache/river/test/spec/config/configurationexception/Constructor_Test.java A qa/src/org/apache/river/test/spec/config/configurationexception/ToString_Test.java A qa/src/org/apache/river/test/spec/config/configurationexception/Constructor_Test.td A qa/src/org/apache/river/test/spec/config/emptyconfiguration A qa/src/org/apache/river/test/spec/config/emptyconfiguration/GetEntryInternal_Test.java A qa/src/org/apache/river/test/spec/config/emptyconfiguration/GetEntryInternal_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile A qa/src/org/apache/river/test/spec/config/configurationfile/Subclass_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/ToString_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/Template_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/Constructor_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/GetEntryNames_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/Syntax_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/GetEntryInternal_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/GetEntryNames_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/Constructor_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/Syntax_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/configurationfile.policy A qa/src/org/apache/river/test/spec/config/configurationfile/ConfigurationFileException.java A qa/src/org/apache/river/test/spec/config/configurationfile/GetSpecialEntry_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/GetEntryType_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/GetSpecialEntryType_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/GetEntryInternal_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/ToString_Test.td A qa/src/org/apache/river/test/spec/config/configurationfile/FakeConfigurationFile.java A qa/src/org/apache/river/test/spec/config/configurationfile/SubclassExceptionTest.java A qa/src/org/apache/river/test/spec/config/configurationfile/GetSpecialEntry_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/GetEntryType_Test.java A qa/src/org/apache/river/test/spec/config/configurationfile/GetSpecialEntryType_Test.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration A qa/src/org/apache/river/test/spec/config/abstractconfiguration/FakeAbstractConfiguration.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration/Constructor_Test.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration/ValidQualifiedIdentifier_Test.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration/GetEntry_Test.td A qa/src/org/apache/river/test/spec/config/abstractconfiguration/ValidIdentifier_Test.td A qa/src/org/apache/river/test/spec/config/abstractconfiguration/primitive A qa/src/org/apache/river/test/spec/config/abstractconfiguration/primitive/Methods_Test.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration/primitive/Constructor_Test.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration/primitive/Methods_Test.td A qa/src/org/apache/river/test/spec/config/abstractconfiguration/primitive/Constructor_Test.td A qa/src/org/apache/river/test/spec/config/abstractconfiguration/Constructor_Test.td A qa/src/org/apache/river/test/spec/config/abstractconfiguration/ValidQualifiedIdentifier_Test.td A qa/src/org/apache/river/test/spec/config/abstractconfiguration/ValidCheck_Test.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration/GetEntry_Test.java A qa/src/org/apache/river/test/spec/config/abstractconfiguration/ValidIdentifier_Test.java A qa/src/org/apache/river/test/support A qa/src/org/apache/river/test/support/FullLoggingFilter.java A qa/src/org/apache/river/test/support/MulticastOverrideProvider.java A qa/src/org/apache/river/test/support/FullLoggingVerifier.java A qa/src/org/apache/river/qa A qa/src/org/apache/river/qa/resources A qa/src/org/apache/river/qa/resources/basicDeployment.prop A qa/src/org/apache/river/qa/resources/qaDefaults.properties A qa/src/org/apache/river/qa/harness A qa/src/org/apache/river/qa/harness/IsSuspendedRequest.java A qa/src/org/apache/river/qa/harness/SkipSolarisHttpTestVerifier.java A qa/src/org/apache/river/qa/harness/KillerImpl.java A qa/src/org/apache/river/qa/harness/TestRun.java A qa/src/org/apache/river/qa/harness/SharedVMVerifier.java A qa/src/org/apache/river/qa/harness/PingRequest.java A qa/src/org/apache/river/qa/harness/StoreOverrideProvider.java A qa/src/org/apache/river/qa/harness/TestResult.java A qa/src/org/apache/river/qa/harness/ActivatableServiceStarterAdmin.java A qa/src/org/apache/river/qa/harness/GroupImpl.java A qa/src/org/apache/river/qa/harness/Test.java A qa/src/org/apache/river/qa/harness/SkipLinuxTestVerifier.java A qa/src/org/apache/river/qa/harness/StartClassServerRequest.java A qa/src/org/apache/river/qa/harness/TestDescription.java A qa/src/org/apache/river/qa/harness/InboundAutotRequest.java A qa/src/org/apache/river/qa/harness/OutboundAutotRequest.java A qa/src/org/apache/river/qa/harness/VMKiller.java A qa/src/org/apache/river/qa/harness/QATestEnvironment.java A qa/src/org/apache/river/qa/harness/QAConfig.java A qa/src/org/apache/river/qa/harness/QARunner.java A qa/src/org/apache/river/qa/harness/TestStatusRequest.java A qa/src/org/apache/river/qa/harness/TestException.java A qa/src/org/apache/river/qa/harness/SlaveHarness.java A qa/src/org/apache/river/qa/harness/HtmlReport.java A qa/src/org/apache/river/qa/harness/ListExclusionVerifier.java A qa/src/org/apache/river/qa/harness/ServiceDestroyer.java A qa/src/org/apache/river/qa/harness/SkipTestVerifier.java A qa/src/org/apache/river/qa/harness/SkipDistributedVerifier.java A qa/src/org/apache/river/qa/harness/SkipPostJDK14TestVerifier.java A qa/src/org/apache/river/qa/harness/SlaveTestRequest.java A qa/src/org/apache/river/qa/harness/AdminAccessorRequest.java A qa/src/org/apache/river/qa/harness/MainWrapper.java A qa/src/org/apache/river/qa/harness/HarnessFormatter.java A qa/src/org/apache/river/qa/harness/Admin.java A qa/src/org/apache/river/qa/harness/SkipConfigTestVerifier.java A qa/src/org/apache/river/qa/harness/NonActivatableServiceStarterAdmin.java A qa/src/org/apache/river/qa/harness/AutotHost.java A qa/src/org/apache/river/qa/harness/TeardownRequest.java A qa/src/org/apache/river/qa/harness/SkipNonSunJDKTestVerifier.java A qa/src/org/apache/river/qa/harness/XmlReport.java A qa/src/org/apache/river/qa/harness/FailureAnalyzer.java A qa/src/org/apache/river/qa/harness/LegacyTest.java A qa/src/org/apache/river/qa/harness/AutotRequest.java A qa/src/org/apache/river/qa/harness/ClassServerAdmin.java A qa/src/org/apache/river/qa/harness/ServiceListRequest.java A qa/src/org/apache/river/qa/harness/KillVMRequest.java A qa/src/org/apache/river/qa/harness/ReportHandler.java A qa/src/org/apache/river/qa/harness/TestList.java A qa/src/org/apache/river/qa/harness/HarnessRequest.java A qa/src/org/apache/river/qa/harness/NonActivatableGroupAdmin.java A qa/src/org/apache/river/qa/harness/ServiceDescriptorTransformer.java A qa/src/org/apache/river/qa/harness/AdminManager.java A qa/src/org/apache/river/qa/harness/SkipMacTestVerifier.java A qa/src/org/apache/river/qa/harness/RemoteServiceAdmin.java A qa/src/org/apache/river/qa/harness/StartServiceRequest.java A qa/src/org/apache/river/qa/harness/MainTestDescription.java A qa/src/org/apache/river/qa/harness/NonActivatableGroupImpl.java A qa/src/org/apache/river/qa/harness/OverrideProvider.java A qa/src/org/apache/river/qa/harness/MasterTest.java A qa/src/org/apache/river/qa/harness/Pipe.java A qa/src/org/apache/river/qa/harness/AbstractServiceAdmin.java A qa/src/org/apache/river/qa/harness/ResumeRunRequest.java A qa/src/org/apache/river/qa/harness/InboundCallsEnabledRequest.java A qa/src/org/apache/river/qa/harness/Resolver.java A qa/src/org/apache/river/qa/harness/ConfigurationVerifier.java A qa/src/org/apache/river/qa/harness/TestEnvironment.java A qa/src/org/apache/river/qa/harness/NonActivatableGroup.java A qa/src/org/apache/river/qa/harness/UnsharedVMVerifier.java A qa/src/org/apache/river/qa/harness/RunningServiceAdmin.java A qa/src/org/apache/river/qa/harness/SlaveTest.java A qa/src/org/apache/river/qa/harness/SetDynamicParameterRequest.java A qa/src/org/apache/river/qa/harness/AddOverrideProviderRequest.java A qa/src/org/apache/river/qa/harness/DeleteRegisteredFilesRequest.java A qa/src/org/apache/river/qa/harness/HeartOfTheMachine.java A qa/src/org/apache/river/qa/harness/StopServiceRequest.java A qa/src/org/apache/river/qa/harness/MasterHarness.java A qa/src/org/apache/river/qa/harness/ActivationSystemAdmin.java A qa/src/org/apache/river/qa/harness/DestroyThread.java A qa/src/org/apache/river/qa/harness/SlaveRequest.java A qa/src/org/apache/river/qa/harness/Timeout.java A qa/src/org/apache/river/qa/harness/QAConfiguration.java A qa/src/org/apache/river/qa/harness/SharedGroupAdmin.java A qa/src/org/apache/river/qa/harness/MergedPolicyProvider.java A doap_river.rdf U . At revision 1717934 FATAL: Cannot find executable from the chosen Ant installation "Ant 1.7.0" Build step 'Invoke Ant' marked build as failure Archiving artifacts Updating RIVER-344 Updating RIVER-426 Updating RIVER-336 Updating RIVER-439 Updating RIVER-428 Recording test results ERROR: Publisher 'Publish JUnit test result report' failed: No test report files were found. Configuration error? Publishing Javadoc