Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Insert utf8mb4 strings to table upgraded from v2.0.0 to v2.1.2 failed #8939

Closed
darren opened this issue Jan 4, 2019 · 2 comments
Closed

Comments

@darren
Copy link
Contributor

darren commented Jan 4, 2019

Bug Report

  1. What did you do?

start tidb 2.0.0 in clean /tmp/tidb folder

git checkout v2.0.0
make 
rm -rf /tmp/tidb/
bin/tidb-server

create a table in v2.0.0

use test;
create table t1 (id int, c text default null, primary key (id)) CHARSET=utf8mb4;
replace into t1 values (1, '👼🏻');

stop the v2.0.0 server and upgrade to v2.1.2

Ctrl-C
git checkout v2.1.2
rm -f go.sum
make 
bin/tidb-server

now try insert again

use test;
replace into t1 values (1, '👼🏻');
  1. What did you expect to see?

insert should succeed without errors

  1. What did you see instead?

ERROR 1366 (HY000): incorrect utf8 value f09f91bcf09f8fbb(👼🏻) for column c

2019/01/04 14:49:29.407 conn.go:499: [warning] con:1 dispatch error:
id:1, addr:127.0.0.1:45730 status:2, collation:utf8_general_ci, user:root
"replace into t1 values (1, '👼🏻')"
[table:1366]incorrect utf8 value f09f91bcf09f8fbb(👼🏻) for column c
github.com/pingcap/errors.AddStack
        /go/pkg/mod/github.com/pingcap/errors@v0.11.0/errors.go:174
github.com/pingcap/errors.Trace
        /go/pkg/mod/github.com/pingcap/errors@v0.11.0/juju_adaptor.go:12
github.com/pingcap/tidb/table.CastValue
        /go/src/github.com/pingcap/tidb/table/column.go:197
github.com/pingcap/tidb/executor.(*InsertValues).evalRow
        /go/src/github.com/pingcap/tidb/executor/insert_common.go:237
github.com/pingcap/tidb/executor.(*InsertValues).insertRows
        /go/src/github.com/pingcap/tidb/executor/insert_common.go:186
github.com/pingcap/tidb/executor.(*ReplaceExec).Next
        /go/src/github.com/pingcap/tidb/executor/replace.go:185
github.com/pingcap/tidb/executor.(*ExecStmt).handleNoDelayExecutor
        /go/src/github.com/pingcap/tidb/executor/adapter.go:289
github.com/pingcap/tidb/executor.(*ExecStmt).Exec
        /go/src/github.com/pingcap/tidb/executor/adapter.go:236
github.com/pingcap/tidb/session.runStmt
        /go/src/github.com/pingcap/tidb/session/tidb.go:178
github.com/pingcap/tidb/session.(*session).executeStatement
        /go/src/github.com/pingcap/tidb/session/session.go:766
github.com/pingcap/tidb/session.(*session).execute
        /go/src/github.com/pingcap/tidb/session/session.go:830
github.com/pingcap/tidb/session.(*session).Execute
        /go/src/github.com/pingcap/tidb/session/session.go:783
github.com/pingcap/tidb/server.(*TiDBContext).Execute
        /go/src/github.com/pingcap/tidb/server/driver_tidb.go:233
github.com/pingcap/tidb/server.(*clientConn).handleQuery
        /go/src/github.com/pingcap/tidb/server/conn.go:876
github.com/pingcap/tidb/server.(*clientConn).dispatch
        /go/src/github.com/pingcap/tidb/server/conn.go:623
github.com/pingcap/tidb/server.(*clientConn).Run
        /go/src/github.com/pingcap/tidb/server/conn.go:481
github.com/pingcap/tidb/server.(*Server).onConn
        /go/src/github.com/pingcap/tidb/server/server.go:324
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1333
2019/01/04 14:51:05.681 server.go:316: [info] con:1 close connection
  1. What version of TiDB are you using (tidb-server -V or run select tidb_version(); on TiDB)?
Release Version: v2.1.2-dirty
Git Commit Hash: 1e06ccc019b86a67b6bad8a1e9288bd172e645e4
Git Branch: HEAD
UTC Build Time: 2019-01-04 06:38:58
GoVersion: go version go1.11.4 linux/amd64
Race Enabled: false
TiKV Min Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
Check Table Before Drop: false 
@darren
Copy link
Contributor Author

darren commented Jan 4, 2019

Duplicate of #8933

@darren
Copy link
Contributor Author

darren commented Jan 4, 2019

workaround after upgrade to v2.1.2, disable utf8 check:

set global tidb_skip_utf8_check = 1;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant