Hi all,

Let me provide a short update on this:

I created [STANBOL-1208](https://issues.apache.org/jira/browse/STANBOL-1208)
describing this.

After updating to the most current  Apache Commons HTTP I was able to
reproduce a state as described by Andreas that tests are executing
(and failing) before the server is ready.

For me that was caused by the new version of Apache Commons HTTP is
now trowing a different Exception and therefore the @Before method of
the StanbolTestBase fails instead of catching the Exception and
retrying the request. In other words - an unexpected Exception is
causing the Reetry-Loop to be exits and tests to fail without waiting
for the Server to be ready.

With [revision 1539963](http://svn.apache.org/r1539963) I fixed this
for me by catching all ConnectionExceptions instead of
HttpHostConnectException. @Andreas this might also fix your problem.
If not you could try to change StanbolTestBase@177 to catch all
Exceptions and try again.

best
Rupert


On Fri, Oct 18, 2013 at 12:52 PM, Rupert Westenthaler
<rupert.westentha...@gmail.com> wrote:
> Hi Andreas, all
>
> Andreas was sending me several mails with log files for further
> tracing down his problem. With this mail I will try to summarize the
> current state.
>
> This mail discusses logs in the error.log file after running the
> integration-tests. This file can be found at
>
>      integration-tests/target/launchdir/stanbol/logs/error.log
>
> and is about 420MByte after a full run of all tests.
>
> As for Andreas tests of the Entityhub ReferencedSite and SiteManager
> Tests are failing the following analysis does focus on those
> components
>
> The following log entries show that the Referenced Site for DBpedia is 
> started:
>
> 17.10.2013 23:22:56.069 *DEBUG* [Thread-47]
> org.apache.stanbol.entityhub.core.impl.ReferencedSiteComponent >
> update ReferencedSite service:
> 17.10.2013 23:22:56.069 *DEBUG* [Thread-47]
> org.apache.stanbol.entityhub.core.impl.ReferencedSiteComponent  -
> validate available services:
> 17.10.2013 23:22:56.069 *DEBUG* [Thread-47]
> org.apache.stanbol.entityhub.core.impl.ReferencedSiteComponent     ...
> all required Services present.
> 17.10.2013 23:22:56.069 *INFO* [Thread-47]
> org.apache.stanbol.entityhub.core.impl.ReferencedSiteComponent  -
> register ReferencedSite 'dbpedia'
>
> and the Site is also registered with the SiteManager
>
> 17.10.2013 23:22:56.246 *DEBUG* [Thread-47]
> org.apache.stanbol.entityhub.core.impl.SiteManagerImpl  ... binding
> ReferencedSite dbpedia
>
> Also unregistration after the tests is working as expected
>
> 17.10.2013 23:29:51.639 *DEBUG* [FelixStartLevel]
> org.apache.stanbol.entityhub.core.impl.ReferencedSiteComponent >
> update ReferencedSite service:
> 17.10.2013 23:29:51.639 *DEBUG* [FelixStartLevel]
> org.apache.stanbol.entityhub.core.impl.ReferencedSiteComponent   -
> unregister ReferencedSite 'dbpedia'
>
> That indicates that on the Component level everything works fine!
>
> On the RESTful services level we need to have a look at the JAX-RS
> resources handling the requests sent by the integration test
>
> Here we see a lot of entries such as
>
> 17.10.2013 23:22:52.705 *DEBUG* [483542560@qtp-909268873-7]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
> <init> with site dbpedia
> 17.10.2013 23:22:52.705 *ERROR* [483542560@qtp-909268873-7]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
> Site dbpedia not found (no referenced site with that ID is present
> within the Entityhub
>
> Those ERRORs are expected as the 'dbpedia' site is only registered at
> timecode '23:22:56.069'. As expected Requests sent after that are
> correctly handled.
>
> 17.10.2013 23:24:51.967 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.commons.security.auth.AuthenticatingFilter
> filtering request
> 17.10.2013 23:24:51.968 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.commons.httpqueryheaders.OverwriteableHeaderHttpServletRequest
> Accept Header [text/rdf+nt]=null (was '{}')
> 17.10.2013 23:24:51.968 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
> <init> with site dbpedia
> 17.10.2013 23:24:51.970 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
> site/dbpedia/entity Request
> 17.10.2013 23:24:51.970 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
>   > id       : http://dbpedia.org/resource/Paris
> 17.10.2013 23:24:51.970 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
>   > accept   : [text/rdf+nt]
> 17.10.2013 23:24:51.970 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
>   > mediaType: null
> 17.10.2013 23:24:51.970 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.jersey.resource.ReferencedSiteRootResource
> handle Request for Entity http://dbpedia.org/resource/Paris of Site
> dbpedia
> 17.10.2013 23:24:51.972 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.yard.solr.impl.SolrYard Create
> Representation http://dbpedia.org/resource/Paris from SolrDocument
> 17.10.2013 23:24:51.973 *DEBUG* [1540499998@qtp-909268873-11]
> org.apache.stanbol.entityhub.yard.solr.impl.SolrYard   ... done
> [retrieve=2ms|create=1ms|sum=3ms]
>
>
> Still the above Errors do indicate a problem:
>
> The Integration-Test is supposed to wait until the Server is up and
> running before sending Requests. In the case of the Integration-Tests
> for the Entityhub this is ensured by
>
> 1. the EntityhubTestBase querying the SiteManager endpoint
> (entityhub/sites) for the available sites
> 2. the extending tests to provide a list of required Sites - in case
> of the ReferencedSiteTest 'dbpedia'
>
> However note that there are NO requests sent to the referenced site
> endpoint. So why does the log show
>
>     *ERROR* [..] ReferencedSiteRootResource Site dbpedia not found [..]
>
> This can only happen if the Integration-Test starts with the test
> without waiting for the Site to become available. What is most likely
> caused by a bug in the test itself.
>
> I have also an idea why only Andreas is affected by this. I compared
> the logs of Andreas with those of my local machine and discovered that
> the tests are executed in a different oder. While in my environment
> all the Stanbol Enhancer tests where executed first and gave the
> Entityhub enough time for initialization. With Andreas environment the
> Entityhub tests where first executed what caused them to fail.
>
> On a side note: Also the Enhancer tests do depend on the dbpedia
> ReferencedSite. So most likely the check for availability of the
> Entityhub does work for those tests otherwise I should run in similar
> issues causing Enhancer tests to fail.
>
> Will keep you updated
> best
> Rupert
>
> --
> | Rupert Westenthaler             rupert.westentha...@gmail.com
> | Bodenlehenstraße 11                             ++43-699-11108907
> | A-5500 Bischofshofen



-- 
| Rupert Westenthaler             rupert.westentha...@gmail.com
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen

Reply via email to