From cf975c59a73e1753986f21296633d0831cadca59 Mon Sep 17 00:00:00 2001 From: Ben Osheroff Date: Thu, 3 Sep 2015 04:50:12 -0700 Subject: [PATCH 1/3] v0.11.0-PRE1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7c77cb977..628fd2b33 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.zendesk maxwell - 0.10.0-RC4 + 0.11.0-PRE1 jar maxwell From c63c8f038199b745ed3b1204eaefeed4dc30089f Mon Sep 17 00:00:00 2001 From: Ben Osheroff Date: Thu, 3 Sep 2015 13:32:43 -0700 Subject: [PATCH 2/3] handle COMMIT query_events. I can't trigger this but some folks can. --- .../java/com/zendesk/maxwell/MaxwellParser.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zendesk/maxwell/MaxwellParser.java b/src/main/java/com/zendesk/maxwell/MaxwellParser.java index 39d9b78c4..3c71d953e 100644 --- a/src/main/java/com/zendesk/maxwell/MaxwellParser.java +++ b/src/main/java/com/zendesk/maxwell/MaxwellParser.java @@ -187,10 +187,17 @@ private LinkedList getTransactionEvents() throws Excep break; case MySQLConstants.QUERY_EVENT: QueryEvent qe = (QueryEvent) v4Event; - // TODO: need to handle this case. - // The MySQL guys say some storage engines will output a "COMMIT" QUERY_EVENT at the - // end of the stream. - throw new RuntimeException("Unhandled QueryEvent: " + qe); + + if ( qe.getSql().toString() == "COMMIT" ) { + // some storage engines(?) will output a "COMMIT" QUERY_EVENT instead of a XID_EVENT. + // not sure exactly how to trigger this. + if ( !list.isEmpty() ) + list.getLast().setTXCommit(); + + return list; + } else { + throw new RuntimeException("Unhandled QueryEvent: " + qe); + } case MySQLConstants.XID_EVENT: XidEvent xe = (XidEvent) v4Event; for ( MaxwellAbstractRowsEvent e : list ) From 5ad6f5c7d5402ed57c6bdfb7f6dc4b3a07ce5807 Mon Sep 17 00:00:00 2001 From: Ben Osheroff Date: Thu, 3 Sep 2015 13:41:51 -0700 Subject: [PATCH 3/3] fix COMMIT string equality --- src/main/java/com/zendesk/maxwell/MaxwellParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/zendesk/maxwell/MaxwellParser.java b/src/main/java/com/zendesk/maxwell/MaxwellParser.java index 3c71d953e..5cae5c4d0 100644 --- a/src/main/java/com/zendesk/maxwell/MaxwellParser.java +++ b/src/main/java/com/zendesk/maxwell/MaxwellParser.java @@ -188,7 +188,7 @@ private LinkedList getTransactionEvents() throws Excep case MySQLConstants.QUERY_EVENT: QueryEvent qe = (QueryEvent) v4Event; - if ( qe.getSql().toString() == "COMMIT" ) { + if ( qe.getSql().toString().equals("COMMIT") ) { // some storage engines(?) will output a "COMMIT" QUERY_EVENT instead of a XID_EVENT. // not sure exactly how to trigger this. if ( !list.isEmpty() )