Bug 1168171 - Business-central fails to deploy on EWS
Summary: Business-central fails to deploy on EWS
Keywords:
Status: CLOSED EOL
Alias: None
Product: JBoss BRMS Platform 6
Classification: Retired
Component: Business Central
Version: 6.1.0
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ER3
: 6.1.0
Assignee: Petr Kočandrle
QA Contact: Lukáš Petrovický
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-11-26 10:25 UTC by Zuzana Krejčová
Modified: 2020-03-27 19:38 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-03-27 19:38:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
catalina.out (20.24 KB, text/plain)
2014-11-26 10:25 UTC, Zuzana Krejčová
no flags Details
thread dump (23.84 KB, text/plain)
2014-11-26 10:25 UTC, Zuzana Krejčová
no flags Details
catalina.out when the deployment hangs (29.73 KB, text/plain)
2014-11-26 11:43 UTC, Marek Winkler
no flags Details

Description Zuzana Krejčová 2014-11-26 10:25:18 UTC
Created attachment 961559 [details]
catalina.out

Description of problem:
Tested on: EWS 2.1, tomcat 7.
We use a custom java.io.tmpdir and maven repositories (-Dkie.maven.settings.custom, it seems to be ignored though), h2 database.

Business-central fails to deploy - on my machine, it fails with:
org.jboss.weld.exceptions.WeldException: WELD-000049 Unable to invoke [method] @PostConstruct public org.kie.workbench.drools.backend.server.AppSetup.assertPlayground() on org.kie.workbench.drools.backend.server.AppSetup@713e847
...
Caused by: org.jboss.weld.exceptions.WeldException: WELD-000049 Unable to invoke [method] @PostConstruct public org.guvnor.structure.backend.repositories.RepositoryServiceImpl.loadRepositories() on ...
Caused by: org.jboss.weld.exceptions.WeldException: WELD-000049 Unable to invoke [method] @PostConstruct public org.guvnor.structure.backend.config.ConfigurationServiceImpl.setup() on ...
Caused by: java.util.NoSuchElementException
	at java.util.ArrayList$Itr.next(ArrayList.java:834)
	at org.uberfire.java.nio.fs.jgit.JGitFileSystem$1$1.next(JGitFileSystem.java:191)
	at org.uberfire.java.nio.fs.jgit.JGitFileSystem$1$1.next(JGitFileSystem.java:170)
	at org.guvnor.structure.backend.config.ConfigurationServiceImpl.setup(ConfigurationServiceImpl.java:102)
On jenkins, the deployment hangs in (info courtesy of jstack):
...
at java.net.SocketInputStream.read(SocketInputStream.java:152)
...
at org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl$Proxy$_$$_WeldClientProxy.bootstrapDeployments(AdministrationServiceImpl$Proxy$_$$_WeldClientProxy.java)
at org.kie.workbench.drools.backend.server.AppSetup.assertPlayground(AppSetup.java:172)
...

Full catalina.out log file from my machine and a thread dump taken by mwinkler can be found in attachments.



Version-Release number of selected component (if applicable):
BRMS/BPMS 6.1.0 ER2

Comment 1 Zuzana Krejčová 2014-11-26 10:25:41 UTC
Created attachment 961560 [details]
thread dump

Comment 2 Marek Winkler 2014-11-26 11:43:11 UTC
Created attachment 961616 [details]
catalina.out when the deployment hangs

Regarding the case when deployment of business-central hangs, the last line in the log is

2014-11-26 12:37:02,729 [localhost-startStop-1] INFO  Found guvnor asset management deployment unit org.guvnor:guvnor-asset-mgmt-project:6.2.0.redhat-1 [strategy=SINGLETON] attempting to deploy it

Attaching catalina.out with the complete log.

Comment 3 Kris Verlaenen 2014-11-26 13:10:15 UTC
Could this be a side-effect of https://bugzilla.redhat.com/show_bug.cgi?id=1167634 ?

