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]: [benchmark][standalone][LRU] search failed after reloading collection #32206

Closed
1 task done
wangting0128 opened this issue Apr 12, 2024 · 3 comments
Closed
1 task done
Assignees
Labels
kind/bug Issues or changes related a bug test/benchmark benchmark test triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@wangting0128
Copy link
Contributor

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version: milvus-io-lru-dev-6e67e5a-20240411 
- Deployment mode(standalone or cluster): standalone
- MQ type(rocksmq, pulsar or kafka): pulsar    
- SDK version(e.g. pymilvus v2.0.0rc2): 2.4.0rc66
- OS(Ubuntu or CentOS): 
- CPU/Memory: 
- GPU: 
- Others:

Current Behavior

argo task: lru-fouramf-txd8z

server:

NAME                                                              READY   STATUS                            RESTARTS          AGE     IP              NODE         NOMINATED NODE   READINESS GATES
lru-hanchun-etcd-0                                                1/1     Running                           0                 18h     10.104.31.125   4am-node34   <none>           <none>
lru-hanchun-milvus-standalone-5bdd8544f6-pkb9l                    1/1     Running                           1 (18h ago)       18h     10.104.31.124   4am-node34   <none>           <none>
lru-hanchun-minio-d6bbcf979-7kztl                                 1/1     Running                           0                 18h     10.104.31.122   4am-node34   <none>           <none>
lru-hanchun-pulsar-bookie-0                                       1/1     Running                           0                 18h     10.104.31.126   4am-node34   <none>           <none>
lru-hanchun-pulsar-bookie-1                                       1/1     Running                           0                 18h     10.104.32.246   4am-node39   <none>           <none>
lru-hanchun-pulsar-bookie-2                                       1/1     Running                           0                 3h31m   10.104.21.190   4am-node24   <none>           <none>
lru-hanchun-pulsar-bookie-init-29s4z                              0/1     Completed                         0                 18h     10.104.31.113   4am-node34   <none>           <none>
lru-hanchun-pulsar-broker-0                                       1/1     Running                           0                 18h     10.104.31.114   4am-node34   <none>           <none>
lru-hanchun-pulsar-proxy-0                                        1/1     Running                           0                 18h     10.104.9.4      4am-node14   <none>           <none>
lru-hanchun-pulsar-pulsar-init-bvtml                              0/1     Completed                         0                 18h     10.104.31.112   4am-node34   <none>           <none>
lru-hanchun-pulsar-recovery-0                                     1/1     Running                           0                 18h     10.104.31.111   4am-node34   <none>           <none>
lru-hanchun-pulsar-zookeeper-0                                    1/1     Running                           0                 18h     10.104.32.245   4am-node39   <none>           <none>
lru-hanchun-pulsar-zookeeper-1                                    1/1     Running                           0                 18h     10.104.31.128   4am-node34   <none>           <none>
lru-hanchun-pulsar-zookeeper-2                                    1/1     Running                           0                 3h47m   10.104.16.213   4am-node21   <none>           <none>

client pod name: lru-fouramf-txd8z-907689906
client log:

截屏2024-04-12 12 22 24

Expected Behavior

No response

Steps To Reproduce

1. create a collection, 3 fields: id(primaryKey), float_vector(768dim), int64_1
2. build HNSW index
3. insert 172000 data
4. flush collection
5. build index again with the same params
6. load collection
7. concurrent request: concurrent_num=1
   - load_search_release <- search raises error

Milvus Log

No response

Anything else?

client config:

{
     "dataset_params": {
          "dataset_name": "laion1b_nolang",
          "column_name": "float32_vector",
          "dim": 768,
          "dataset_size": "172000",
          "ni_per": 10000,
          "metric_type": "L2"
     },
     "collection_params": {
          "other_fields": [
               "int64_1"
          ],
          "shards_num": 1,
          "collection_name": "shard1_172000_512M"
     },
     "index_params": {
          "index_type": "HNSW",
          "index_param": {
               "M": 30,
               "efConstruction": 360
          }
     },
     "concurrent_tasks": [
          {
               "type": "load_search_release",
               "weight": 1,
               "params": {
                    "top_k": 1,
                    "nq": 10,
                    "search_param": {
                         "ef": 64
                    },
                    "timeout": null,
                    "random_data": true
               }
          }
     ],
     "concurrent_params": {
          "interval": 20,
          "during_time": "1h",
          "concurrent_number": 1
     }
}

