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

Bug #76852 - Segmentation fault while starting MySQL with binary log in disk full Linux #109

Closed
wants to merge 1 commit into
base: 5.6
from

Conversation

Projects
None yet
2 participants
@ShahriyarR

ShahriyarR commented Nov 9, 2016

According to BUG report, my_printf_warning function is calling *sql_print_warning_hook which is NULL/uninitialized at that point of crash.
The 2 possible solution is initialize sql_print_warning_hook= sql_print_warning at the top of init_server_components() or to add a check for sql_print_warning_hook inside my_error.c/my_printf_warning(). The best to have both of them.

@mysql-oca-bot

This comment has been minimized.

Show comment
Hide comment
@mysql-oca-bot

mysql-oca-bot Nov 9, 2016

Hi, thank you for submitting this pull request. In order to consider your code we need you to sign the Oracle Contribution Agreement (OCA). Please review the details and follow the instructions at http://www.oracle.com/technetwork/community/oca-486395.html
Please make sure to include your MySQL bug system user (email) in the returned form.
Thanks

mysql-oca-bot commented Nov 9, 2016

Hi, thank you for submitting this pull request. In order to consider your code we need you to sign the Oracle Contribution Agreement (OCA). Please review the details and follow the instructions at http://www.oracle.com/technetwork/community/oca-486395.html
Please make sure to include your MySQL bug system user (email) in the returned form.
Thanks

@ShahriyarR

This comment has been minimized.

Show comment
Hide comment
@ShahriyarR

ShahriyarR Nov 9, 2016

I have already did this and it is approved.MySQL bug system user/email -> rzayev.sehriyar@gmail.com09.11.2016, 16:48, "mysql-oca-bot" notifications@github.com:Hi, thank you for submitting this pull request. In order to consider your code we need you to sign the Oracle Contribution Agreement (OCA). Please review the details and follow the instructions at http://www.oracle.com/technetwork/community/oca-486395.html
Please make sure to include your MySQL bug system user (email) in the returned form.
Thanks

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

Shahriyar Rzayev     : Linux/MySQL Administrator(OCP,RHCSA)Personal blog        : http://mysql.azBug Hunter as nature : MySQL BUG Database

ShahriyarR commented Nov 9, 2016

I have already did this and it is approved.MySQL bug system user/email -> rzayev.sehriyar@gmail.com09.11.2016, 16:48, "mysql-oca-bot" notifications@github.com:Hi, thank you for submitting this pull request. In order to consider your code we need you to sign the Oracle Contribution Agreement (OCA). Please review the details and follow the instructions at http://www.oracle.com/technetwork/community/oca-486395.html
Please make sure to include your MySQL bug system user (email) in the returned form.
Thanks

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

Shahriyar Rzayev     : Linux/MySQL Administrator(OCP,RHCSA)Personal blog        : http://mysql.azBug Hunter as nature : MySQL BUG Database

@mysql-oca-bot

This comment has been minimized.

Show comment
Hide comment
@mysql-oca-bot

mysql-oca-bot Nov 9, 2016

