This issue is hard to reproduce, it happens 10 times in last 24 hours

duration_hr is a field with type Decimal (13, 4), I found some abnormal conversion during the ClickHouse replication, as below:
```
MySQL     ClickHouse
0.3333 -> -2147483653.2202
0.5000 -> -2147483653.0535
0.1667 -> -2147483653.3868
0.0833 -> -2147483653.4702
0.7500 -> -2147483652.8035
```
As you can see, a weired one among the normal ones:
```
│ HCAC    │ 2020-10-22 07:10:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:15:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:20:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:25:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:30:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:35:00 │ -2147483653.2202 │
│ HCAC    │ 2020-10-22 07:40:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:45:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:50:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:55:00 │           0.3333 │
│ HCAC    │ 2020-10-22 08:00:00 │           0.3333 │
│ HCAC    │ 2020-10-22 08:05:00 │           0.3333 │
```


-Lyon
{
        binlog_pos = binlog_pos_;
        binlog_name = binlog_name_;
        gtid_sets.parse(gtid_sets_);
    }
    void Position::dump(WriteBuffer & out) const
    {
        out << "\n=== Binlog Position ===" << '\n';
        out << "Binlog: " << this->binlog_name << '\n';
        out << "Position: " << this->binlog_pos << '\n';
        out << "GTIDSets: " << this->gtid_sets.toString() << '\n';
    }
    void MySQLFlavor::readPayloadImpl(ReadBuffer & payload)
    {
        if (payload.eof())
            throw Exception("Attempt to read after EOF.", ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF);
        UInt16 header = static_cast<unsigned char>(*payload.position());
        switch (header)
        {
            case PACKET_EOF:
                throw ReplicationError("Master maybe lost", ErrorCodes::CANNOT_READ_ALL_DATA);
            case PACKET_ERR:
                ERRPacket err;
                err.readPayloadWithUnpacked(payload);
                throw ReplicationError(err.error_message, ErrorCodes::UNKNOWN_EXCEPTION);
        }
        
        payload.ignore(1);
        MySQLBinlogEventReadBuffer event_payload(payload, checksum_signature_length);
        EventHeader event_header;