[ https://issues.apache.org/jira/browse/OFBIZ-11204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16945152#comment-16945152 ]
Mathieu Lirzin edited comment on OFBIZ-11204 at 10/5/19 9:04 PM: ----------------------------------------------------------------- Hello Gil, I have tried [^OFBIZ-11204.patch] on {{trunk}} but when running {{gradlew}} I get a compile error with the following message: {code} ... /home/mthl/src/ofbiz/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java:597: error: exception GenericServiceException is never thrown in body of corresponding try statement } catch (GenericServiceException e) { ^ 1 error 8 warnings > Task :compileJava FAILED {code} Have you the same issue on your side? was (Author: mthl): Hello Gil, I have tried [^OFBIZ-11204.patch] but when running {{gradlew}} I get a compile error with the following message: {code} ... /home/mthl/src/ofbiz/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java:597: error: exception GenericServiceException is never thrown in body of corresponding try statement } catch (GenericServiceException e) { ^ 1 error 8 warnings > Task :compileJava FAILED {code} Have you the same issue on your side? > Remove unwanted error log by `ServiceSemaphore` waiting process > --------------------------------------------------------------- > > Key: OFBIZ-11204 > URL: https://issues.apache.org/jira/browse/OFBIZ-11204 > Project: OFBiz > Issue Type: Improvement > Components: framework > Affects Versions: Trunk > Reporter: Gil Portenseigne > Assignee: Gil Portenseigne > Priority: Minor > Attachments: OFBIZ-11204.patch > > > When a lot of semaphore configured service instances are running in a short > period, multiple errors of this type are logged : > {code:none} > // | 2019-09-19 14:47:44.000 | 2019-09-19 16:47:44,692 |OFBiz-JobQueue-2 > |GenericDelegator |E| Failure in create operation for entity > [ServiceSemaphore]: org.apache.ofbiz.entity.GenericEntityException: Error > while inserting: [GenericEntity:ServiceSemaphore][createdStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][createdTxStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lastUpdatedStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lastUpdatedTxStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lockThread,OFBiz-JobQueue-2(java.lang.String)][lockTime,2019-09-19 > > 16:47:44.676(java.sql.Timestamp)][lockedByInstanceId,emb-ofbiz-prd-technical-asg-20171209-01-eu-west-1b(java.lang.String)][serviceName,xxx(java.lang.String)] > (SQL Exception while executing the following:INSERT INTO > public.SERVICE_SEMAPHORE (SERVICE_NAME, LOCKED_BY_INSTANCE_ID, LOCK_THREAD, > LOCK_TIME, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, CREATED_STAMP, > CREATED_TX_STAMP) VALUES (?, ?, ?, ?, ?, ?, ?, ?) (ERROR: duplicate key value > violates unique constraint "pk_service_semaphore" Detail: Key > (service_name)=(xxx) already exists.)). Rolling back transaction. > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | 2019-09-19 14:47:44.000 | 2019-09-19 16:47:44,692 |OFBiz-JobQueue-2 > |ServiceSemaphore |E| null > | > | 2019-09-19 14:47:44.000 | org.apache.ofbiz.entity.GenericEntityException: > org.apache.ofbiz.entity.GenericEntityException: Error while inserting: > [GenericEntity:ServiceSemaphore][createdStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][createdTxStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lastUpdatedStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lastUpdatedTxStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lockThread,OFBiz-JobQueue-2(java.lang.String)][lockTime,2019-09-19 > > 16:47:44.676(java.sql.Timestamp)][lockedByInstanceId,emb-ofbiz-prd-technical-asg-20171209-01-eu-west-1b(java.lang.String)][serviceName,xxx(java.lang.String)] > (SQL Exception while executing the following:INSERT INTO > public.SERVICE_SEMAPHORE (SERVICE_NAME, LOCKED_BY_INSTANCE_ID, LOCK_THREAD, > LOCK_TIME, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, CREATED_STAMP, > CREATED_TX_STAMP) VALUES (?, ?, ?, ?, ?, ?, ?, ?) (ERROR: duplicate key value > violates unique constraint "pk_service_semaphore" Detail: Key > (service_name)=(xxx) already exists.)) (Error while inserting: > [GenericEntity:ServiceSemaphore][createdStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][createdTxStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lastUpdatedStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lastUpdatedTxStamp,2019-09-19 > 16:47:44.678(java.sql.Timestamp)][lockThread,OFBiz-JobQueue-2(java.lang.String)][lockTime,2019-09-19 > > 16:47:44.676(java.sql.Timestamp)][lockedByInstanceId,emb-ofbiz-prd-technical-asg-20171209-01-eu-west-1b(java.lang.String)][serviceName,xxx(java.lang.String)] > (SQL Exception while executing the following:INSERT INTO > public.SERVICE_SEMAPHORE (SERVICE_NAME, LOCKED_BY_INSTANCE_ID, LOCK_THREAD, > LOCK_TIME, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, CREATED_STAMP, > CREATED_TX_STAMP) VALUES (?, ?, ?, ?, ?, ?, ?, ?) (ERROR: duplicate key value > violates unique constraint "pk_service_semaphore" Detail: Key > (service_name)=(xxx) already exists.))) at > org.apache.ofbiz.entity.GenericDelegator.create(GenericDelegator.java:896) > ~[ofbiz.jar:?] at > org.apache.ofbiz.entity.GenericValue.create(GenericValue.java:76) > ~[ofbiz.jar:?] at > org.apache.ofbiz.service.semaphore.ServiceSemaphore.dbWrite(ServiceSemaphore.java:172) > [ofbiz.jar:?] at > org.apache.ofbiz.service.semaphore.ServiceSemaphore.checkLockNeedToWait(ServiceSemaphore.java:137) > [ofbiz.jar:?] at > org.apache.ofbiz.service.semaphore.ServiceSemaphore.acquire(ServiceSemaphore.java:70) > [ofbiz.jar:?] at > org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:284) > [ofbiz.jar:?] at > org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:240) > [ofbiz.jar:?] at > org.apache.ofbiz.service.GenericDispatcherFactory$GenericDispatcher.runSync(GenericDispatcherFactory.java:88) > [ofbiz.jar:?] at > org.apache.ofbiz.service.job.GenericServiceJob.exec(GenericServiceJob.java:70) > [ofbiz.jar:?] at > org.apache.ofbiz.service.job.AbstractJob.run(AbstractJob.java:87) > [ofbiz.jar:?] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [?:1.8.0_222] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [?:1.8.0_222] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] | > {code} > With lot of activity this can spam the logs reducing visibility of real > errors in production logs. > For this, i proposed to add a last check within the synchronized method > before inserting the lock, on which the fk constraint error is thrown. > This avoiding the error, if no other method in OFBiz insert data in > `ServiceSemaphore` table... > A second patch is provided to add javadoc and trivial refoctoring > -- This message was sent by Atlassian Jira (v8.3.4#803005)