Hi, thank you for your contribution. Please confirm this code is submitted under the terms of the OCA (Oracle's Contribution Agreement) you have previously signed by cutting and pasting the following text as a comment:
"I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it."
Thanks

mysql-oca-bot commented Nov 9, 2016

Hi, thank you for your contribution. Please confirm this code is submitted under the terms of the OCA (Oracle's Contribution Agreement) you have previously signed by cutting and pasting the following text as a comment:
"I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it."
Thanks

@ShahriyarR

This comment has been minimized.

Show comment
Hide comment
@ShahriyarR

ShahriyarR Nov 9, 2016

I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

ShahriyarR commented Nov 9, 2016

I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

@mysql-oca-bot

This comment has been minimized.

Show comment
Hide comment
@mysql-oca-bot

mysql-oca-bot Nov 9, 2016

Hi, thank you for your contribution. Your code has been assigned to an internal queue. Please follow
bug http://bugs.mysql.com/bug.php?id=76852 for updates.
Thanks

mysql-oca-bot commented Nov 9, 2016

Hi, thank you for your contribution. Your code has been assigned to an internal queue. Please follow
bug http://bugs.mysql.com/bug.php?id=76852 for updates.
Thanks

gunnarku added a commit to gunnarku/mysql-8.0 that referenced this pull request Jul 21, 2017

Fixing prefix bloom filter (#109)
Summary:
This diff fixes two bugs that returned missing rows with prefix bloom
filter.
1. Range scan with equal predicates (i.e. WHERE id1=1 AND id2>=1). In
this case, equal condition length should be (index_id + id1) and prefix
bloom filter should be skipped if the length is shorter than prefix
bloom length. Without this diff, equal condition length was (index_id +
id1 + id2), which was incorrect.

2. IN clause with different condition length (i.e. WHERE name IN
('AAAAAAA', 'A'). In this case, ha_rocksdb::setup_index_scan() is called
multiple times, and equal condition length is different. So whether to
use prefix bloom filter should be decided one by one.

@update-submodule: rocksdb

Test Plan: bloomfilter2

Reviewers: jkedgar, maykov, hermanlee4, spetrunia

Reviewed By: spetrunia

Differential Revision: https://reviews.facebook.net/D46851
Differential Revision: https://reviews.facebook.net/D47085
Differential Revision: https://reviews.facebook.net/D47169
Differential Revision: https://reviews.facebook.net/D50181

gunnarku added a commit to gunnarku/mysql-8.0 that referenced this pull request Jul 21, 2017

Reject binlog_format!=ROW from non-SQL threads in MyRocks (#109)
Summary:
MyRocks doesn't support next-key locking so binlog_format!=ROW
may cause data inconsistency. On 5.6 slaves, binlog_format!=ROW is fine
because no concurrent access to the same table is guaranteed.

This diff changes as below.
- Rejecting updates (locking reads, including SELECT FOR UPDATE) on master
- No behavior changes on slave
- No behavior changes if binlog was disabled on the session
- Added a new session variable rocksdb_unsafe_for_binlog to optionally
      allow writing with statement based binary logging

Test Plan: mtr, new test case rpl_statement

Reviewers: spetrunia, hermanlee4, jkedgar, santoshb

Reviewed By: santoshb

Subscribers: webscalesql-eng

Differential Revision: https://reviews.facebook.net/D51231
Differential Revision: https://reviews.facebook.net/D51489
Differential Revision: https://reviews.facebook.net/D51555
Differential Revision: https://reviews.facebook.net/D51597

gunnarku added a commit to facebook/mysql-8.0 that referenced this pull request Jul 21, 2017

Fixing prefix bloom filter (#109)
Summary:
This diff fixes two bugs that returned missing rows with prefix bloom
filter.
1. Range scan with equal predicates (i.e. WHERE id1=1 AND id2>=1). In
this case, equal condition length should be (index_id + id1) and prefix
bloom filter should be skipped if the length is shorter than prefix
bloom length. Without this diff, equal condition length was (index_id +
id1 + id2), which was incorrect.

2. IN clause with different condition length (i.e. WHERE name IN
('AAAAAAA', 'A'). In this case, ha_rocksdb::setup_index_scan() is called
multiple times, and equal condition length is different. So whether to
use prefix bloom filter should be decided one by one.

@update-submodule: rocksdb

Test Plan: bloomfilter2

Reviewers: jkedgar, maykov, hermanlee4, spetrunia

Reviewed By: spetrunia

Differential Revision: https://reviews.facebook.net/D46851
Differential Revision: https://reviews.facebook.net/D47085
Differential Revision: https://reviews.facebook.net/D47169
Differential Revision: https://reviews.facebook.net/D50181

gunnarku added a commit to facebook/mysql-8.0 that referenced this pull request Jul 21, 2017

Reject binlog_format!=ROW from non-SQL threads in MyRocks (#109)
Summary:
MyRocks doesn't support next-key locking so binlog_format!=ROW
may cause data inconsistency. On 5.6 slaves, binlog_format!=ROW is fine
because no concurrent access to the same table is guaranteed.

This diff changes as below.
- Rejecting updates (locking reads, including SELECT FOR UPDATE) on master
- No behavior changes on slave
- No behavior changes if binlog was disabled on the session
- Added a new session variable rocksdb_unsafe_for_binlog to optionally
      allow writing with statement based binary logging

Test Plan: mtr, new test case rpl_statement

Reviewers: spetrunia, hermanlee4, jkedgar, santoshb

Reviewed By: santoshb

Subscribers: webscalesql-eng

Differential Revision: https://reviews.facebook.net/D51231
Differential Revision: https://reviews.facebook.net/D51489
Differential Revision: https://reviews.facebook.net/D51555
Differential Revision: https://reviews.facebook.net/D51597

gunnarku added a commit to facebook/mysql-8.0 that referenced this pull request Jul 25, 2017

Fixing prefix bloom filter (#109)
Summary:
This diff fixes two bugs that returned missing rows with prefix bloom
filter.
1. Range scan with equal predicates (i.e. WHERE id1=1 AND id2>=1). In
this case, equal condition length should be (index_id + id1) and prefix
bloom filter should be skipped if the length is shorter than prefix
bloom length. Without this diff, equal condition length was (index_id +
id1 + id2), which was incorrect.

2. IN clause with different condition length (i.e. WHERE name IN
('AAAAAAA', 'A'). In this case, ha_rocksdb::setup_index_scan() is called
multiple times, and equal condition length is different. So whether to
use prefix bloom filter should be decided one by one.

@update-submodule: rocksdb

Test Plan: bloomfilter2

Reviewers: jkedgar, maykov, hermanlee4, spetrunia

Reviewed By: spetrunia

Differential Revision: https://reviews.facebook.net/D46851
Differential Revision: https://reviews.facebook.net/D47085
Differential Revision: https://reviews.facebook.net/D47169
Differential Revision: https://reviews.facebook.net/D50181

gunnarku added a commit to facebook/mysql-8.0 that referenced this pull request Jul 25, 2017

Reject binlog_format!=ROW from non-SQL threads in MyRocks (#109)
Summary:
MyRocks doesn't support next-key locking so binlog_format!=ROW
may cause data inconsistency. On 5.6 slaves, binlog_format!=ROW is fine
because no concurrent access to the same table is guaranteed.

This diff changes as below.
- Rejecting updates (locking reads, including SELECT FOR UPDATE) on master
- No behavior changes on slave
- No behavior changes if binlog was disabled on the session
- Added a new session variable rocksdb_unsafe_for_binlog to optionally
      allow writing with statement based binary logging

Test Plan: mtr, new test case rpl_statement

Reviewers: spetrunia, hermanlee4, jkedgar, santoshb

Reviewed By: santoshb

Subscribers: webscalesql-eng

Differential Revision: https://reviews.facebook.net/D51231
Differential Revision: https://reviews.facebook.net/D51489
Differential Revision: https://reviews.facebook.net/D51555
Differential Revision: https://reviews.facebook.net/D51597
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment