Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-11057

Complex Routing in document never gets ingested with no response from server

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.2
    • Fix Version/s: Not version specific
    • Component/s: Database, Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-6950Severe performance degradation on saving complex routing paths
      KULRICE-6899Maintainable.saveBusinessObject() never gets called
      KULRICE-8559When routing a doc with no route path defined, document goes FINAL but PostProcessor is never called
      KULRICE-1130improve performance of xml ingestion
      KULRICE-9386Issues with doctype xml ingestion
      KULRICE-4493sometimes documents route to nowhere
      KULRICE-6906Responsibility Document doesn't save details
      KULRICE-12868Server dialog response not correctly picked up in chained example
      KULRICE-12129Error creating a new Responsibility
      KULRICE-3344Parent Responsibility and NullPointerException problems on the "Delegate Routing Rule Creation" screen.
    • Application Requirement:
      KC
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      While trying to ingest a more complex routing for KC 5.1.1 with rice 2.1.7 I found that the document became slower and slower to ingest as I added nodes.

      Ultimately the document failed to ingest with no response from the server.

      I worked with Gayathri Athreya and James Smith and learned that there were resolved issues in the past with Split Nodes as well as issues with multiple paths sharing nodes. Both of these had jiras which were reported as fixed in 2.1.7.

      However based on these reports I tested my document in the following manner and discovered the issue was in fact caused by my use of shared nodes across multiple split node branches. Perhaps the issue was fixed for a single split node but is still having issues with multiple split nodes or nested split nodes. Since PD has a child hierarchy split node already my additional split nodes are in fact nested. We did not determine the actual cause within the code however removing the duplicated nodes across branches corrected the issue.

      I am attaching the original broken XML as well as the correction that resolved the issue in the hopes that looking at the differences can aid in resolving the problem.

      See Attached ProposalDevelopmentDocument.xml (Fixed) and ProposalDevelopmentDocumentFails.xml (Failing version).

        Activity

        Hide
        Travis Schneeberger added a comment -

        Gayathri will be updating this JIRA. Is this fixed?

        Show
        Travis Schneeberger added a comment - Gayathri will be updating this JIRA. Is this fixed?
        Hide
        Gayathri Athreya added a comment - - edited

        I believe one of the rice devs tested this on rice 2.4 with JPA and said it worked fine. I remember testing this too so going to mark it resolved. Still a problem in previous rice versions.

        Show
        Gayathri Athreya added a comment - - edited I believe one of the rice devs tested this on rice 2.4 with JPA and said it worked fine. I remember testing this too so going to mark it resolved. Still a problem in previous rice versions.
        Hide
        Gayathri Athreya added a comment -

        This is from an email I received from Corey Pedersen

        Gayathri:  I was interested in what was happening here.  I took one of the xml files from this dialog and hacked some of the KC dependencies out and did some testing.  The file would not Ingest in any reasonable manor in 2.1 or 2.2 but did fine in 2.4.   So I brought up a local 2.3 system and looked into the problem.  The parsing of the document ran fast regardless of the node nesting, but there looks like we have an issue in the persistence of the document. It would persist but took a significant amount of time.  Most of the time spent was in the  DocumentTypeDAOOjbImpl.save.  I noticed the database activity extremely high for this call.  The database log was extreme.  You can tell from the version numbers on krew_rte_brch_proto_t records.  When I added them up for a single ingestion it was 149,273.  This would put the select/update commands around a million to persist the document.
         
        I see that they have a currently working version, but still wanted to update you on what I found out.
         
          Hope all is well with you,
        
        Show
        Gayathri Athreya added a comment - This is from an email I received from Corey Pedersen Gayathri: I was interested in what was happening here. I took one of the xml files from this dialog and hacked some of the KC dependencies out and did some testing. The file would not Ingest in any reasonable manor in 2.1 or 2.2 but did fine in 2.4. So I brought up a local 2.3 system and looked into the problem. The parsing of the document ran fast regardless of the node nesting, but there looks like we have an issue in the persistence of the document. It would persist but took a significant amount of time. Most of the time spent was in the DocumentTypeDAOOjbImpl.save. I noticed the database activity extremely high for this call. The database log was extreme. You can tell from the version numbers on krew_rte_brch_proto_t records. When I added them up for a single ingestion it was 149,273. This would put the select/update commands around a million to persist the document. I see that they have a currently working version, but still wanted to update you on what I found out. Hope all is well with you,

          People

          • Assignee:
            Unassigned
            Reporter:
            Gayathri Athreya
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Structure Helper Panel