test result:

[2024-04-11 13:00:17,736 -  INFO - fouram]: Print locust final stats. (locust_runner.py:56)
[2024-04-11 13:00:17,737 -  INFO - fouram]: Type     Name                                                                          # reqs      # fails |    Avg     Min     Max    Med |   req/s  failures/s (stats.py:789)
[2024-04-11 13:00:17,737 -  INFO - fouram]: --------|----------------------------------------------------------------------------|-------|-------------|-------|-------|-------|-------|--------|----------- (stats.py:789)
[2024-04-11 13:00:17,737 -  INFO - fouram]: grpc     load_search_release                                                              709  708(99.86%) |   5071    3357    6700   5000 |    0.20        0.20 (stats.py:789)
[2024-04-11 13:00:17,737 -  INFO - fouram]: --------|----------------------------------------------------------------------------|-------|-------------|-------|-------|-------|-------|--------|----------- (stats.py:789)
[2024-04-11 13:00:17,737 -  INFO - fouram]:          Aggregated                                                                       709  708(99.86%) |   5071    3357    6700   5000 |    0.20        0.20 (stats.py:789)
[2024-04-11 13:00:17,737 -  INFO - fouram]:  (stats.py:790)
[2024-04-11 13:00:17,738 -  INFO - fouram]: [PerfTemplate] Report data: 
{'server': {'deploy_tool': '',
            'deploy_mode': '',
            'config_name': '',
            'config': {},
            'host': 'lru-hanchun-milvus.qa-milvus.svc.cluster.local',
            'port': '19530',
            'uri': ''},
 'client': {'test_case_type': 'ConcurrentClientBase',
            'test_case_name': 'test_concurrent_locust_custom_parameters',
            'test_case_params': {'dataset_params': {'metric_type': 'L2',
                                                    'column_name': 'float32_vector',
                                                    'dim': 768,
                                                    'dataset_name': 'laion1b_nolang',
                                                    'dataset_size': '172000',
                                                    'ni_per': 10000},
                                 'collection_params': {'other_fields': ['int64_1'],
                                                       'shards_num': 1,
                                                       'collection_name': 'shard1_172000_512M'},
                                 'index_params': {'index_type': 'HNSW',
                                                  'index_param': {'M': 30,
                                                                  'efConstruction': 360}},
                                 'concurrent_params': {'concurrent_number': 1,
                                                       'during_time': '1h',
                                                       'interval': 20,
                                                       'spawn_rate': None},
                                 'concurrent_tasks': [{'type': 'load_search_release',
                                                       'weight': 1,
                                                       'params': {'top_k': 1,
                                                                  'nq': 10,
                                                                  'search_param': {'ef': 64},
                                                                  'timeout': None,
                                                                  'random_data': True}}]},
            'run_id': 2024041164091768,
            'datetime': '2024-04-11 11:53:29.096425',
            'client_version': '2.2'},
 'result': {'test_result': {'index': {'RT': 341.922},
                            'insert': {'total_time': 42.4198,
                                       'VPS': 4054.7103,
                                       'batch_time': 2.4658,
                                       'batch': 10000},
                            'flush': {'RT': 3.0169},
                            'load': {'RT': 3.5244},
                            'Locust': {'Aggregated': {'Requests': 709,
                                                      'Fails': 708,
                                                      'RPS': 0.2,
                                                      'fail_s': 1.0,
                                                      'RT_max': 6700.97,
                                                      'RT_avg': 5071.65,
                                                      'TP50': 5000.0,
                                                      'TP99': 6200.0},
                                       'load_search_release': {'Requests': 709,
                                                               'Fails': 708,
                                                               'RPS': 0.2,
                                                               'fail_s': 1.0,
                                                               'RT_max': 6700.97,
                                                               'RT_avg': 5071.65,
                                                               'TP50': 5000.0,
                                                               'TP99': 6200.0}}}}} 
