Skip to content

Conversation

filonenko-mikhail
Copy link

What has been done? Why? What problem is being solved?

I didn't forget about

  • Tests
  • Changelog
  • Documentation

Closes #???

Totktonada added a commit that referenced this pull request Oct 14, 2021
The bug is simple: crud ignores provided bucket_id, when unable to
determine it itself. For example, when no conditions are given or when
given condition involves a secondary index, which is not entirely in the
primary index.

It leads to incorrect select/pairs result: tuples are collected from all
replicasets, while should be collected from one storage pointed by
bucket_id. Second, it involves all replicasets into the request
processing (performs map-reduce) that may dramatically drop performance.

One existing test case was changed: 'test_opts_not_damaged' in
ipairs_test.lua. The crud.pairs() request in this test case was affected
by the problem and incorrect result was expected.

The idea of the fix is suggested by Michael Filonenko in PR #221.

Fixes #220
@Totktonada
Copy link
Member

Thanks! I got your idea of the fix and created PR #222 (it is a bit more general and equipped with tests).

Totktonada added a commit that referenced this pull request Oct 14, 2021
The bug is simple: crud ignores provided bucket_id, when unable to
determine it itself. For example, when no conditions are given or when
given condition involves a secondary index, which is not entirely in the
primary index.

It leads to incorrect select/pairs result: tuples are collected from all
replicasets, while should be collected from one storage pointed by
bucket_id. Second, it involves all replicasets into the request
processing (performs map-reduce) that may dramatically drop performance.

One existing test case was changed: 'test_opts_not_damaged' in
ipairs_test.lua. The crud.pairs() request in this test case was affected
by the problem and incorrect result was expected.

The idea of the fix is suggested by Michael Filonenko in PR #221.

Fixes #220
@filonenko-mikhail
Copy link
Author

superseeded by #222

@R-omk
Copy link

R-omk commented Oct 14, 2021

What about bucket ref ro?

@Totktonada
Copy link
Member

What about bucket ref ro?

I guess that there are problems with crud, when resharding is in progress. Sooner or later I'll look deeper and at least describe existing problems.

Totktonada added a commit that referenced this pull request Oct 14, 2021
The bug is simple: crud ignores provided bucket_id, when unable to
determine it itself. For example, when no conditions are given or when
given condition involves a secondary index, which is not entirely in the
primary index.

It leads to incorrect select/pairs result: tuples are collected from all
replicasets, while should be collected from one storage pointed by
bucket_id. Second, it involves all replicasets into the request
processing (performs map-reduce) that may dramatically drop performance.

One existing test case was changed: 'test_opts_not_damaged' in
ipairs_test.lua. The crud.pairs() request in this test case was affected
by the problem and incorrect result was expected.

The idea of the fix is suggested by Michael Filonenko in PR #221.

Fixes #220
Totktonada added a commit that referenced this pull request Oct 18, 2021
The bug is simple: crud ignores provided bucket_id, when unable to
determine it itself. For example, when no conditions are given or when
given condition involves a secondary index, which is not entirely in the
primary index.

It leads to incorrect select/pairs result: tuples are collected from all
replicasets, while should be collected from one replicaset pointed by
bucket_id. Second, it involves all replicasets into the request
processing (performs map-reduce) that may dramatically drop performance.

One existing test case was changed: 'test_opts_not_damaged' in
ipairs_test.lua. The crud.pairs() request in this test case was affected
by the problem and incorrect result was expected.

The idea of the fix is suggested by Michael Filonenko in PR #221.

Nice suggestions were given by Sergey Bronnikov (see PR #222).

Fixes #220
Totktonada added a commit that referenced this pull request Oct 19, 2021
The bug is simple: crud ignores provided bucket_id, when unable to
determine it itself. For example, when no conditions are given or when
given condition involves a secondary index, which is not entirely in the
primary index.

It leads to incorrect select/pairs result: tuples are collected from all
replicasets, while should be collected from one replicaset pointed by
bucket_id. Second, it involves all replicasets into the request
processing (performs map-reduce) that may dramatically drop performance.

One existing test case was changed: 'test_opts_not_damaged' in
ipairs_test.lua. The crud.pairs() request in this test case was affected
by the problem and incorrect result was expected.

The idea of the fix is suggested by Michael Filonenko in PR #221.

Nice suggestions were given by Sergey Bronnikov (see PR #222).

Fixes #220
Totktonada added a commit that referenced this pull request Oct 19, 2021
The bug is simple: crud ignores provided bucket_id, when unable to
determine it itself. For example, when no conditions are given or when
given condition involves a secondary index, which is not entirely in the
primary index.

It leads to incorrect select/pairs result: tuples are collected from all
replicasets, while should be collected from one replicaset pointed by
bucket_id. Second, it involves all replicasets into the request
processing (performs map-reduce) that may dramatically drop performance.

One existing test case was changed: 'test_opts_not_damaged' in
ipairs_test.lua. The crud.pairs() request in this test case was affected
by the problem and incorrect result was expected.

The idea of the fix is suggested by Michael Filonenko in PR #221.

Nice suggestions were given by Sergey Bronnikov (see PR #222).

Fixes #220
DifferentialOrange added a commit that referenced this pull request Apr 15, 2022
Fetch sharding info hashes to router on ddl schema load. Hashes are
stored in router metadata cache together with sharding info.

Part of #221
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants