Skip to content

Commit

Permalink
v1.0.0-RC1, "Richard Buckner's release"
Browse files Browse the repository at this point in the history
- modifications to the way the bootstrap utility works
- fix a race condition crash bug in bootstrapping
- fix a parser bug
  • Loading branch information
Ben Osheroff committed Feb 11, 2016
1 parent a9aabe4 commit a3f826f
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 12 deletions.
2 changes: 1 addition & 1 deletion build/release
Expand Up @@ -33,7 +33,7 @@ def bump
end

def build
do_system("mvn clean package")
do_system("make package")

commit_template = Tempfile.new('maxwell_build')
commit_template.write <<-EOL
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/bootstrapping.md
@@ -1,4 +1,4 @@
*Maxwell's bootstrapping is available in the [1.0.0-PRE2 release](https://github.com/zendesk/maxwell/releases/tag/v1.0.0-PRE2)*
*Maxwell's bootstrapping is available in the [1.0.0-RC1 release](https://github.com/zendesk/maxwell/releases/tag/v1.0.0-RC1)*

### Using the maxwell-bootstrap utility
***
Expand Down
2 changes: 1 addition & 1 deletion docs/site/bootstrapping/index.html
Expand Up @@ -171,7 +171,7 @@
</div></div>
<div class="col-md-10" role="main">

<p><em>Maxwell's bootstrapping is available in the <a href="https://github.com/zendesk/maxwell/releases/tag/v1.0.0-PRE2">1.0.0-PRE2 release</a></em></p>
<p><em>Maxwell's bootstrapping is available in the <a href="https://github.com/zendesk/maxwell/releases/tag/v1.0.0-RC1">1.0.0-RC1 release</a></em></p>
<h3 id="using-the-maxwell-bootstrap-utility">Using the maxwell-bootstrap utility</h3>
<hr />
<p>You can use the <code>maxwell-bootstrap</code> utility to bootstrap tables from the command-line.</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/site/mkdocs/search_index.json
Expand Up @@ -27,7 +27,7 @@
},
{
"location": "/bootstrapping/",
"text": "Maxwell's bootstrapping is available in the \n1.0.0-PRE2 release\n\n\nUsing the maxwell-bootstrap utility\n\n\n\n\nYou can use the \nmaxwell-bootstrap\n utility to bootstrap tables from the command-line.\n\n\n\n\n\n\n\n\noption\n\n\ndescription\n\n\n\n\n\n\n\n\n\n\n--log_level LOG_LEVEL\n\n\nlog level (DEBUG, INFO, WARN or ERROR)\n\n\n\n\n\n\n--user USER\n\n\nmysql username\n\n\n\n\n\n\n--password PASSWORD\n\n\nmysql password\n\n\n\n\n\n\n--host HOST\n\n\nmysql host\n\n\n\n\n\n\n--port PORT\n\n\nmysql port\n\n\n\n\n\n\n--database DATABASE\n\n\nmysql database containing the table to bootstrap\n\n\n\n\n\n\n--table TABLE\n\n\nmysql table to bootstrap\n\n\n\n\n\n\n\n\nUsing the maxwell.bootstrap table\n\n\n\n\nAlternatively you can insert a row in the \nmaxwell.bootstrap\n table to trigger a bootstrap.\n\n\nmysql\n insert into maxwell.bootstrap (database_name, table_name) values ('fooDB', 'barTable');\n\n\n\n\nAsync vs Sync bootstrapping\n\n\n\n\nThe Maxwell replicator is single threaded; events are captured by one thread from the binlog and replicated to Kafka one message at a time.\nWhen running Maxwell with \n--bootstrapper=sync\n, the same thread is used to do bootstrapping, meaning that all binlog events are blocked until bootstrapping is complete.\nRunning Maxwell with \n--bootstrapper=async\n however, will make Maxwell spawn a separate thread for bootstrapping.\nIn this async mode, non-bootstrapped tables are replicated as normal by the main thread, while the binlog events for bootstrapped tables are queued and sent to the replication stream at the end of the bootstrap process.\n\n\nBootstrapping Data Format\n\n\n\n\n\n\na bootstrap starts with a document with \ntype = \"bootstrap-start\"\n\n\nthen documents with \ntype = \"insert\"\n (one per row in the table)\n\n\nthen one document per \nINSERT\n, \nUPDATE\n or \nDELETE\n that occurred since the beginning of bootstrap\n\n\nfinally a document with \ntype = \"bootstrap-complete\"\n\n\n\n\nHere's a complete example:\n\n\nmysql\n create table fooDB.barTable(txt varchar(255));\nmysql\n insert into fooDB.barTable (txt) values (\nhello\n), (\nbootstrap!\n);\nmysql\n insert into maxwell.bootstrap (database_name, table_name) values (\nfooDB\n, \nbarTable\n);\n\n\n\n\nCorresponding replication stream output of table \nfooDB.barTable\n:\n\n\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\ninsert\n,\nts\n:1450557598,\nxid\n:13,\ndata\n:{\ntxt\n:\nhello\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\ninsert\n,\nts\n:1450557598,\nxid\n:13,\ndata\n:{\ntxt\n:\nbootstrap!\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-start\n,\nts\n:1450557744,\ndata\n:{}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-insert\n,\nts\n:1450557744,\ndata\n:{\ntxt\n:\nhello\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-insert\n,\nts\n:1450557744,\ndata\n:{\ntxt\n:\nbootstrap!\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-complete\n,\nts\n:1450557744,\ndata\n:{}}\n\n\n\n\n\n jQuery(document).ready(function () {\n jQuery(\"table\").addClass(\"table table-condensed table-bordered table-hover\");\n });",
"text": "Maxwell's bootstrapping is available in the \n1.0.0-RC1 release\n\n\nUsing the maxwell-bootstrap utility\n\n\n\n\nYou can use the \nmaxwell-bootstrap\n utility to bootstrap tables from the command-line.\n\n\n\n\n\n\n\n\noption\n\n\ndescription\n\n\n\n\n\n\n\n\n\n\n--log_level LOG_LEVEL\n\n\nlog level (DEBUG, INFO, WARN or ERROR)\n\n\n\n\n\n\n--user USER\n\n\nmysql username\n\n\n\n\n\n\n--password PASSWORD\n\n\nmysql password\n\n\n\n\n\n\n--host HOST\n\n\nmysql host\n\n\n\n\n\n\n--port PORT\n\n\nmysql port\n\n\n\n\n\n\n--database DATABASE\n\n\nmysql database containing the table to bootstrap\n\n\n\n\n\n\n--table TABLE\n\n\nmysql table to bootstrap\n\n\n\n\n\n\n\n\nUsing the maxwell.bootstrap table\n\n\n\n\nAlternatively you can insert a row in the \nmaxwell.bootstrap\n table to trigger a bootstrap.\n\n\nmysql\n insert into maxwell.bootstrap (database_name, table_name) values ('fooDB', 'barTable');\n\n\n\n\nAsync vs Sync bootstrapping\n\n\n\n\nThe Maxwell replicator is single threaded; events are captured by one thread from the binlog and replicated to Kafka one message at a time.\nWhen running Maxwell with \n--bootstrapper=sync\n, the same thread is used to do bootstrapping, meaning that all binlog events are blocked until bootstrapping is complete.\nRunning Maxwell with \n--bootstrapper=async\n however, will make Maxwell spawn a separate thread for bootstrapping.\nIn this async mode, non-bootstrapped tables are replicated as normal by the main thread, while the binlog events for bootstrapped tables are queued and sent to the replication stream at the end of the bootstrap process.\n\n\nBootstrapping Data Format\n\n\n\n\n\n\na bootstrap starts with a document with \ntype = \"bootstrap-start\"\n\n\nthen documents with \ntype = \"insert\"\n (one per row in the table)\n\n\nthen one document per \nINSERT\n, \nUPDATE\n or \nDELETE\n that occurred since the beginning of bootstrap\n\n\nfinally a document with \ntype = \"bootstrap-complete\"\n\n\n\n\nHere's a complete example:\n\n\nmysql\n create table fooDB.barTable(txt varchar(255));\nmysql\n insert into fooDB.barTable (txt) values (\nhello\n), (\nbootstrap!\n);\nmysql\n insert into maxwell.bootstrap (database_name, table_name) values (\nfooDB\n, \nbarTable\n);\n\n\n\n\nCorresponding replication stream output of table \nfooDB.barTable\n:\n\n\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\ninsert\n,\nts\n:1450557598,\nxid\n:13,\ndata\n:{\ntxt\n:\nhello\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\ninsert\n,\nts\n:1450557598,\nxid\n:13,\ndata\n:{\ntxt\n:\nbootstrap!\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-start\n,\nts\n:1450557744,\ndata\n:{}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-insert\n,\nts\n:1450557744,\ndata\n:{\ntxt\n:\nhello\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-insert\n,\nts\n:1450557744,\ndata\n:{\ntxt\n:\nbootstrap!\n}}\n{\ndatabase\n:\nfooDB\n,\ntable\n:\nbarTable\n,\ntype\n:\nbootstrap-complete\n,\nts\n:1450557744,\ndata\n:{}}\n\n\n\n\n\n jQuery(document).ready(function () {\n jQuery(\"table\").addClass(\"table table-condensed table-bordered table-hover\");\n });",
"title": "Bootstrapping"
},
{
Expand Down
14 changes: 7 additions & 7 deletions docs/site/sitemap.xml
Expand Up @@ -4,55 +4,55 @@

<url>
<loc>None/</loc>
<lastmod>2016-02-10</lastmod>
<lastmod>2016-02-11</lastmod>
<changefreq>daily</changefreq>
</url>



<url>
<loc>None/quickstart/</loc>
<lastmod>2016-02-10</lastmod>
<lastmod>2016-02-11</lastmod>
<changefreq>daily</changefreq>
</url>



<url>
<loc>None/config/</loc>
<lastmod>2016-02-10</lastmod>
<lastmod>2016-02-11</lastmod>
<changefreq>daily</changefreq>
</url>



<url>
<loc>None/kafka/</loc>
<lastmod>2016-02-10</lastmod>
<lastmod>2016-02-11</lastmod>
<changefreq>daily</changefreq>
</url>



<url>
<loc>None/dataformat/</loc>
<lastmod>2016-02-10</lastmod>
<lastmod>2016-02-11</lastmod>
<changefreq>daily</changefreq>
</url>



<url>
<loc>None/bootstrapping/</loc>
<lastmod>2016-02-10</lastmod>
<lastmod>2016-02-11</lastmod>
<changefreq>daily</changefreq>
</url>



<url>
<loc>None/compat/</loc>
<lastmod>2016-02-10</lastmod>
<lastmod>2016-02-11</lastmod>
<changefreq>daily</changefreq>
</url>

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -4,7 +4,7 @@

<groupId>com.zendesk</groupId>
<artifactId>maxwell</artifactId>
<version>1.0.0-PRE2</version>
<version>1.0.0-RC1</version>
<packaging>jar</packaging>

<name>maxwell</name>
Expand Down

0 comments on commit a3f826f

Please sign in to comment.