ECS: ECSSync-Migrationsfehler: MySQLSyntaxErrorException: Unbekannte Spalte "source_md5" in "Feldliste"

摘要: Die ECSSync-Migration wird sofort abgeschlossen, ohne dass einer der Centera-Clips tatsächlich migriert wird.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Das Problem tritt während einer ECSSync-Migration von Centera zu ECS auf.

Die ECSSync-Migration wird sofort abgeschlossen, ohne dass einer der Centera-Clips tatsächlich migriert wird.
In der Datei /var/log/ecssync/ecs-sync.log wird der folgende Fehler angezeigt:

2020-05-04 03:08:38 WARN  [sync-pool-1-t-15] SyncTask: O--! object DNVBT3VHL1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC failed
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'source_md5' in 'field list'
        at sun.reflect.GeneratedConstructorAccessor29.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        ... <output truncated> ..

 

原因

Der Fehler tritt auf, weil Sie eine Datenbanktabelle verwenden, die von einer früheren Version von ECSSync erstellt wurde.

Nachfolgend finden Sie ein Beispiel für die Tabelle, die gemäß dem neuesten Verfahren erstellt wurde. Diese Tabelle enthält nicht die Spalte source_md5:

MariaDB [ecs_sync]> describe <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Field             | Type          | Null | Key | Default | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id         | varchar(54)   | NO   | PRI | NULL    |       |
| target_id         | varchar(54)   | YES  |     | NULL    |       |
| is_directory      | int(11)       | NO   |     | NULL    |       |
| size              | bigint(20)    | YES  |     | NULL    |       |
| mtime             | datetime      | YES  |     | NULL    |       |
| status            | varchar(32)   | NO   | MUL | NULL    |       |
| transfer_start    | datetime      | YES  |     | NULL    |       |
| transfer_complete | datetime      | YES  |     | NULL    |       |
| verify_start      | datetime      | YES  |     | NULL    |       |
| verify_complete   | datetime      | YES  |     | NULL    |       |
| retry_count       | int(11)       | YES  |     | NULL    |       |
| error_message     | varchar(2048) | YES  |     | NULL    |       |
| is_source_deleted | int(11)       | YES  |     | NULL    |       |
+-------------------+---------------+------+-----+---------+-------+
13 rows in set (0.00 sec)

ECSSync Version 3.2.9 hat der Datenbanktabelle eine Spalte hinzugefügt, um die MD5-Prüfsumme der Quelle nachzuverfolgen (dies wird in den Versionshinweisen erwähnt).

 

解决方案

Nach dem Upgrade auf diese Version müssen Sie entweder eine neue Datenbanktabelle erstellen oder die entsprechende Spalte hinzufügen. Führen Sie die folgenden Schritte in einer MySQL-Shell aus:

alter table <table_name> add column source_md5 VARCHAR(32);

Die Tabelle sollte wie im folgenden Beispiel aussehen, mit der zusätzlichen Spalte:

MariaDB [ecs_sync]> describe <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Field             | Type          | Null | Key | Default | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id         | varchar(54)   | NO   | PRI | NULL    |       |
| target_id         | varchar(54)   | YES  |     | NULL    |       |
| is_directory      | int(11)       | NO   |     | NULL    |       |
| size              | bigint(20)    | YES  |     | NULL    |       |
| mtime             | datetime      | YES  |     | NULL    |       |
| status            | varchar(32)   | NO   | MUL | NULL    |       |
| transfer_start    | datetime      | YES  |     | NULL    |       |
| transfer_complete | datetime      | YES  |     | NULL    |       |
| verify_start      | datetime      | YES  |     | NULL    |       |
| verify_complete   | datetime      | YES  |     | NULL    |       |
| retry_count       | int(11)       | YES  |     | NULL    |       |
| error_message     | varchar(2048) | YES  |     | NULL    |       |
| is_source_deleted | int(11)       | YES  |     | NULL    |       |
| source_md5        | varchar(32)   | YES  |     | NULL    |       |
+-------------------+---------------+------+-----+---------+-------+
14 rows in set (0.00 sec)

MariaDB [ecs_sync]>

(Dabei <ist table_name> der Name Ihrer vorhandenen Tabelle).

 

受影响的产品

ECS
文章属性
文章编号: 000081990
文章类型: Solution
上次修改时间: 07 7月 2026
版本:  5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。