Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

storage error on disposal #578

Closed
metas-lc opened this issue Sep 8, 2017 · 5 comments
Closed

storage error on disposal #578

metas-lc opened this issue Sep 8, 2017 · 5 comments

Comments

@metas-lc
Copy link

metas-lc commented Sep 8, 2017

Is this a bug or feature request?

bug

What is the current behavior?

in some cases you get a storage error when you want to do disposal

Which are the steps to reproduce?

  1. create a purchase order, product on 5 TUs
  2. go to material receipt candidates and select the green button for 5TUs
  3. select the TU inside LU and press on transform -> take out 3 TUs
  4. select all - create inout, press done
  5. select the line with the product again, press on korrectur button to see the received HUs
  6. select all, then select dispose
    => error:"Internal Server Error"
    exception:"org.adempiere.exceptions.AdempiereException"
    message:"Negative storage: qty=-20.000, qtyNew=-20.000, qtyOld=0.000, storage=HUItemStorage[virtual=true, item=X_M_HU_Item[M_HU_Item_ID=58672517, trxName=<>]]"
    path:"/rest//api/process/ADP_540796/18732110/start"
    status:500
    timestamp:1504857715894
    stacktrace: https://pastebin.com/mQsh85dM
    .
    .
  7. select just 2 of the free TUs, make disposal
    => disposal has qty TU 0 (NOK should be 2)
  8. storno disposal
    => Server error
    Error Processing Document document: Entsorgung 1000097 Belegverarbeitung: RC ProcessMsg: 1000098 Cause: * Nicht gefunden * Handling Units (snapshot) Abfrage eingeben: TypedSqlQuery{tableName=M_HU_Snapshot, whereClause=(M_HU_ID = ?) AND (Snapshot_UUID = ?), parameters=[1013342, b61cd5b7-eecf-49d9-80f7-caba7a47ed42], trxName=TrxRun_bbd66b9b-28d3-458f-9722-a6b60bfb443b} (DBException)

https://pastebin.com/veaSN1Tt

What is the expected or desired behavior?

  1. should get a disposal docu
    7 - 8. disposal shall have correct no of TUs, can storno with no errors
@metas-lc metas-lc added this to the Backlog milestone Sep 8, 2017
@metas-ts
Copy link
Member

metas-ts commented Sep 8, 2017

The first stacktrace (pastebin is temporary):

org.adempiere.exceptions.AdempiereException: Negative storage: qty=-20.000, qtyNew=-20.000, qtyOld=0.000, storage=HUItemStorage[virtual=true, item=X_M_HU_Item[M_HU_Item_ID=1027606, trxName=<<ThreadInherited>>]]
        at de.metas.handlingunits.storage.impl.HUItemStorage.addQty(HUItemStorage.java:173)
        at de.metas.handlingunits.hutransaction.impl.HUTransactionProcessor.processTrxLine(HUTransactionProcessor.java:221)
        at de.metas.handlingunits.hutransaction.impl.HUTransactionProcessor.processTrx(HUTransactionProcessor.java:196)
        at de.metas.handlingunits.hutransaction.impl.HUTransactionProcessor.createAndProcessTrx(HUTransactionProcessor.java:271)
        at de.metas.handlingunits.hutransaction.impl.HUTransactionProcessor.createTrx(HUTransactionProcessor.java:255)
        at de.metas.handlingunits.hutransaction.impl.HUTrxBL.createTrx(HUTrxBL.java:149)
        at de.metas.handlingunits.allocation.impl.HULoader.loadToDestination(HULoader.java:441)
        at de.metas.handlingunits.allocation.impl.HULoader.lambda$unloadAllFromSource$0(HULoader.java:601)
        at de.metas.handlingunits.allocation.impl.HUContextProcessorExecutor$1.run(HUContextProcessorExecutor.java:104)
        at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:145)
        at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:135)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:771)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:683)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:584)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:515)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:500)
        at de.metas.handlingunits.allocation.impl.HUContextProcessorExecutor.run(HUContextProcessorExecutor.java:81)
        at de.metas.handlingunits.allocation.impl.HULoader.processInHUContext(HULoader.java:224)
        at de.metas.handlingunits.allocation.impl.HULoader.unloadAllFromSource(HULoader.java:591)
        at de.metas.handlingunits.inventory.impl.HUInternalUseInventoryProducer.create(HUInternalUseInventoryProducer.java:131)
        at de.metas.handlingunits.inventory.impl.HUInternalUseInventoryProducer.create(HUInternalUseInventoryProducer.java:91)
        at de.metas.handlingunits.inventory.impl.HUInventoryBL.moveToGarbage(HUInventoryBL.java:49)
        at de.metas.ui.web.handlingunits.process.WEBUI_M_HU_MoveToGarbage.doIt(WEBUI_M_HU_MoveToGarbage.java:70)
        at de.metas.process.JavaProcess.startProcess(JavaProcess.java:288)

