ECS: ECSSync-siirtovirhe: MySQLSyntaxErrorException: Tuntematon sarake "source_md5" kenttäluettelossa
Summary: ECSSync-siirto suoritetaan välittömästi ilman Centera-leikkeiden siirtoa.
Symptoms
ECSSync-siirto suoritetaan välittömästi ilman Powera-leikkeiden varsinaista siirtoa.
Tiedostossa /var/log/ecssync/ecs-sync.log näkyy seuraava virhe:2020-05-04 03:08:38 VAROITUS [sync-pool-1-t-15] SyncTask:
O--! object DNVBT3VHL1NE1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC epäonnistui
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Tuntematon sarake "source_md5" kenttäluettelossa
klo sun.reflect.GeneratedConstructorAccessor29.newInstance (Tuntematon lähde)
osoitteessa sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45)
... <lähtö katkaistu> ..
Cause
Seuraavassa on esimerkki viimeisimmän menettelyn mukaisesti luodusta taulukosta, joka ei sisällä tätä saraketta:
MariaDB [ecs_sync]> kuvaa <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Kenttä | Tyyppi | Null | Avain | Oletus | Ylimääräistä |
+-------------------+---------------+------+-----+---------++-------+
| source_id | Varchar(54) | EI | PRI | NULL | |
| target_id | Varchar(54) | KYLLÄ | | NULL | |
| is_directory | INT(11) | EI | | NULL | |
| Koko | BIGINT(20) | KYLLÄ | | NULL | |
| MTIME | Päivämäärä ja aika | KYLLÄ | | NULL | |
| Tila | Varchar(32) | EI | MUL | NULL | |
| transfer_start | Päivämäärä ja aika | KYLLÄ | | NULL | |
| transfer_complete | Päivämäärä ja aika | KYLLÄ | | NULL | |
| verify_start | Päivämäärä ja aika | KYLLÄ | | NULL | |
| verify_complete | Päivämäärä ja aika | KYLLÄ | | NULL | |
| retry_count | INT(11) | KYLLÄ | | NULL | |
| error_message | Varchar(2048) | KYLLÄ | | NULL | |
| is_source_deleted | INT(11) | KYLLÄ | | NULL |
|+-------------------+---------------+------+-----+---------+-------+
13 riviä sarjassa (0,00 sekuntia)
ECSSync-versio 3.2.9 lisäsi tietokantataulukkoon sarakkeen MD5-lähdetarkistussumman seuraamiseksi (tämä mainitaan julkaisutiedoissa).
Resolution
mysql Shell:
alter table <table_name> add column source_md5 VARCHAR(32);
Taulukon tulisi näyttää seuraavalta esimerkiltä, jossa on lisäsarake:
MariaDB [ecs_sync]> kuvaa <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Kenttä | Tyyppi | Null | Avain | Oletus | Ylimääräistä |
+-------------------+---------------+------+-----+---------++-------+
| source_id | Varchar(54) | EI | PRI | NULL | |
| target_id | Varchar(54) | KYLLÄ | | NULL | |
| is_directory | INT(11) | EI | | NULL | |
| Koko | BIGINT(20) | KYLLÄ | | NULL | |
| MTIME | Päivämäärä ja aika | KYLLÄ | | NULL | |
| Tila | Varchar(32) | EI | MUL | NULL | |
| transfer_start | Päivämäärä ja aika | KYLLÄ | | NULL | |
| transfer_complete | Päivämäärä ja aika | KYLLÄ | | NULL | |
| verify_start | Päivämäärä ja aika | KYLLÄ | | NULL | |
| verify_complete | Päivämäärä ja aika | KYLLÄ | | NULL | |
| retry_count | INT(11) | KYLLÄ | | NULL | |
| error_message | Varchar(2048) | KYLLÄ | | NULL | |
| is_source_deleted | INT(11) | KYLLÄ | | NULL | |
| source_md5 | Varchar(32) | KYLLÄ | | NULL |
|+-------------------+---------------+------+-----+---------+-------+
14 riviä sarjassa (0,00 sek)
MariaDB [ecs_sync]>
(jossa <table_name> on olemassa olevan taulukon nimi).