It seems disabling the playground installation is not working in 6.1.0.ER2, and the error seems to occur during assertPlayground.

Could you try with -Dorg.kie.demo=false to see if the same issue still exists?

Comment 4 Zuzana Krejčová 2014-11-26 13:41:53 UTC
(In reply to Kris Verlaenen from comment #3)
> Could this be a side-effect of
> https://bugzilla.redhat.com/show_bug.cgi?id=1167634 ?
> 
> It seems disabling the playground installation is not working in 6.1.0.ER2,
> and the error seems to occur during assertPlayground.
> 
> Could you try with -Dorg.kie.demo=false to see if the same issue still
> exists?

No, as Marek pointed out, the 'hanging' issue (at the very least) is due to the automatic deployment of guvnor-asset-mgmt-project - for the new asset management feature.

I tried disabling demos on my machine, it didn't help at all.

Comment 5 Marek Winkler 2014-11-26 17:22:07 UTC
The 'hanging' issue has been caused by the Maven settings.xml configuration we use in our tests, so we managed to get past this problem and business-central gets deployed on EWS. It seems the problem has been caused by these facts:

1. we run business-central with kie.maven.settings.custom property set to settings.xml with an active profile containing: 

      <repositories>
        <repository>
          <id>kie-wb-m2-repo</id>
          <name>KIE-WB M2 Repo</name>
          <url>http://localhost:8080/business-central/maven2</url>
          <snapshots>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>

  We are NOT sure if this configuration is needed any more (if I recall correctly, we needed it in our cluster tests), will need to investigate that. Any thoughts from engineering would help.

2. during deployment, business-central logs the following and hangs (with the formerly attached thread dump):

2014-11-26 12:37:02,729 [localhost-startStop-1] INFO  Found guvnor asset management deployment unit org.guvnor:guvnor-asset-mgmt-project:6.2.0.redhat-1 [strategy=SINGLETON] attempting to deploy it

 At this point, business-central tries to build and deploy 'guvnor-asset-mgmt-project'. Looking at its pom.xml, it has a parent - 'guvnor-asset-mgmt' - and business-central tries to download this parent pom using KIE-CI, which in turn searches repositories defined in settings.xml, namely http://localhost:8080/business-central/maven2.

 It seems that EWS accepts the HTTP connection made by KIE-CI, but it returns no response (probably because the servlet is not properly initialized yet) and KIE-CI (namely aether) hangs. It is also reflected in the local business-central maven repo, which contains .lock file for the parent pom artifact and the downloaded pom has the size of 0 bytes. 
 This seems to be the difference from EAP which probably does not accept the KIE-CI connection at all; KIE-CI is then unable to resolve the parent pom (but does not hang), falls back to the org.drools.compiler.kproject.xml.MinimalPomParser and builds and deploys the project sucessfully.

3. when we disabled the profile from 1) with the business-central's repository in settings.xml, business-central deployed fine on EWS.

The questions are:

a) does the above description make sense from engineering point of view?

b) do we need to configure the business-central repository in settings.xml in order for the business-central to be able to download artifacts from it (e.g. in a cluster environment)?

c) can anything be done to prevent the EWS hanging in the case of (probably) wrong configuration (assuming answer to b) is "no")? Or the maximum that could be done is just to document that?

Meanwhile, we will investigate further - run other tests and see if the problem was completely solved or not.

Thanks for any thoughts!

Comment 8 manstis 2014-11-27 09:15:02 UTC
My gut feeling is that guvnor-asset-mgmt-project does not need a parent POM; it is meant to be self contained JAR containing rule and process definitions. I am investigating further. Looking at the POM for this JAR I suspect it has been the victim of excessive copy and paste from other modules.

Comment 26 Zuzana Krejčová 2014-12-17 12:04:11 UTC
Verified - with business-central set (via Maven settings.xml configuration) to look into the product repository first.


Note You need to log in before you can comment on or make changes to this bug.