WorkPackageProcessor UpdateMRPProductInfoTable Exception


#1

I get following Log Entries.

If I check the Database X_MRP_ProductInfo_Detail_MV table there is no Record with not M_AttributeSetInstance_ID >= 0.

Has anybody any idea why this is happen.

Thanks for help.

2019-11-07 15:39:29.359 WARN 163 — [ool-29-thread-6] o.adempiere.ad.trx.api.impl.TrxManager : AbstractTrxManager.call0 - caught class org.adempiere.exceptions.AdempiereException with message=Ihr Test hat einen bisher unentdeckten Fehler offengelegt.

7.11.2019 16:39:29 Bitte leiten Sie diese Meldung an metas weiter:

7.11.2019 16:39:29

7.11.2019 16:39:29 Assumption failure: Param ‘M_AttributeSetInstance_ID’ >= 0

7.11.2019 16:39:29 Additional parameters:

7.11.2019 16:39:29 I_C_Queue_WorkPackage: X_C_Queue_WorkPackage[C_Queue_WorkPackage_ID=1017213, trxName=null]

7.11.2019 16:39:29 IQueueProcessor: ThreadPoolQueueProcessor{name=UpdateMRPProductInfoTableWorkPackageProcessor, executor=BlockingThreadPoolExecutor [getPoolSize()=1]}

7.11.2019 16:39:29 trxName: <<ThreadInherited>>

7.11.2019 16:39:29 2019-11-07 15:39:29.378 WARN 163 — [ool-29-thread-6] d.m.async.model.X_C_Queue_WorkPackage : ErrorMsg - Value too long - truncated to length=255: Ihr Test hat einen bisher unentdeckten Fehler offengelegt.

7.11.2019 16:39:29 Bitte leiten Sie diese Meldung an metas weiter:

7.11.2019 16:39:29

7.11.2019 16:39:29 Assumption failure: Param ‘M_AttributeSetInstance_ID’ >= 0

7.11.2019 16:39:29 Additional parameters:

7.11.2019 16:39:29 I_C_Queue_WorkPackage: X_C_Queue_WorkPackage[C_Queue_WorkPackage_ID=1017213, trxName=null]

7.11.2019 16:39:29 IQueueProcessor: ThreadPoolQueueProcessor{name=UpdateMRPProductInfoTableWorkPackageProcessor, executor=BlockingThreadPoolExecutor [getPoolSize()=1]}

7.11.2019 16:39:29 trxName: <<ThreadInherited>>

7.11.2019 16:39:29 2019-11-07 15:39:29.383 INFO 163 — [ool-29-thread-6] d.m.a.p.impl.WorkpackageProcessorTask : Error while processing workpackage: X_C_Queue_WorkPackage[C_Queue_WorkPackage_ID=1017213, trxName=null]

7.11.2019 16:39:29

7.11.2019 16:39:29 org.adempiere.exceptions.AdempiereException: Ihr Test hat einen bisher unentdeckten Fehler offengelegt.

7.11.2019 16:39:29 Bitte leiten Sie diese Meldung an metas weiter:

7.11.2019 16:39:29

7.11.2019 16:39:29 Assumption failure: Param ‘M_AttributeSetInstance_ID’ >= 0

7.11.2019 16:39:29 Additional parameters:

7.11.2019 16:39:29 I_C_Queue_WorkPackage: X_C_Queue_WorkPackage[C_Queue_WorkPackage_ID=1017213, trxName=null]

7.11.2019 16:39:29 IQueueProcessor: ThreadPoolQueueProcessor{name=UpdateMRPProductInfoTableWorkPackageProcessor, executor=BlockingThreadPoolExecutor [getPoolSize()=1]}

7.11.2019 16:39:29 trxName: <<ThreadInherited>>

7.11.2019 16:39:29 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

7.11.2019 16:39:29 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

7.11.2019 16:39:29 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

7.11.2019 16:39:29 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

7.11.2019 16:39:29 at de.metas.util.Check.mkEx(Check.java:120)

7.11.2019 16:39:29 at de.metas.util.Check.throwOrLogEx(Check.java:135)

7.11.2019 16:39:29 at de.metas.util.Check.assume(Check.java:187)

7.11.2019 16:39:29 at de.metas.util.Check.assume(Check.java:163)

7.11.2019 16:39:29 at de.metas.fresh.mrp_productinfo.impl.MRPProductInfoSelectorFactory$MRPProductInfoSelector.<init>(MRPProductInfoSelectorFactory.java:279)

7.11.2019 16:39:29 at de.metas.fresh.mrp_productinfo.impl.MRPProductInfoSelectorFactory$MRPProductInfoSelector.<init>(MRPProductInfoSelectorFactory.java:240)

7.11.2019 16:39:29 at de.metas.fresh.mrp_productinfo.impl.MRPProductInfoSelectorFactory.createOrNullForModel(MRPProductInfoSelectorFactory.java:144)

7.11.2019 16:39:29 at de.metas.fresh.mrp_productinfo.impl.MRPProductInfoBL.updateQtyOnHand(MRPProductInfoBL.java:186)

7.11.2019 16:39:29 at de.metas.fresh.mrp_productinfo.impl.MRPProductInfoBL.updateItems(MRPProductInfoBL.java:137)

7.11.2019 16:39:29 at de.metas.fresh.mrp_productinfo.impl.MRPProductInfoBL.updateItems(MRPProductInfoBL.java:94)

7.11.2019 16:39:29 at de.metas.fresh.mrp_productinfo.async.spi.impl.UpdateMRPProductInfoTableWorkPackageProcessor.processWorkPackage(UpdateMRPProductInfoTableWorkPackageProcessor.java:103)

7.11.2019 16:39:29 at de.metas.async.processor.impl.WorkpackageProcessorTask.invokeProcessorAndHandleException(WorkpackageProcessorTask.java:292)

7.11.2019 16:39:29 at de.metas.async.processor.impl.WorkpackageProcessorTask.processWorkpackage(WorkpackageProcessorTask.java:284)

7.11.2019 16:39:29 at de.metas.async.processor.impl.WorkpackageProcessorTask.lambda$run$0(WorkpackageProcessorTask.java:169)

7.11.2019 16:39:29 at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$2.call(TrxCallableWrappers.java:103)

7.11.2019 16:39:29 at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$2.call(TrxCallableWrappers.java:93)

7.11.2019 16:39:29 at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:756)

7.11.2019 16:39:29 at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:669)

7.11.2019 16:39:29 at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:577)

7.11.2019 16:39:29 at de.metas.async.processor.impl.WorkpackageProcessorTask.run(WorkpackageProcessorTask.java:163)

7.11.2019 16:39:29 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

7.11.2019 16:39:29 at java.util.concurrent.FutureTask.run(FutureTask.java:266)

7.11.2019 16:39:29 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

7.11.2019 16:39:29 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

7.11.2019 16:39:29 at java.lang.Thread.run(Thread.java:748)


#2

After a Debug Session I evaluated, that M_AttributeSetInstance_ID is -1 in this situation.
In MRPProductInfoBL with function call DB_FUNCTION_X_MRP_PRODUCT_INFO_DETAIL_MV_REFRESH a record in x_mpr_productinfo_detail_mv is created with tis -1 in M_AttributeSetInstance_ID.
If there is no record in x_fresh_qtyonhand_ondate for the m_product_id and in order_line table M_AttributeSetInstance_ID is NULL then i got this -1.

I changed M_AttributeSetInstance_ID on the order_line record to 0, after that no exception was raised.

Was this about wrong data ??