Uploaded image for project: 'Jira Software Server and Data Center'
  1. Jira Software Server and Data Center
  2. JSWSERVER-21088

Changesets with an empty RAW_NODE are not persisted in database

    XMLWordPrintable

Details

    Description

      Issue Summary

      DVCS doesn't store changesets when the property "RAW_NODE" is an empty string. As a result, the same changes can be processed multiple times without any progress.

      Steps to Reproduce

      1. Setup integration with Github
      2. Create a branch with multiple commits
      3. Synchronize the repository

      The problem doesn't occur when using the Oracle database or when integrating with Bitbucket.

      Expected Results

      DVCS shows the actual number of commits, the changes are persisted in a database.

      Actual Results

      DVCS finishes synchronization but only one changeset from the branch is persisted. Because other changesets are not stored in, each branch triggers a full synchronization of a whole history, including parent branches. 

      For example, having one master branch with 500 commits and creating 10 branches from the head, results in 5500 commits to synchronize. 

      This also might cause High CPU utilization on Database server. This is due to queries produces by DVCS:

      (@P0 nvarchar(4000),@P3 nvarchar(4000),@P2 nvarchar(4000),@P1 nvarchar(4000))SELECT COUNT FROM jiraschema.AO_E8B6CC_MESSAGE messageMapping JOIN jiraschema.AO_E8B6CC_MESSAGE_TAG messageTag ON messageMapping.ID = messageTag.MESSAGE_ID JOIN jiraschema.AO_E8B6CC_MESSAGE_QUEUE_ITEM messageQueueItem ON messageMapping.ID = messageQueueItem.MESSAGE_ID WHERE messageTag.TAG = @P0 AND messageQueueItem."STATE" in ( @P1, @P2, @P3 )
      
      (@P0 nvarchar(4000),@P1 int,@P2 nvarchar(4000),@P3 nvarchar(4000))SELECT TOP 1 queueItem.RETRIES_COUNT,queueItem."STATE",queueItem.STATE_INFO,queueItem.ID,queueItem.QUEUE,queueItem.LAST_FAILED FROM jiraschema.AO_E8B6CC_MESSAGE_QUEUE_ITEM queueItem JOIN jiraschema.AO_E8B6CC_MESSAGE message ON queueItem.MESSAGE_ID = message.ID WHERE message.ADDRESS = @P0 AND message.PRIORITY = @P1 AND queueItem.QUEUE = @P2 AND queueItem."STATE" = @P3 ORDER BY message.ID ASC
      

      Workaround

      Currently, there is no known workaround for this behaviour. A workaround will be added here when available

      Attachments

        Issue Links

          Activity

            People

              szarazinski Sławomir Zaraziński
              szarazinski Sławomir Zaraziński
              Votes:
              20 Vote for this issue
              Watchers:
              43 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: