Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
erp5 erp5
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 140
    • Merge requests 140
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • erp5erp5
  • Merge requests
  • !1614

Merged
Created May 02, 2022 by Xiaowu Zhang@xiaowu.zhangDeveloper

erp5_invoicing: make sure get correct SM

  • Overview 0
  • Commits 1
  • Changes 1

if user deliver invoice transaction just after journalise, some times, we can notice that accounting lines are added even invoice transaction is already in stopped state

here is an example: sale invoice transaction is delivered at 09:30:20.995795 UTC

stop_action	superxiaowu	accounting_workflow:started 2022/05/02 09:30:20.978878 UTC
stop	superxiaowu	accounting_workflow:stopped 2022/05/02 09:30:20.995795 UTC

accounting line is added at 09:30:28.538010 UTC

/nexedi/accounting_module/20220502-3DD4B45/_localBuild	/nexedi/acl_users System Processe ... 2022/05/02 09:30:28.538010 UTC

the reason is that InvoiceTransaction_selectInvoiceMovement get wrong state SM:

here is some trackback:

------
2022-05-02 09:30:17,457 INFO InvoiceTransaction_selectInvoiceMovement, 37:  get started  sm
------
2022-05-02 09:30:17,459 INFO InvoiceTransaction_selectInvoiceMovement, 37:  get started  sm
------
2022-05-02 09:30:17,579 INFO InvoiceTransaction_selectDelivery, 27:  {Sale Invoice Transaction at /nexedi/accounting_module/20220502-3DD4B45: 1}
==> slappart8/var/log/zope-0-event.log <==               ***************************** deliver sale invoice transaction
------
2022-05-02 09:30:21,512 INFO RuleTool Updating simulation for /nexedi/accounting_module/20220502-3DD4B45: {'create_root': 1, 'index_related': 1}

==> slappart5/var/log/zope-0-event.log <==
------
2022-05-02 09:30:22,892 WARNING SQLDict Exception raised when invoking messages (uid, path, method_id) [(275788776658006010L, ('', 'nexedi', 'accounting_module', '20220502-3DD4B45'),
'_localBuild')]
Traceback (most recent call last):
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/parts/erp5/product/CMFActivity/Activity/SQLBase.py", line 868, in dequeueMessage
    transaction.commit()
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/transaction-1.7.0-py2.7.egg/transaction/_manager.py", line 123, in commit
    return self.get().commit()
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/transaction-1.7.0-py2.7.egg/transaction/_transaction.py", line 280, in commit
    reraise(t, v, tb)
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/transaction-1.7.0-py2.7.egg/transaction/_transaction.py", line 271, in commit
    self._commitResources()
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/Products.TIDStorage-5.5.0-py2.7.egg/Products/TIDStorage/transaction_transaction.py", line 25
1, in _commitResources
    result = original__commitResources(self, *args, **kw)
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/transaction-1.7.0-py2.7.egg/transaction/_transaction.py", line 416, in _commitResources
    reraise(t, v, tb)
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/transaction-1.7.0-py2.7.egg/transaction/_transaction.py", line 390, in _commitResources
    rm.commit(self)
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/ZODB-4.4.5-py2.7.egg/ZODB/Connection.py", line 582, in commit
    self._commit(transaction)
  File "/srv/slapgrid/slappart16/srv/runner/software/cc627918c55102e3f1a6c6a0077f41bb/eggs/ZODB-4.4.5-py2.7.egg/ZODB/Connection.py", line 630, in _commit
    raise ConflictError(object=obj)
ConflictError: database conflict error (oid 0x0c78a313, class erp5.portal_type.Sale Invoice Transaction)
------
******************* /nexedi/accounting_module/20220502-3DD4B45 localbuild restart because of ConflictError

2022-05-02 09:30:23,340 INFO InvoiceTransaction_selectInvoiceMovement, 37:  get stopped sm
------
2022-05-02 09:30:23,342 INFO InvoiceTransaction_selectInvoiceMovement, 37:  get stopped sm
------
2022-05-02 09:30:23,381 INFO InvoiceTransaction_selectDelivery, 27:  {Sale Invoice Transaction at /nexedi/accounting_module/20220502-3DD4B45: 1}

InvoiceTransaction_selectInvoiceMovement is supposed to get started SM, but finally it get stopped SM, maybe because sql is not updated yet when do the query

Edited May 03, 2022 by Xiaowu Zhang
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: fix_get_wrong_sm
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7