@metas-ts metas-ts self-assigned this Sep 8, 2017
metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 8, 2017
also make HUInternalUseInventoryProducer more robust, such that it
excludes not-top-level-HUs

storage error on disposal
metasfresh/metasfresh-webui-api-legacy#578
metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 8, 2017
metas-ts added a commit that referenced this issue Sep 8, 2017
also
* use the new method to simplify code here and there
* fix the actual problem in WEBUI_M_HU_MoveToGarbage (<= this issue)
* also potentially fix it in 
  * WEBUI_M_HU_MoveToAnotherWarehouse
  * WEBUI_M_HU_ReturnFromCustomer
  * WEBUI_M_HU_ReturnToVendor
* WEBUI_M_HU_Messages: add a new top-level related rejection message

so the hopefully the dev takes the hint and makes up their minds on
whether the need top level or all

storage error on disposal
#578
@metas-ts metas-ts removed their assignment Sep 8, 2017
@metas-ts
Copy link
Member

metas-ts commented Sep 8, 2017

implemented this in branch 2017-09-12, then merged to master

metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 8, 2017
metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 8, 2017
metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 9, 2017
[#2398](#2398) Reverse
Correct of Disposal takes too long
[#2303](#2303) Auto
Product No when new
[#2224](#2224) Import
Subscriptions / Flatrate Terms
[#578](metasfresh/metasfresh-webui-api-legacy#578)
storage error on disposal
[#573](metasfresh/metasfresh-webui-api-legacy#573)
MoveToDirectWarehouse shall support multiple HUs
[#2342](#2342) Make
Material Disposal Lines and their Movements respect all the details from
the HUs
[#2389](#2389) edi
problem for customer returns
[#577](metasfresh/metasfresh-webui-api-legacy#577)
API for Edit Fields in Main Grid View
[#1178](metasfresh/metasfresh-webui-frontend-legacy#1178)
[ctrl]+u sometimes opens chrome sourceview instead of trigger main
quickaction
[#1179](metasfresh/metasfresh-webui-frontend-legacy#1179)
[ctrl]+enter does not save changes before
[#1164](metasfresh/metasfresh-webui-frontend-legacy#1164)
frontend: document cloning
[#563](metasfresh/metasfresh-webui-api-legacy#563)
Handling Unit Editor - remove hardcoded filter for active HUs
[#2343](#2343) Add code
coverage metrics to our builds
[#2358](#2358) translate
process quotation to sales order to en_US
[#567](metasfresh/metasfresh-webui-api-legacy#567)
Shipped HUs are not displayed correctly
[#2305](#2305) Create GL
Journal No. automatically when new
[#575](metasfresh/metasfresh-webui-api-legacy#575) HU
does not disappear after Correction Quick-action.
[#1161](metasfresh/metasfresh-webui-frontend-legacy#1161)
tab tries to update a readonly field
[#2367](#2367) error on
creating receipt
[#2349](#2349) Fix
AD_Column of C_BPartner.AD_OrgBP_ID
[#2354](#2354) LU has
HU_Status Active after picking
[#1172](metasfresh/metasfresh-webui-frontend-legacy#1172)
filtering is not working in picking
[#1159](metasfresh/metasfresh-webui-frontend-legacy#1159)
batch entry: scrollbar not moving when using keyboard
[#2303](#2302) Order
validation rule for packing instruction needs to look at DatePromised
[#572](metasfresh/metasfresh-webui-api-legacy#572)
qty doubled on vendor/customer return and destroyed HUs
[#532](metasfresh/metasfresh-webui-api-legacy#532)
Unable to see list of document's attachments
[#1165](metasfresh/metasfresh-webui-frontend-legacy#1165)
frontend cache for dropdown value not invalidated on lookupValuesStale
is true
[#2141](#2141) Year-End
P&L Process w/ multiple Organisations error

me-45
metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 11, 2017
metas-ts added a commit that referenced this issue Sep 11, 2017
storage error on disposal
#578
@metas-ts
Copy link
Member

The second stacktrace:

org.adempiere.exceptions.DBException: @NotFound@ @M_HU_Snapshot@
 
@Query@: TypedSqlQuery{tableName=M_HU_Snapshot, whereClause=(M_HU_ID = ?) AND (Snapshot_UUID = ?), parameters=[25816060, accd1186-1562-4dc2-8679-192ef2742950], trxName=TrxRun_510cebbb-151f-48f2-97fa-3efceb68ee73}
        at org.adempiere.ad.dao.impl.AbstractTypedQuery.firstOnlyNotNull(AbstractTypedQuery.java:75)
        at de.metas.handlingunits.snapshot.impl.M_HU_SnapshotHandler.retrieveModelSnapshot(M_HU_SnapshotHandler.java:83)
        at de.metas.handlingunits.snapshot.impl.M_HU_Snapshot_ProducerAndRestorer.restoreInTrx(M_HU_Snapshot_ProducerAndRestorer.java:96)
        at de.metas.handlingunits.snapshot.impl.M_HU_Snapshot_ProducerAndRestorer.access$000(M_HU_Snapshot_ProducerAndRestorer.java:51)
        at de.metas.handlingunits.snapshot.impl.M_HU_Snapshot_ProducerAndRestorer$1.run(M_HU_Snapshot_ProducerAndRestorer.java:79)
        at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:145)
        at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:135)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:771)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:683)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:584)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:515)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:500)
        at de.metas.handlingunits.snapshot.impl.M_HU_Snapshot_ProducerAndRestorer.restoreFromSnapshot(M_HU_Snapshot_ProducerAndRestorer.java:70)
        at de.metas.handlingunits.model.validator.M_Inventory.reverseDisposal(M_Inventory.java:82)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.executeNow(AnnotatedModelInterceptor.java:560)
        at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.execute(AnnotatedModelInterceptor.java:504)
        at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.execute(AnnotatedModelInterceptor.java:458)
        at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.onDocValidate(AnnotatedModelInterceptor.java:443)
        at org.adempiere.ad.modelvalidator.ModelInterceptor2ModelValidatorWrapper.docValidate(ModelInterceptor2ModelValidatorWrapper.java:132)
        at org.compiere.model.ModelValidationEngine.fireDocValidate(ModelValidationEngine.java:1128)
        at org.compiere.model.ModelValidationEngine.fireDocValidate0(ModelValidationEngine.java:1098)
        at org.compiere.model.ModelValidationEngine.access$100(ModelValidationEngine.java:93)
        at org.compiere.model.ModelValidationEngine$3.run(ModelValidationEngine.java:1082)
        at org.compiere.model.ModelValidationEngine$2.run(ModelValidationEngine.java:774)
        at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:145)
        at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:135)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:771)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:683)
        at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:591)
        at org.compiere.model.ModelValidationEngine.executeInTrx(ModelValidationEngine.java:769)
        at org.compiere.model.ModelValidationEngine.fireDocValidate(ModelValidationEngine.java:1077)
        at org.compiere.model.MInventory.reverseCorrectIt(MInventory.java:858)
        at org.compiere.process.DocumentEngine.reverseCorrectIt(DocumentEngine.java:642)
        at org.compiere.process.DocumentEngine.processIt0(DocumentEngine.java:356)
        at org.compiere.process.DocumentEngine.processIt(DocumentEngine.java:293)
        at org.compiere.process.DocumentEngine.processIt(DocumentEngine.java:261)
        at de.metas.document.engine.impl.AbstractDocActionBL.processIt(AbstractDocActionBL.java:76)
        at org.compiere.model.MInventory.processIt(MInventory.java:295)
        at org.compiere.wf.MWFActivity.performWork(MWFActivity.java:956)

metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 11, 2017
metas-ts added a commit to metasfresh/metasfresh that referenced this issue Sep 11, 2017
@metas-ts
Copy link
Member

did the fix for

8. storno disposal
=> Server error

in branch 2017-09-12 and merged to master and release

@metas-lc metas-lc self-assigned this Sep 12, 2017
@metas-lc
Copy link
Author

IT
repeated the testcases above => no error, disposal created ok, movements created correctly and reversed on disposal reverse OK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants