ECS: ECSSync Migration Error: MySQLSyntaxErrorException: неизвестный столбец «source_md5» в списке полей

摘要: Миграция ECSSync завершается мгновенно без переноса каких-либо клипов Centera.

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

症状

Проблема возникала во время переноса ECSSync из Centera в ECS.

Миграция ECSSync завершается мгновенно, без необходимости переноса каких-либо зажимов Centera.
В файле /var/log/ecssync/ecs-sync.log появляется следующая ошибка:

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> ..

 

原因

Ошибка возникает из-за того, что используется таблица базы данных, созданная предыдущей версией ECSSync.

Ниже приведен пример таблицы, созданной в соответствии с последней процедурой. В эту таблицу не входит столбец 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 версии 3.2.9 в таблицу базы данных добавлен столбец для отслеживания контрольной суммы исходного MD5 (он упоминается в примечаниях к выпуску).

 

解决方案

После обновления до этой версии необходимо либо создать новую таблицу базы данных, либо добавить соответствующий столбец. Выполните следующие действия в оболочке MySQL:

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

Таблица должна выглядеть, как в следующем примере, с дополнительным столбцом:

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]>

(где <table_name> — имя существующей таблицы).

 

受影响的产品

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