Commit ee6ed2a0 authored by Zardosht Kasheff's avatar Zardosht Kasheff Committed by Yoni Fogel

[t:2357], do query backoff on pt queries

git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@17716 c7de825b-a66e-492c-adef-691d508d4ae1
parent 235614e8
...@@ -3955,6 +3955,7 @@ int ha_tokudb::read_full_row(uchar * buf) { ...@@ -3955,6 +3955,7 @@ int ha_tokudb::read_full_row(uchar * buf) {
// //
// assumes key is stored in this->last_key // assumes key is stored in this->last_key
// //
lockretry {
error = share->file->getf_set( error = share->file->getf_set(
share->file, share->file,
transaction, transaction,
...@@ -3963,6 +3964,8 @@ int ha_tokudb::read_full_row(uchar * buf) { ...@@ -3963,6 +3964,8 @@ int ha_tokudb::read_full_row(uchar * buf) {
smart_dbt_callback_rowread_ptquery, smart_dbt_callback_rowread_ptquery,
&info &info
); );
lockretry_wait;
}
if (error) { if (error) {
table->status = STATUS_NOT_FOUND; table->status = STATUS_NOT_FOUND;
TOKUDB_DBUG_RETURN(error == DB_NOTFOUND ? HA_ERR_CRASHED : error); TOKUDB_DBUG_RETURN(error == DB_NOTFOUND ? HA_ERR_CRASHED : error);
...@@ -4487,7 +4490,11 @@ int ha_tokudb::rnd_pos(uchar * buf, uchar * pos) { ...@@ -4487,7 +4490,11 @@ int ha_tokudb::rnd_pos(uchar * buf, uchar * pos) {
info.buf = buf; info.buf = buf;
info.keynr = primary_key; info.keynr = primary_key;
lockretry {
error = share->file->getf_set(share->file, transaction, 0, key, smart_dbt_callback_rowread_ptquery, &info); error = share->file->getf_set(share->file, transaction, 0, key, smart_dbt_callback_rowread_ptquery, &info);
lockretry_wait;
}
if (error == DB_NOTFOUND) { if (error == DB_NOTFOUND) {
error = HA_ERR_KEY_NOT_FOUND; error = HA_ERR_KEY_NOT_FOUND;
goto cleanup; goto cleanup;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment