IBM Support

PM68213: TEXT FILE VERSION UNDER 8000 CHARACTERS CAN BE CHECKED IN BUT RESULTS IN FAILED CLEARTEXT GENERATION AND CHTYPE OPERATIONS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The IBM Rational ClearCase type manager for text files
    (text_file_delta) can handle individual lines up to 8000 bytes
    or characters in length. Normally if a user attempts to check in
    a text file containing a line over 8000 characters an error will
    be presented and the checkin will fail. In a case where a text
    file is checked in containing only 7998 bytes and no newline
    character the checkin will also fail:
    
    Example:
    [ben@barndoor test1]$ touch foo.txt
    [ben@barndoor test1]$ for i in {1..7998}; do echo -n a ??
    foo.txt; done
    [ben@barndoor test1]$ stat foo.txt
      File: `foo.txt'
      Size: 7998            Blocks: 16         IO Block: 8192
    regular file
    Device: fc03h/64515d    Inode: 2147483656  Links: 1
    Access: (0644/-rw-r--r--)  Uid: (  500/     ben)   Gid: (
    1011/rational)
    Access: 2012-06-29 14:52:54.485767000 -0400
    Modify: 2012-06-29 14:53:05.000000000 -0400
    Change: 2012-06-29 14:53:05.966006000 -0400
    [ben@barndoor test1]$ ct mkelem -nc -eltype text_file foo.txt
    Created element 'foo.txt' (type 'text_file').
    Checked out 'foo.txt' from version '/main/0'.
    [ben@barndoor test1]$ ct ci -nc foo.txt
    text_file_delta: Error: 'foo.txt' is not a 'text file': it
    contains a line exceeding 8000 bytes.
    Use a different type manager (such as compressed file).
    cleartool: Error: Type manager 'text_file_delta' failed
    create_version operation.
    cleartool: Error: Unable to check in 'foo.txt'.
    
    The reason for this is that the type manager adds a '^N '
    sequence to the source container to indicate there is no
    newline.
    
    However, it is possible to check in a slightly smaller version
    with no newline (7997 bytes) so that the checkin succeeds but
    subsequent container operations fail:
    
    Example:
    [ben@barndoor test1]$ touch good
    [ben@barndoor test1]$ touch bad
    [ben@barndoor test1]$ for i in {1..7939}; do echo -n a ?? good;
    done
    [ben@barndoor test1]$ for i in {1..7997}; do echo -n a ?? bad;
    done
    [ben@barndoor test1]$ ct mkelem -nc -eltype text_file bar.txt
    Created element 'bar.txt' (type 'text_file').
    Checked out 'bar.txt' from version '/main/0'.
    [ben@barndoor test1]$ ct ci -nc -rm -from good bar.txt
    Checked in 'bar.txt' version '/main/1'.
    [ben@barndoor test1]$ stat bar.txt
      File: `bar.txt'
      Size: 7939            Blocks: 16         IO Block: 8192
    regular file
    Device: fc03h/64515d    Inode: 284         Links: 1
    Access: (0444/-r--r--r--)  Uid: (  500/     ben)   Gid: (
    1011/rational)
    Access: 2012-06-29 15:19:21.000000000 -0400
    Modify: 2012-06-29 15:19:21.000000000 -0400
    Change: 2012-06-29 15:19:21.000000000 -0400
    [ben@barndoor test1]$ ct co -nc bar.txt
    Checked out 'bar.txt' from version '/main/1'.
    [ben@barndoor test1]$ ct ci -nc -rm -from bad bar.txt
    Checked in 'bar.txt' version '/main/2'.
    [ben@barndoor test1]$ stat bar.txt
      File: `bar.txt'
      Size: 7997            Blocks: 16         IO Block: 8192
    regular file
    Device: fc03h/64515d    Inode: 284         Links: 1
    Access: (0444/-r--r--r--)  Uid: (  500/     ben)   Gid: (
    1011/rational)
    Access: 2012-06-29 15:20:17.000000000 -0400
    Modify: 2012-06-29 15:20:17.000000000 -0400
    Change: 2012-06-29 15:20:17.000000000 -0400
    
    Errors are logged with mvfs and the view server:
    
    [ben@barndoor test1]$ ct getlog -last 2 mvfs
    ================================================================
    =============
    Log Name: mvfs                  Hostname: barndoor   Date:
    2012-06-29T15:20:55-04:00
    Selection: Last 2 lines of log displayed
    ----------------------------------------------------------------
    -------------
    2012-06-29T15:20:38-04:00 mvfs(0): Error: fetch cleartext
    view=dyn2 vob=/vobs/alpha dbid=0x120 - I/O error
    2012-06-29T15:20:38-04:00 mvfs(0): Error: see view log on host
    barndoor for more info
    ================================================================
    =============
    
    [ben@barndoor test1]$ ct getlog -last 4 view
    ================================================================
    =============
    Log Name: view                  Hostname: barndoor   Date:
    2012-06-29T15:21:36-04:00
    Selection: Last 4 lines of log displayed
    ----------------------------------------------------------------
    -------------
    2012-06-29T15:20:38-04:00 view_server(4326): Error: Unable to
    construct cleartext for object '0x120' in VOB
    'barndoor:/vobstore/alpha.vbs': error detected by ClearCase
    subsystem
    2012-06-29T15:20:38-04:00 view_server(4326): Error: Type manager
    'text_file_delta' failed construct_version operation.
    2012-06-29T15:20:38-04:00 view_server(4326): Error: Use a
    different type manager (such as compressed file).
    2012-06-29T15:20:38-04:00 view_server(4326): Error:
    text_file_delta: Error:
    '/vobstore/alpha.vbs/s/sdft/0/41/0-6de626e8c22011e184b300112527c
    039-8m'
    is not a 'text file': it contains a line exceeding 8000 bytes.
    ================================================================
    =============
    
    Unfortunately chtype operations will also fail at this point.
    
    [ben@barndoor test1]$ ct chtype compressed_file bar.txt
    Change version manager and reconstruct all versions for
    'bar.txt'?  [no] yes
    text_file_delta: Error:
    '/net/barndoor/vobstore/alpha.vbs/s/sdft/0/41/0-6de626e8c22011e1
    84b300112527c039-8m'
    is not a 'text file': it contains a line exceeding 8000 bytes.
    Use a different type manager (such as compressed file).
    cleartool: Error: Type manager 'text_file_delta' failed
    construct_version operation.
    cleartool: Error: Unable to change type of element 'bar.txt' to
    'compressed_file'.
    
    Removing the problem version also fails:
    
    [ben@barndoor test1]$ ct rmver -data bar.txt@@/main/2
    Removing data for these versions of 'bar.txt':
      /main/2
    Remove data for versions?  [no] y
    text_file_delta: Error:
    '/vobstore/alpha.vbs/s/sdft/0/41/0-6de626e8c22011e184b300112527c
    039-8m'
    is not a 'text file': it contains a line exceeding 8000 bytes.
    Use a different type manager (such as compressed file).
    cleartool: Error: Type manager 'text_file_delta' failed
    delete_branches_versions operation.
    
    Steps to reproduce the issue:
    
    1. Create a text_file element.
    2. Check in a version containing 7997 bytes and no newlines.
    3. Attempt to access that version or chtype the element.
    
    WORKAROUND:
    Change the type of text_file elements so they use another type
    manager (such as compressed file) before individual lines
    without a newline character approach the 8000 byte limitation.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The IBM Rational ClearCase type manager for text files
    (text_file_delta) can handle individual lines up to 8000
    bytes or characters in length. Normally if a user attempts
    to check in a text file containing a line over 8000
    characters an error will be presented and the checkin will
    fail. There was also a case where a text file is checked in
    containing fewer than 8000 bytes and no newline character,
    and the checkin will also fail, incorrectly.
    

Problem conclusion

  • A solution is available in ClearCase 7.1.2.9 and 8.0.0.5.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM68213

  • Reported component name

    CC&CC MSITE UNI

  • Reported component ID

    5724G3301

  • Reported release

    711

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-07-05

  • Closed date

    2012-12-15

  • Last modified date

    2012-12-15

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    CC&CC MSITE UNI

  • Fixed component ID

    5724G3301

Applicable component levels

  • R711 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSSH3S","label":"Rational ClearCase MultiSite"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1.1","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
15 December 2012