归档转换常见问题及解答

以下是关于归档转换的一些常见问题的解答。

Rational Synergy 7.2 和更高版本中归档转换过程的简短描述是什么?

  1. 运行 ccm fs_check 命令并修正报告的所有错误。
  2. 使用 Web Administrator 用户界面来启动、停止归档转换以及报告其进度。
  3. 转换后运行 ccm clean_cache 命令以清除高速缓存。
  4. 重新运行 ccm fs_check 命令并修正报告的所有错误。
  5. 从 Web Administrator 用户界面除去数据库。

如果我在 Rational Synergy 7.1 中执行了归档转换,那么是否需要在 Rational Synergy 7.1.0.1 中执行归档转换?

是。Rational® Synergy 7.1.0.1 包含已更新的归档属性。因此,在将 Rational Synergy 7.1 数据库升级至 Rational Synergy 7.1.0.1 后必须执行归档转换。

如果我对 Rational Synergy 6.5 中的数据库进行压缩,那么是否需要在 Rational Synergy 7.2 中执行归档转换?

不支持将数据库从 Rational Synergy 6.5 升级至 Rational Synergy 7.2。归档转换的典型路径是从 Rational Synergy 7.1 到 Rational Synergy 7.1.0.1,再到 Rational Synergy 7.2。您可以在 Rational Synergy 7.2 中执行 Rational Synergy 7.1 数据库的直接归档转换。

归档转换正在进行时,是否要运行 fs_check 命令以清除高速缓存?

ccm fs_check 命令负责检查数据库的元数据、高速缓存和归档部分是否一致。

在 R7.1 和更高版本中,ccm fs_check 命令对现有归档和静态版本化对象执行额外检查。
  • 如果最近检入的版本化对象没有归档,那么说明归档程序没有处理该对象。这是正常行为,不是错误。
  • 如果某个对象已检入,但在比用户所指定时间更长的时间内没有归档,那么可能发生了错误,因为归档程序可能没有运行。您将接收到警告消息。
  • ccm fs_check 命令包含新的 -c|-cutoff cutoff time 选项。在截止时间之前检入但尚未归档的任何对象版本会产生警告。缺省截止时间为两天,即 -2:0:0:0。 对于在前天之前检入的任何未归档文件,您将收到警告。
  • 检查归档后,对未使用的归档文件的检查过程现在使用比 R7.0 和更早版本更少的内存。
启动归档转换之前,请运行 ccm fs_check 命令。然后,修正所有错误或警告,再继续进行归档转换。要修正任何问题,请运行 ccm archive_fix 命令。以下是您运行 ccm fs_check 命令时显示的警告消息的一个示例:
-------------- 
SERIOUS: Extracted archive and cache files differ for
four_part_name_of_object
Cache file path: path_to_cache_file
Cache file size: size
Extracted file path: Extracted_file_path
Extracted file size: size
Archive path: path_to_Archive_file
Archive version: archived_object_version
Source modify time:  modify_time_of_source
---------------

在该示例中,归档和高速缓存源都不正确。归档的版本正确或高速缓存文件损坏,或者相反。

如果源在 Rational Synergy 中看起来正确,那么高速缓存文件包含正确的数据,但归档损坏。

比较文件以确定哪个正确。此类型的损坏需要手动解决。

示例:
  • 在 Rational 7.1 和 7.1.0.1 中运行 ccm archive_fix 命令:
    -----------------------
    
    ccm archive_fix /i input.txt /l output.out
    
    ------------------------
    
    NOTE: Input.txt has details of all the files or objects which need to be fixed. Objects specified should be in four-part name.
  • 在 Rational 7.2 中运行 ccm archive_fix 命令:
    ------------------------
    ccm archive_fix –ort four_part_name_of_object 
    ------------------------

修正错误后,转换归档数据

Rational Synergy 管理员如何从命令行检查归档转换的状态和进度?

在命令行上,运行此命令以显示归档转换状态:

ccm info -f "Level=%level, total=%total, unconverted=%unconverted, errors=%bad" archive_conversion-1:admin:base

管理对象的级别属性显示了最后完成的归档转换级别,其中:
  • 0 或不存在:数据库包含 GNU/BSD 归档
  • 1:数据库包含 7.1 归档,但未包含 GNU 或 BSD 归档
  • 2:归档处于 V2,采用增量压缩

归档转换完成后,数据库为什么显示在 Web Administrator 用户界面中的“归档转换”选项卡上?

所有新归档文件是在 database_path/st_root/archive/ccm_delta 目录中创建的。 归档转换完成时,只有 ccm_delta 子目录应位于 database_path/st_root/archive 中。 转换后运行 ccm fs_check 命令以检测所有错误。

如果存在其他子目录,请手动将其除去并重新运行 ccm fs_check 命令。该命令不能检测任何错误。

例如,以下是与 ccm fs_check 检测的未使用归档条目相关的警告:
INFO: unused archive entry
Archive file path: database_path/st_root/archive/source/project/ccm_rcs/1/36/editor,v
Revision number: 1.1

您可以从 Web Administrator 用户界面重新启动转换过程。 请参阅转换归档数据

如果我解压缩 Rational Synergy 7.2、Rational Synergy 7.2.1 或 Rational Synergy 7.1.0.1 中的新数据库,那么是否要执行归档转换?

不需要。解压缩的数据库包含这些版本的 Rational Synergy 中的最新归档。

我可以加速归档转换过程吗?

CCM_HOME/etc/ccm.server.properties 文件中,编辑以下行以减小 asynchronous.archive.query.pollasynchronous.archive.startup.delay 变量的值。

# asynchronous.archive.query.poll is the number of seconds
# to wait before performing a query for objects which
# require archiving
#asynchronous.archive.query.poll = 300

# asynchronous.archive.startup.delay is the number of seconds
# to wait before the first query for objects which require
# archiving. If not set, the value of asynchronous.archive.query.poll
# is used.
#asynchronous.archive.startup.delay = 300

有两个进程:转换程序(实际是取消归档程序)和归档程序。转换程序花费大部分时间等待归档程序赶上。您可以减少查询轮询的时间,以便归档程序在启动另一个归档批处理之前不等待 5 分钟。将值设置为 60 秒。对启动延迟进行相同的更改。这样,转换程序将花费更少的时间等待归档程序赶上。完成转换后,将延迟值恢复为 300。


反馈