Bug 1115454
Summary: | BPM produces verbose WARN messages when configured with Oracle 11 | ||
---|---|---|---|
Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Anton Giertli <agiertli> |
Component: | Documentation | Assignee: | Vikram Goyal <vigoyal> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Jiri Svitak <jsvitak> |
Severity: | medium | Docs Contact: | Vikram Goyal <vigoyal> |
Priority: | medium | ||
Version: | 6.0.2 | CC: | agiertli, brms-docs, dvanbale, jsvitak, kverlaen, mbaluch, mrietvel, mswiders, ravindra.tubati |
Target Milestone: | CR2 | ||
Target Release: | 6.1.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-04-16 01:33:54 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Anton Giertli
2014-07-02 12:01:07 UTC
workaround (standalone.xml): <logger category="org.hibernate.loader"> <level name="ERROR"/> </logger> I can confirm this issue in BPMS 6.0.2.GA. This comes form jbpm executor that queries for available jobs with locks. While it tries to get only first available job it will use the first and max result setting on pa query and by that can be seen as doing paging. And because of that it runs into this issue on hibernate side: https://hibernate.atlassian.net/browse/HHH-1168 the reason why it does locking is to minimalize race conditions between executor threads or executor instances in the cluster. Otherwise they might be fetching same job on different threads/server instance of a cluster. While it does not cause any issues it might cause some race conditions on Oracle due to this follow up locking which happens in second query. Since that is oracle specific we cannot change it to anything that will work same way for all data bases. I see two options: 1. we stick with what we have now and change logger level for deployments on oracle 2. we change implementation to not lock the result of the query that fetches job to execute and let the executor threads/server instances fail randomly on optimistic lock exception due to multiple threads trying to get the same job for processing. Personally I am in favor of using option 1 as it brings much better execution semantic on other data base and affects slightly oracle based deployments. While second one will affect all data bases. Moreover second will have higher rate of occurrences when more threads of executor are in use. For default it won't make bigger difference as there is single executor thread running. I believe that we shouldn't introduce changes in our code base that might have negative effects. +1 for documenting the logging workaround. *** Bug 1178849 has been marked as a duplicate of this bug. *** This is a common issue with hibernate: http://stackoverflow.com/questions/22712195/hibernate-warning-about-follow-on-locking-using-oracle-10g The hibernate team has opened a jira to address this issue: https://hibernate.atlassian.net/browse/HHH-9097 Jiri or Anton, given comment 11, would it be okay to close this, since it's an issue with Hibernate and not the BPM suite? Marco, I think it would be more suitable to re-assign this to the Doc Team. I would like to see the root cause and the configuration workaround in the Installing or Administration guide. What do you think? Or you would like to open a new BZ for that? Anton. Anton, good idea: please do! Thanks. Vikram, I have re-assigned this BZ to you as it requires doc update - either installing or admin guide. Users needs to be aware that when Oracle DB is used, the verbose logging(as showed in initial description) is expected behavior (as explained in comment 8) with possible workaround as explained in comment 2. Cheers, Anton Thanks Anton. Changing component to Documentation. Thanks Anton, Added a note in the Installation Guide for BPM Suite in the chapter: Setting up Persistence for Business Central. For the 6.1 Guides. This can be reviewed here [1]. Not setting this to ON_QA but directly to CLOSED-->NEXTRELEASE. [1] https://documentation-devel.engineering.redhat.com/site/documentation/en-US/Red_Hat_JBoss_BPM_Suite/6.1/html-single/Installation_Guide/index.html#Setting_up_Persistence_for_Business_Central |