@wangting0128 wangting0128 added kind/bug Issues or changes related a bug needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. test/benchmark benchmark test labels Apr 12, 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 Apr 12, 2024
@yanliang567 yanliang567 added this to the 2.4.0 milestone Apr 12, 2024
@yanliang567 yanliang567 removed their assignment Apr 12, 2024
@yanliang567 yanliang567 modified the milestones: 2.4.0, 2.4.1 Apr 12, 2024
jaime0815 pushed a commit that referenced this issue Apr 12, 2024
issue: #32206

Signed-off-by: chyezh <chyezh@outlook.com>
@chyezh
Copy link
Contributor

chyezh commented Apr 12, 2024

Old released segment is not cleared in lru cache.
So, after reloading, search by lru cache will access the released segment,
then segment not loaded is reported.

@chyezh
Copy link
Contributor

chyezh commented Apr 18, 2024

@wangting0128 please verify with latest commit.

@wangting0128
Copy link
Contributor Author

verification passed

argo task:lru-fouramf-wfklr
image:milvus-io-lru-dev-fbd02f7-20240418

sunby pushed a commit to sunby/milvus that referenced this issue Apr 22, 2024
Signed-off-by: chyezh <chyezh@outlook.com>

Add metric for lru and fix lost delete data when enable lazy load  (milvus-io#31868)

Signed-off-by: chyezh <chyezh@outlook.com>

feat: Support stream reduce v1 (milvus-io#31873)

related: milvus-io#31410

---------

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

Change do wait lru dev (milvus-io#31878)

Signed-off-by: sunby <sunbingyi1992@gmail.com>

enhance: add config for disk cache (milvus-io#31881)

fix config not initialized (milvus-io#31890)

Signed-off-by: sunby <sunbingyi1992@gmail.com>

fix error handle in search (milvus-io#31895)

Signed-off-by: sunby <sunbingyi1992@gmail.com>

fix: thread safe vector (milvus-io#31898)

fix: insert record cannot reinsert (milvus-io#31900)

enhance: cancel concurrency restrict for stream reduce and add metrics (milvus-io#31892)

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

fix: bit set (milvus-io#31905)

fix bitset clear to reset (milvus-io#31908)

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

Fix 0404 lru dev (milvus-io#31914)

fix:
1. sealed_segment num_rows reset to std::null opt
2. sealed_segment lazy_load reset to true after evicting to avoid
shortcut

---------

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

fix possible block due to unpin fifo activating principle (milvus-io#31924)

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

Add lru reloader lru dev (milvus-io#31952)

Signed-off-by: sunby <sunbingyi1992@gmail.com>

fix query limit (milvus-io#32060)

Signed-off-by: sunby <sunbingyi1992@gmail.com>

fix: lru cache lost delete and wrong mem size (milvus-io#32072)

issue: milvus-io#30361

Signed-off-by: chyezh <chyezh@outlook.com>

enhance: add more metrics for cache and search (milvus-io#31777) (milvus-io#32097)

issue: milvus-io#30931

Signed-off-by: chyezh <chyezh@outlook.com>

fix:panic due to empty search result when stream reducing(milvus-io#32009) (milvus-io#32083)

related: milvus-io#32009

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

fix: sealed segment may not exist when throw (milvus-io#32098)

issue: milvus-io#30361

Signed-off-by: chyezh <chyezh@outlook.com>

Major compaction 1st edition (milvus-io#31804) (milvus-io#32116)

Signed-off-by: wayblink <anyang.wang@zilliz.com>
Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
Signed-off-by: chasingegg <chao.gao@zilliz.com>
Co-authored-by: chasingegg <chao.gao@zilliz.com>

fix: inconsistent between state lock and load state (milvus-io#32171)

issue: milvus-io#30361

Signed-off-by: chyezh <chyezh@outlook.com>

enhance: Throw error instead of crash when index cannot be built (milvus-io#31844)

issue: milvus-io#27589

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>

(cherry picked from commit 1b76766)
Signed-off-by: jaime <yun.zhang@zilliz.com>

update knowhere to support clustering (milvus-io#32188)

Signed-off-by: chasingegg <chao.gao@zilliz.com>

fix: segment release is not sync with cache (milvus-io#32212)

issue: milvus-io#32206

Signed-off-by: chyezh <chyezh@outlook.com>

fix: incorrect pinCount resulting unexpected eviction(milvus-io#32136) (milvus-io#32238)

related: milvus-io#32136

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

fix: possible panic when stream reducing (milvus-io#32247)

related: milvus-io#32009

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

enhance: [lru-dev] add the related data size for the read apis (milvus-io#32274)

cherry-pick: milvus-io#31816

---------

Signed-off-by: SimFG <bang.fu@zilliz.com>

add debug log (milvus-io#32303)

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>

Refine code for analyze task scheduler (milvus-io#32122)

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>

fix: memory leak on stream reduce (milvus-io#32345)

related: milvus-io#32304

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

feat: adding cache stats support (milvus-io#32344)

See milvus-io#32067

Signed-off-by: Ted Xu <ted.xu@zilliz.com>

Fix bug for version (milvus-io#32363)

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>

fix: remove sub entity in load delta log, update entity num in segment itself (milvus-io#32350)

issue: milvus-io#30361

Signed-off-by: chyezh <chyezh@outlook.com>

fix: clear data when loading failure (milvus-io#32370)

issue: milvus-io#30361

Signed-off-by: chyezh <chyezh@outlook.com>

fix: stream reduce memory leak for failing to release stream reducer(milvus-io#32345) (milvus-io#32381)

related: milvus-io#32345

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

Keep InProgress state when getting task state is init (milvus-io#32394)

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>

add log for search failed (milvus-io#32367)

related: milvus-io#32136

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

enable asan by default (milvus-io#32423)

Signed-off-by: sunby <sunbingyi1992@gmail.com>

Major compaction refactoring (milvus-io#32149)

Signed-off-by: wayblink <anyang.wang@zilliz.com>

Lru dev debug (milvus-io#32414)

Co-authored-by: wayblink <anyang.wang@zilliz.com>

fix: protect loadInfo with atomic, remove rlock at cache to avoid dead lock (milvus-io#32436)

issue: milvus-io#32435

Signed-off-by: chyezh <chyezh@outlook.com>

fix: use Get but not GetBy of SegmentManager (milvus-io#32438)

issue: milvus-io#32435

Signed-off-by: chyezh <chyezh@outlook.com>

fix: return growing segment when sealed (milvus-io#32460)

issue: milvus-io#32435

Signed-off-by: chyezh <chyezh@outlook.com>

enhance: add request resource for lru loading process(milvus-io#32205) (milvus-io#32452)

related: milvus-io#32205

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

fix: unexpected deleted index files when lazy loading(milvus-io#32136) (milvus-io#32469)

related: milvus-io#32136

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>

fix: reference count leak cause release blocked (milvus-io#32465)

issue: milvus-io#32379

Signed-off-by: chyezh <chyezh@outlook.com>

Fix compaction fail (milvus-io#32473)

Signed-off-by: wayblink <anyang.wang@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue May 10, 2024
issue: #32206, #32801

- search failure with some assertion, segment not loaded and resource
insufficient.

- segment leak when query segments

---------

Signed-off-by: chyezh <chyezh@outlook.com>
UnyieldingOrca pushed a commit to UnyieldingOrca/milvus that referenced this issue May 10, 2024
issue: milvus-io#32206, milvus-io#32801

- search failure with some assertion, segment not loaded and resource
insufficient.

- segment leak when query segments

---------

Signed-off-by: chyezh <chyezh@outlook.com>
UnyieldingOrca pushed a commit to UnyieldingOrca/milvus that referenced this issue May 10, 2024
issue: milvus-io#32206, milvus-io#32801

- search failure with some assertion, segment not loaded and resource
insufficient.

- segment leak when query segments

---------

Signed-off-by: chyezh <chyezh@outlook.com>
Signed-off-by: David Pichler <david.pichler@grainger.com>
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 test/benchmark benchmark test 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