"A previous archive update failed to clean up .new files" displayed in the Rational Synergy logs

Technote (troubleshooting)


Problem(Abstract)

Attempting archive update results in an error message in the log file which reports that "A previous archive update failed to clean up file XXXX.new" for IBM Rational Synergy.

Symptom

You may see messages such as the following example in your Rational Synergy logs:


2011-05-17T10:09:25.807+0100 SEVERE : Failed to archive file. {asyncarchiver.ArchiveObjectRequestHandler}                            
java.io.IOException: A previous archive update failed to clean up file  '0123123456.1.zip.new'

Cause

Since version 7.0, IBM Rational Synergy uses a new, asynchronous archive process to archive static (or checked in) files. This was documented in the IBM Rational Synergy version 7.1 readme


The .new and .old files form a lock file procedure for this archive process. They are normally removed when the archive process is complete.

The lock procedure is basically as follows:

  1. The Rational Synergy Check-in process and the archive converter process (for upgrading old archives) leave the Rational Synergy object with a Rational Synergy cache file present, with no archive file, and they set the attribute _archive_info=none

  2. Asynchronous Java code in CCM server calls ACcent code about every 5 minutes to query for objects with attribute _archive_info=none

  3. ACcent code sends a list of objects from the query to Java archiver code. The Java code creates archive entries as zip entries using TrueZip, a compression utility which supports files whose size is greater than 4GB

    In more detail, when the asynchronous archiver has to add a new file version to an existing Archive, the steps are as follows:
    1. Add new version to new archive file under the name filename.new
    2. Perform a check on consistency
    3. Rename existing archive file to filename.old
    4. When the consistency is correct rename filename.new -> filename
    5. Delete filename.old

  4. Java code sends details of archive back to ACcent

  5. The ACcent code sets the _archive_info attribute to a hash of the new archive path, it sets the _archive_version attribute to 1 or 2 for later versions of the archiver, and finally it updates the source attribute with full zip file path and entry id.

  6. All new archive files are created in <database path>/st_root/archive/ccm_delta, where <database path> is replaced by your actual database path.

If this process fails for any reason (for example, a failure in the host operating system or machine crash) then .new files may be left behind.

In general, the asynchronous archiver process is error tolerant and when the process starts, it cleans up any leftover *.old and any leftover *.lock files. But the asynchronous archiver process must be more cautious about the *.new files. If a *.new file exists without a corresponding *.old or *.lock file then it is assumed that there is a problem with the archive. The failure has left a *.new file behind. So if an 'unpaired' *.new file is found the archiver will not delete anything.

PM48697: Asynchronous archiver needs to clean up *.new archive files when it starts up has been reported and is fixed in Rational Synergy Fix Pack 5 (7.1.0.5) for 7.1


Resolving the problem

You will need to run theccm fs_check command to find out if there is corruption and and if so run archive_fix on it (See Technote 1462239; An "Unused archive entry" or "unused archive file" warning occurs when running the "ccm fs_check" command for details on using the ccm fs_check command and the archive_fix procedure).

If you have IBM Rational Synergy iFix 7.1.0.2.04 or a later version you may be able to fix the issues you are seeing simply by running the ccm fs_check command. This is because later versions of fs_check can sometimes fix these issues automatically. In fact, running ccm fs_check is strongly advised because the error is serious. This is because it is likely that the archive consistency check failed and the archive process was aborted.

WORKAROUND:

Rational Client Support recommends that you try the above procedures before trying to fix the archive manually. Any manual procedure is likely to be time consuming and could be quite difficult.

To manually fix the archive, the procedure would be as follows:

  1. Check you have a valid cache file for all versions of the file.

  2. Ensure all the files are in a non-static state.

  3. Set the _archive_info attribute to none using the ccm attr command

    Consult the Classic CLI Help document for details of how to use the ccm attr command

  4. Move aside any *.old or *.new files and allow the asynchronous archiver process to re-archive

    Disclaimer

    Note: TrueZIP is Open Source Software and is covered by the Eclipse Public License, Version 1.0. IBM is not providing program services of any kind for this program. Making use of the Information provided in this technote is done at the user's own risk.


    Related information

    Fix List for Rational Synergy 7.1
    7.1 Upgrade Instructions for UNIX
    7.1 Upgrade Instructions for Windows

    Rate this page:

    (0 users)Average rating

    Document information


    More support for:

    Rational Synergy
    General Information

    Software version:

    7.0, 7.1a, 7.1, 7.1.0.1, 7.1.0.2, 7.1.0.3, 7.2, 7.2.0.1

    Operating system(s):

    AIX, HP-UX, Linux, Solaris, Windows

    Reference #:

    1500613

    Modified date:

    2013-01-09

    Translate my page

    Machine Translation

    Content navigation