Forum Stats

  • 3,816,718 Users
  • 2,259,226 Discussions


Is there a time gap between source and target of two mappings in a package?

et4891 Member Posts: 17 Green Ribbon

Sorry if the Question is not too clear, can't think of a shorter way to write it.

I have a package which has two mappings, When mapping A is done, mapping B will run.

But the source table in mapping B is depending on the target table of mapping A.

For example in mapping A

Source table = A_START, and target table = A_FINISH

in mapping B

Source table = A_FINISH, and target table = B_FINISH

So mapping B depends on mapping A to finish first else the table would be empty.

The question here is, I ran the same package in two different environment (same package), the 1st environment has a slower server and the package for both mapping worked well. The 2nd environment has a faster server; both mapping ran successful BUT mapping B gives 0 record. I tried to see what might be the differences between both mapping and setup but can't find anything so something popped up which I doubted it and want to confirm I am wrong. Would the 2nd environment with faster server somehow started mapping B when mapping A_FINISH still has 0 records? Just that split second.

Else anyone has any suggestions where I can start looking which has a possible chance of causing this?



  • Marco Fris
    Marco Fris Member Posts: 130 Bronze Badge

    Too many unknowns (database, KMs used, options set in the KMs etc) for a specific answer, but I'd start with looking at commit behavior.

    In any ACID-compliant database, when transaction A issues a commit and then continues with transaction B, B cannot start before A's commit is completed. Timing cannot be an issue.

  • Christyxo
    Christyxo Member Posts: 151 Silver Badge

    Is targetA in your first mapping a truncate and load, or are you filtering targetA based on a timestamp in your second mapping?

    If you are applying a timestamp in the first mapping, are you applying it on the staging table or the target table?

    Given the volume of data you could have a lag between I$/C$ and your target table.

    You also have a lag between the first mapping completing and the second mapping starting. Normally this would be within a second or so but if you haven't purged your sessions for a while the lag between steps will grow.