7 Jul 2010

Line sequential buffer length (Informatica)

I've configure Line sequential buffer length parameter to 4096 in my session.In my log session file I've this :FR_3071 Maximum Line sequential buffer length is 4098.
I don't understand what this line mean ?
Note: Query was taken from a Informatica related forum.
Reason:
Suppose you take below sample record as your input feed.
"7525 XX XXXXXX*0*10S*QQQQ*XX*YYY YYYY*US*USD*Common Stock*N.A.*XXXXX*JT*N.A.* *Machinery-Diversified"
Total length of the record is 104 characters (Bytes) and suppose if you have defined the "Line sequential buffer length" parameter to 100,then session would fail for
FR_3071 Maximum Line sequential buffer length is 100. (6.x/7.x version)
FR_3093 Record length [104] is longer than line sequential buffer length [100]. (From 8.x version)
How to calculate Line sequential buffer length:
Some how you need to find out the expected maximum record length and add 30% more, define that as a value for "Line sequential buffer length", just to neutralize a common solution irrespective of your code page setting. Because the way length of a character treated in ASCII and UNICODE are different.
Solution:
To avoid the above error change your default setting for "Line sequential buffer length".
Open the session properties.
Go to the General tab.
Select the Advanced Options button in the lower left corner.
Increase the Line Sequential Buffer Length setting so that it is larger than the largest row in the source file (including the header row).

What if you get a flat file that has no line feed (LF) or carriage return (CR) characters to mark the end of the record ?
1. Define a fixed width source definition.
2. Set Line Sequential buffer length to the length of the record.
3. In the flat file properties set the Number of Bytes to Skip Between Records to 0.

5 comments:

  1. With Informatica 9.0, the Line Sequential buffer length has moved to "Config Object" item.
    So, now:
    To avoid the above error change your default setting for "Line sequential buffer length".
    1. Open the session properties by right click session-->edit.
    2. Go to the Config Object.
    3. Select the Advanced Options button in the lower left corner.
    4. Increase the Line Sequential Buffer Length setting so that it is larger than the largest row in the source file (including the header row).

    ReplyDelete
  2. I had this problem: the session failed due to below error :
    Message Code: FR_3093
    Message: (At input file offset [2246041432]) Row [4994274]: Record length [944623950] is longer than line sequential buffer length [1026] . Record will be rejected.


    When i tried the soulution and set the Line sequential buffer length to 944623950 , the session failed again with below error
    Message Code:
    Message: *********** FATAL ERROR : An unexpected condition occurred in file [/export/home/builds/pc9x_root/910HF/build/powrmart/server/cmnutils/sinstream.cpp] line [2357]. Aborting the DTM process. Contact Informatica Global Customer Support. ***********

    Not sure if I increased the length too much which is causing this issue?

    ReplyDelete
  3. Hi Ramesh,

    I cam across your post while looking for some help regarding the below shown error :

    Message: *********** FATAL ERROR : An unexpected condition occurred in file [/data/home/builds/pc9x_root/960/build/powrmart/server/cmnutils/sinstream.cpp] line [603]. Aborting the DTM process. Contact Informatica Global Customer Support. ***********

    Could you please provide me some hints on how to get it resolved. I am totally new to informatica, so having a pretty tough time sorting it out.

    Many thanks.

    ReplyDelete
  4. Hi Ramesh,
    I am also facing same error as Vinay. Please help me to resolve this issue, as this is on high priority.

    Thanks in advance
    Smital

    ReplyDelete
  5. informatica informatica-powercenter
    I have a workflow which loads millions of data from flat file to Oracle Table. The buffer length set was 10240. Recently it failed with the error record length is larger than the line sequential buffer length error. People suggesting to change the larger columns precision value instead of changing the buffer length in the workflow. My question's are

    Why to change only precision value instead of buffer length?
    Do Increasing the precision or buffer length will affect other parallelly running process?
    Is there any suggestions what to do for such buffer length issues?

    ReplyDelete