Just added a TiFlash node successfully using tiup, but it keeps failing to start with a Syntax error

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: 刚通过tiup成功扩容tiflash的节点报Syntax error错误一直起不来

| username: zhimadi

[TiDB Usage Environment] Testing
[TiDB Version] v5.4.2
[Reproduction Path] Operations performed that led to the issue

  1. Used tiup to scale out TiFlash nodes
  2. Used ALTER TABLE test.customer SET TIFLASH REPLICA 1; to synchronize the columnar data of one table.

[Encountered Issue: Phenomenon and Impact]
After successful scaling, the node remains in a down state. Checking the tiflash_error.log shows:
[2023/04/04 14:54:54.327 +08:00] [ERROR] [Server.cpp:1201] [“Application:Bootstrap failed because sync schema error: Syntax error: Not a valid integer: 0.00\nWe will sleep for 3 seconds and try again.”] [thread_id=1]
[2023/04/04 14:54:58.567 +08:00] [ERROR] [] [“SchemaSyncService:DB::SchemaSyncService::SchemaSyncService(DB::Context&)::<lambda()>: Sync schemas failed by Syntax error: Not a valid integer: 0.00”] [thread_id=14]

Upon inspecting the database table structure, it was found that a certain table had the field: quantity int(11) NOT NULL DEFAULT ‘0.00’ COMMENT ‘purchase quantity’,
The statement used to correct it: ALTER TABLE t1 MODIFY COLUMN quantity int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘purchase quantity’
However, it still has no effect, and the same error persists, preventing the node from starting:
[2023/04/04 15:11:12.267 +08:00] [INFO] [StorageDeltaMerge.cpp:93] [“StorageDeltaMerge:updateTableColumnInfo: TableName t_430209 ordinary columns format version: 1\n16 columns:\nid Int64\ncompany_id Int32\ncompany_shop_id Int32\nshop_id Int32\norder_log_id Int64\nrules_id Int32\namount Decimal(20,2)\nquantity Int32\nrenew_amount Decimal(20,2)\nperiod Int8\norigin_end_time Int64\nchange_end_time Int64\ndeduction_status Int8\nis_deleted Int8\ncreate_time Int32\nupdate_time Int32\n materialized columns format version: 1\n0 columns:\n”] [thread_id=1]
[2023/04/04 15:11:12.272 +08:00] [ERROR] [Server.cpp:1201] [“Application:Bootstrap failed because sync schema error: Syntax error: Not a valid integer: 0.00\nWe will sleep for 3 seconds and try again.”] [thread_id=1]

[Resource Configuration]
[Attachments: Screenshots/Logs/Monitoring]

| username: dba-kit | Original post link

First cancel, then try adding again

ALTER TABLE test.customer SET TIFLASH REPLICA 0;
-- After TiFlash restarts successfully, execute the following
ALTER TABLE test.customer SET TIFLASH REPLICA 1;
| username: tidb狂热爱好者 | Original post link

Are you synchronizing TiDB CDC to TiDB? The downstream TiDB cannot use TiFlash.

| username: zhimadi | Original post link

Ah, I thought of this method myself as well. Tried it, but it didn’t work. The status is down and won’t come up.

| username: zhimadi | Original post link

The cluster has a TiCDC node, but it synchronizes to Kafka.

| username: tidb狂热爱好者 | Original post link

Scale down and then scale up again

| username: zhimadi | Original post link

Hmm, let me try. TiFlash offline status keeps showing Pending Offline.

| username: tidb菜鸟一只 | Original post link

Create a test table and see if you can create a TiFlash replica.

| username: zhimadi | Original post link

Scaling down and then scaling up doesn’t work either, it still reports the same issue. [“SchemaSyncService:DB::SchemaSyncService::SchemaSyncService(DB::Context&)::<lambda()>: Sync schemas failed by Syntax error: Not a valid integer: 0.00”] [thread_id=14]

| username: zhimadi | Original post link

The issue is resolved. I deleted the table and then recreated it.

| username: system | Original post link

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.