bigcy / tungsten-replicator

Automatically exported from code.google.com/p/tungsten-replicator
0 stars 0 forks source link

thl -hex fails id used with -charset #613

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. insert a row using RBR
2. show that row with thl -seqno 5 
3. try to display it with -hex (nothing happens!)
4. try to display it with -charset utf8
5. try both options at the same time

What is the expected output?

a view of the record in hex

What do you see instead?

thl list -seqno 5 -hex
SEQ# = 5 / FRAG# = 0 (last frag)
- TIME = 2013-06-06 10:38:19.0
- EPOCH# = 0
- EVENTID = mysql-bin.000002:0000000000001195;0
- SOURCEID = 127.0.0.1
- METADATA = [mysql_server_id=101;dbms_type=mysql;service=tsandbox;shard=test]
- TYPE = com.continuent.tungsten.replicator.event.ReplDBMSEvent
- SQL(0) =
 - ACTION = INSERT
 - SCHEMA = test
 - TABLE = t1
 - ROW# = 0
  - COL(1: ) = 1
  - COL(2: ) = [B@27bc82e7

thl list -seqno 5  -charset utf8
SEQ# = 5 / FRAG# = 0 (last frag)
- TIME = 2013-06-06 10:38:19.0
- EPOCH# = 0
- EVENTID = mysql-bin.000002:0000000000001195;0
- SOURCEID = 127.0.0.1
- METADATA = [mysql_server_id=101;dbms_type=mysql;service=tsandbox;shard=test]
- TYPE = com.continuent.tungsten.replicator.event.ReplDBMSEvent
- SQL(0) =
 - ACTION = INSERT
 - SCHEMA = test
 - TABLE = t1
 - ROW# = 0
  - COL(1: ) = 1
  - COL(2: ) = inserted by node #1

thl list -seqno 5 -hex -charset utf8
SEQ# = 5 / FRAG# = 0 (last frag)
- TIME = 2013-06-06 10:38:19.0
- EPOCH# = 0
- EVENTID = mysql-bin.000002:0000000000001195;0
- SOURCEID = 127.0.0.1
Fatal error: 2
java.util.IllegalFormatPrecisionException: 2
    at java.util.Formatter$FormatSpecifier.checkInteger(Unknown Source)
    at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
    at java.util.Formatter.parse(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.lang.String.format(Unknown Source)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.formatColumn(THLManagerCtrl.java:234)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.printRowChangeData(THLManagerCtrl.java:754)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.printReplDBMSEvent(THLManagerCtrl.java:587)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.listEvents(THLManagerCtrl.java:382)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.main(THLManagerCtrl.java:977)

What is the possible cause?

The -hex option does not seem to work, and it does not expect encoding with a 
charset

What is the proposed solution?

1) make the -hex option work well alone
2) make it detect when a charset option was invoked

Original issue reported on code.google.com by g.maxia on 6 Jun 2013 at 8:45

GoogleCodeExporter commented 9 years ago

Original comment by linas.vi...@continuent.com on 19 Jun 2013 at 3:54

GoogleCodeExporter commented 9 years ago

Original comment by linas.vi...@continuent.com on 19 Jun 2013 at 3:55

GoogleCodeExporter commented 9 years ago

Original comment by linas.vi...@continuent.com on 26 Aug 2013 at 1:54

GoogleCodeExporter commented 9 years ago
There won't be a 2.1.3.

Original comment by linas.vi...@continuent.com on 17 Sep 2013 at 10:13

GoogleCodeExporter commented 9 years ago
Please provide:

1. CREATE TABLE for this test.
2. INSERT INTO statement you have used.

Original comment by linas.vi...@continuent.com on 15 Oct 2013 at 9:39

GoogleCodeExporter commented 9 years ago
Any insert will do. A simple example:

create table qa( i int not null primary key, c char (20));
set binlog_format=row;
insert into qa values (1, 'testing thl');

thl list -seqno 68 -charset utf8 -hex
SEQ# = 68 / FRAG# = 0 (last frag)
- TIME = 2013-12-02 14:50:20.0
- EPOCH# = 0
- EVENTID = mysql-bin.000002:0000000000015250;0
- SOURCEID = host1
Fatal error: 2
java.util.IllegalFormatPrecisionException: 2
    at java.util.Formatter$FormatSpecifier.checkInteger(Unknown Source)
    at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
    at java.util.Formatter.parse(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.lang.String.format(Unknown Source)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.formatColumn(THLManagerCtrl.java:247)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.printRowChangeData(THLManagerCtrl.java:796)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.printReplDBMSEvent(THLManagerCtrl.java:628)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.listEvents(THLManagerCtrl.java:423)
    at com.continuent.tungsten.replicator.thl.THLManagerCtrl.main(THLManagerCtrl.java:1030)

Original comment by g.maxia on 2 Dec 2013 at 1:50

GoogleCodeExporter commented 9 years ago

Original comment by linas.vi...@continuent.com on 18 Dec 2013 at 1:38

GoogleCodeExporter commented 9 years ago

Original comment by linas.vi...@continuent.com on 2 May 2014 at 9:12

GoogleCodeExporter commented 9 years ago
Will not use third version digit for normal releases anymore. It will only be 
increment for maintenance ones.

Original comment by linas.vi...@continuent.com on 26 May 2014 at 5:01

GoogleCodeExporter commented 9 years ago

Original comment by linas.vi...@continuent.com on 19 Jan 2015 at 2:20