Hide Forgot
Description of problem: It seems like the "Automatically Configure Branches" option when creating a Managed Git Branch is not working properly in BRMS 6.2. After checking this option, only the master branch is created. "Dev" and "Release" branches are not created and there is a warn message in server.log: 10:44:46,286 WARN [org.jbpm.executor.impl.AbstractAvailableJobsExecutor] (EJB default - 8) Error during command org.guvnor.asset.management.backend.command.CreateBranchCommand error message Unknown Command implementation with name 'org.guvnor.asset.management.backend.command.CreateBranchCommand': java.lang.IllegalArgumentException: Unknown Command implementation with name 'org.guvnor.asset.management.backend.command.CreateBranchCommand' at org.jbpm.executor.impl.ClassCacheManager.findCommand(ClassCacheManager.java:60) [jbpm-executor-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] ... It happens everytime you try to create a managed repo with that option enabled in BRMS 6.2. In BPM Suite 6.2, it happens only at first time in a fresh installation... next managed repos can be created properly. Version-Release number of selected component (if applicable): BRMS 6.2 How reproducible: Always Steps to Reproduce (BRMS 6.2): 1. Install BRMS 6.2; 2. Create a Managed Repository; 3. Check in "Automatically Configure Branches" option; 4. Click on Next button. Actual results (BRMS 6.2): It will throw a warn message in server log and the further repos (dev and release) will not be created. Go to the Authoring -> Project Authoring -> Select the managed repo. The button that should display other branches is not there. Steps to Reproduce (BPM Suite 6.2): 1. Install BPM Suite 6.2; 2. Create a Managed Repository; 3. Check in "Automatically Configure Branches" option; 4. Click on Next button. You will face the same issue reproduce in BRMS 6.2. 5. Now repeat steps from 2-4. Now you should be able to create the managed repo and see the dev and release branches created properly. Expected results: It should be created properly in both Products at first time successfully. Additional info:
@maciejs, I've assigned to you as the Command Class (org.guvnor.asset.management.backend.command.CreateBranchCommand) is in guvnor and I'm at a loss why org.jbpm.executor.impl.AbstractAvailableJobsExecutor may be failing to find it (I recall we had some issues with different instances of AbstractAvailableJobsExecutor needing different DataSources, but AFAIK we only have one "out of the box"?). Would you mind taking a look?
two questions: - is there kie server deployed to the same server? - can we get complete stack trace?
Created attachment 1123215 [details] server_brms.log
Hi Maciej, - is there kie server deployed to the same server? I am checking it with customer. But in my tests it is deployed to the same server. It is easy to reproduce. - can we get complete stack trace? I have attached the logs generated from my tests. Thanks in advance!
the reason why it fails is because you have both brms and kie server configured with same data base and thus kie server might executor pick up jobs submitted by brms. In general kie server and business central should not share db due to that exact issue. So there are two options: - if you don't use kie server undeploy it - if you use kie server, configure it with different data base (via different data source) do you mind verifying that since you can easily reproduce it?
Maciej, After undeploying the kie-server, it worked well. Is it a bug? Should I keep these BZs opened? Thanks!
it is not a bug as kie server should not use same db but leave it open I'll enhance asset mgmt processes to include owner id so only executor from workbench will be able to pick these jobs.
Maciej, this happens with *out of the box* configuration, which imho is a bug. If you are saying that kie-server.war and business-central.war should not use the same database, then let's make sure our product is not configured out-of-the-box with the same database. For example, we could ship following in a standalone.xml: <datasource jndi-name="java:jboss/datasources/KieServer" pool-name="KieServerDS" enabled="true" use-java-context="true"> <connection-url>jdbc:h2:mem:kieServer;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url> <driver>h2</driver> <security> <user-name>sa</user-name> <password>sa</password> </security> </datasource> And then change this line [1]: persistenceProperties.put("javax.persistence.jtaDataSource", config.getConfigItemValue(KieServerConstants.CFG_PERSISTANCE_DS, "java:jboss/datasources/ExampleDS")); with persistenceProperties.put("javax.persistence.jtaDataSource", config.getConfigItemValue(KieServerConstants.CFG_PERSISTANCE_DS, "java:jboss/datasources/KieServer")); And of course, document this behavior in product doc. Cheers, Anton [1] https://github.com/droolsjbpm/droolsjbpm-integration/blob/master/kie-server-parent/kie-server-services/kie-server-services-jbpm/src/main/java/org/kie/server/services/jbpm/JbpmKieServerExtension.java#L460
Anton, engineering is not providing installer so it's out of my controller. If you like to have this please create BZ for installer.
asset mgmt processes have been altered to make sure only same instance that created it will process them in background so it fixes that kie server will pick up these jobs guvnor master: https://github.com/droolsjbpm/guvnor/commit/44651ca6a7fa8b147212302b4f47e8408b91c7ad 6.4.x: https://github.com/droolsjbpm/guvnor/commit/dbc8e0969306c02023d6381eec70a8ab1119ebee
Verified for BRMS 6.3.0.ER2.