Article ID: 114316, created on Jul 9, 2012, last review on Aug 15, 2014

  • Applies to:
  • Operations Automation 5.5
  • Business Automation

Symptoms

  • The PBA Control Panel is not available, the system error message The server is busy is displayed in the Control Panel:

    Your text to link here...

  • The log of the AMT container (transaction manager) amt.log on the PBA Management Node contains messages about server being busy with transactions:

    [12-07-04 10:11:00.831 TransMan    TH14984 ERR] CMTransManager::Repository::addActor(30834, <25:3:1>): the server is busy with transaction = 51
    [12-07-04 10:11:00.831 _amt_trsnmg TH14984 ERR] C-string exception in _amt_trsnmgr_: The server is busy.
    
  • Checking the xmlrpcd.* logs on the PBA Management Node we see a lot of transactions which were neither committed nor rolled back:

    • the number of methods called without automatic commit:

      # egrep '\+\+\+.*AutoCommit:No' ~bm/log/xmlrpcd.* | wc -l
      657
      
    • committed transactions:

      # egrep '\+\+\+.*CommitTransaction' ~bm/log/xmlrpcd.* | wc -l
      37
      
    • rolled back transactions:

      # egrep '\+\+\+.*RollbackTransaction' ~bm/log/xmlrpcd.* | wc -l
      221
      

Cause

Some 3rd-party application must be sending API requests to PBA XML RPC server without the proper commit.

It is possible to pass the parameter AutoCommit=No in API request to PBA. In this case PBA will process the request, corresponding transaction ID will be returned back to request originator but the transaction will not be committed automatically. Transaction originator must explicitly commit/rollback the transaction received from PBA in the response to the request Execute. If that did not happen, the transaction will be left in the system, locking further requests to the object, which may lead to problems with control panel and general PBA functionality.

If the parameter AutoCommit is omitted in API request or explicitly set to Yes then PBA XML RPC server creates new transaction, processes the request, commits or rolls back changes made by the request and closes the transaction. So, in the latter case PBA XML RPC server takes care about proper transaction commit.

Resolution

For proper communication with PBA XML RPC server request originator must follow either of the rules below:

  • If the parameter AutoCommit is set to No in API request then it must be followed by the corresponding request CommitTransaction with proper transaction ID.

  • Set AutoCommit to Yes or omit it in the API request, so the transaction created will be commited/rolled back automatically.

Refer to the PBA Public API Reference for more details, chapter Using Transaction Mechanism.

caea8340e2d186a540518d08602aa065 198398b282069eaf2d94a6af87dcb3ff 5356b422f65bdad1c3e9edca5d74a1ae 5b048d9bddf8048a00aba7e0bdadef37 2554725ed606193dd9bbce21365bed4e e12cea1d47a3125d335d68e6d4e15e07

Email subscription for changes to this article
Save as PDF