Skip to content
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]: [Nightly] Search result is empty when offset cache and mmap is enabled on bitmap fields #37271

Open
1 task done
NicoYuan1986 opened this issue Oct 29, 2024 · 1 comment
Assignees
Labels
kind/bug Issues or changes related a bug triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@NicoYuan1986
Copy link
Contributor

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version:master(1e75a42)
- Deployment mode(standalone or cluster):cluster
- MQ type(rocksmq, pulsar or kafka):  kafka  
- SDK version(e.g. pymilvus v2.0.0rc2):
- OS(Ubuntu or CentOS): 
- CPU/Memory: 
- GPU: 
- Others:

Current Behavior

Search result is empty when offset cache and mmap is enabled on bitmap fields.

[pytest : test] _______________ TestMixScenes.test_bitmap_offset_cache_and_mmap ________________
[pytest : test] [gw0] linux -- Python 3.8.17 /usr/local/bin/python3
[pytest : test] 
[pytest : test] self = <test_mix_scenes.TestMixScenes object at 0x7f5c4bde7d60>
[pytest : test] request = <FixtureRequest for <Function test_bitmap_offset_cache_and_mmap>>
[pytest : test] 
[pytest : test]     @pytest.mark.tags(CaseLabel.L2)
[pytest : test]     def test_bitmap_offset_cache_and_mmap(self, request):
[pytest : test]         """
[pytest : test]         target:
[pytest : test]             1. enable offset cache and mmap at the same time to verify DQL & DML operations
[pytest : test]         method:
[pytest : test]             1. create a collection with scalar fields
[pytest : test]             2. insert some data and build BITMAP index
[pytest : test]             3. alter all BITMAP fields: enabled offset cache and mmap
[pytest : test]             4. load collection
[pytest : test]             5. query the data of `not exist` primary key value
[pytest : test]             6. upsert the `not exist` primary key value
[pytest : test]             7. re-query and check data equal to the updated data
[pytest : test]             8. delete the upserted primary key value
[pytest : test]             9. re-query and check result is []
[pytest : test]             10. search with compound expressions and check result
[pytest : test]         expected:
[pytest : test]             1. DQL & DML operations are successful and the results are as expected
[pytest : test]         """

[pytest : test]         # search
[pytest : test]         nq, limit = 10, 10
[pytest : test] >       self.collection_wrap.search(
[pytest : test]             data=cf.gen_field_values(self.collection_wrap.schema, nb=nq).get(DataType.FLOAT_VECTOR.name),
[pytest : test]             anns_field=DataType.FLOAT_VECTOR.name, param={"metric_type": MetricType.L2, "ef": 32}, limit=limit,
[pytest : test]             expr=Expr.AND(Expr.GT(Expr.SUB('INT64', 37).subset, 13), Expr.LIKE('VARCHAR', '%a')).value,
[pytest : test]             output_fields=scalar_fields, check_task=CheckTasks.check_search_results,
[pytest : test]             check_items={"nq": nq, "ids": insert_data.get(DataType.INT64.name), "limit": limit,
[pytest : test]                          "output_fields": scalar_fields})

[pytest : test] [2024-10-28 19:46:44 - DEBUG - ci_test]: (api_request)  : [Collection.search] args: [[[0.09713405539327369, 0.5066779386978854, 0.5090902986938205, 0.7053385087798683, 0.713152474205256, 0.3535995715273804, 0.2790209611696892, 0.6133601998113679, 0.5335821814453854, 0.48070516243413985, 0.5564753198302369, 0.8493031111991776, 0.05494459948201935, 0.26953052554140433, 0.259476505375......, kwargs: {} (api_request.py:62)
[pytest : test] [2024-10-28 19:46:45 - DEBUG - ci_test]: (api_response) : data: ['[]', '[]', '[]', '[]', '[]', '[]', '[]', '[]', '[]', '[]']  (api_request.py:37)
[pytest : test] [2024-10-28 19:46:45 - INFO - ci_test]: search_results_check: checking the searching results (func_check.py:307)

Expected Behavior

search result is not empty

Steps To Reproduce

No response

Milvus Log

  1. link: https://jenkins.milvus.io:18080/blue/organizations/jenkins/Milvus%20Nightly%20CI(new)/detail/master/162/pipeline/114/
  2. log: artifacts-milvus-distributed-kafka-mdk-master-162-py-n-162-e2e-logs.tar.gz
  3. error case: test_bitmap_offset_cache_and_mmap

Anything else?

No response

@NicoYuan1986 NicoYuan1986 added kind/bug Issues or changes related a bug needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Oct 29, 2024
@NicoYuan1986 NicoYuan1986 added this to the 2.5.0 milestone Oct 29, 2024
@yanliang567
Copy link
Contributor

/assign @zhagnlu
/unassign

@sre-ci-robot sre-ci-robot assigned zhagnlu and unassigned yanliang567 Oct 30, 2024
@yanliang567 yanliang567 added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Issues or changes related a bug triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

3 participants