Skip to content
master
Go to file
Code

Latest commit

…FAILS

When a chunk file has more data than would fit in a single transaction,
as limited by configurations like group_replication_transaction_size_limit
or max_binlog_cache_size, the LOAD DATA would fail with an error. The
problem is compounded by the fact that certain tables can end up with
chunks that are much larger than the specified bytesPerChunk value,
no matter how small that value is set.

This patch works around that by flushing out chunks during load (by
prematurely ending the LOAD DATA operation at a whole row boundary),
whenever the number of bytes sent is about to go over
bytesPerChunk * 1.5 bytes. LOAD DATA is then re-issued to load the rest
of the file.

Also:

Store bytesPerChunk used during dump in the dump metadata, along with
the uncompressed chunk file sizes in @.done.json

Increased default bytesPerChunk to 64M since impact of over-sized
chunks is now reduced, while still accounting for relatively
small values of group_replication_transaction_size_limit.

Change-Id: I890124f92487269c8b7c650de60c0a9d1c446431
6e184b0

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
res
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README

Copyright (c) 2016, 2020, Oracle and/or its affiliates.

This is a release of MySQL Shell (part of MySQL Server), an interactive
JavaScript, Python and SQL console interface, supporting development and
administration for the MySQL Server. It provides built in scriptable APIs
that support the creation and management of MySQL InnoDB clusters,
as well as a modern fluent CRUD API for the MySQL Document Store.
Connections to MySQL server can use X Protocol or classic MySQL protocol.

The AdminAPI enables you to work with MySQL InnoDB cluster, providing
an integrated solution for high availability and scalability using
InnoDB based MySQL databases, without requiring advanced MySQL
expertise. For more information about how to configure and work with
MySQL InnoDB cluster see
https://dev.mysql.com/doc/refman/en/mysql-innodb-cluster-userguide.html.

The Document Store X DevAPI enables developers and DBAs to create "schema-less"
JSON document collections and perform Create, Update, Read, Delete (CRUD)
operations on those collections without in depth knowledge of the SQL language.

Additionally, MySQL Shell (part of MySQL Server) provides partial compatibility
with the mysql command line client by supporting many of the same command line
options. As with the mysql command line, MySQL Shell (part of MySQL Server) can
also be used to connect to and send SQL commands to MySQL server using the
classic MySQL protocol.

For more information about how to use MySQL Shell see
https://dev.mysql.com/doc/mysql-shell/8.0/en/

For more information about how to configure and work with an InnoDB cluster
see https://dev.mysql.com/doc/refman/en/mysql-innodb-cluster-userguide.html

For more information about how to use X DevAPI and the MySQL Document
Store see https://dev.mysql.com/doc/refman/en/document-store.html

For JavaScript API documentation, see:
https://dev.mysql.com/doc/dev/mysqlsh-api-javascript/8.0/

For Python API documentation, see:
https://dev.mysql.com/doc/dev/mysqlsh-api-python/8.0/

For full documentation on MySQL Server, MySQL Shell and related
topics, see: https://dev.mysql.com/doc/refman/en/

If you want to write applications that use the the CRUD based X DevAPI use the
latest MySQL Connectors for your language of choice. For documentation see
https://dev.mysql.com/doc/index-connectors.html

License information can be found in the LICENSE file.

This distribution may include materials developed by third parties.
For license and attribution notices for these materials, please refer to
the LICENSE file.

For more information on MySQL Shell (part of MySQL Server), visit
  https://dev.mysql.com/doc/mysql-shell/8.0/en/

For additional downloads and the source of MySQL Shell (part of MySQL Server),
visit
  http://dev.mysql.com/downloads

MySQL Shell (part of MySQL Server) is brought to you by the MySQL team at
Oracle.

About

MySQL Shell is a new command line scriptable shell for MySQL. It supports JavaScript and Python.

Resources

License

Packages

No packages published
You can’t perform that action at this time.