milvus/tests/milvus_python_test/collection/test_create_collection.py
yukun fd4969edaf
Merge scalar-field-filtering to master (#2976)
* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* Replace wal to hybrid

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Reconstruct create structured index

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* add filter cases

Signed-off-by: zw <zw@milvus.io>

* Change interfaces for hybrid search in GrpcHandler

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc for new proto

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Filter case (#2655)

* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* add filter cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix all compile errors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Comment all test_db

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* undo clange format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci]Filter case (#2688)

* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* add filter cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix GetEntityByID bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] fix some case bug

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update some cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update some cases (#2700)

* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update some cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Using json to pass TermQuery and RangeQuery

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk compile error

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* GetEntityByID returns all entities when no field names provide

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add changelog

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Comment test_db and ssdb

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Collection create success if an invalid field name provided

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* The number of fields should be limited

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Check the validity of the parameters of creating collection: segment_size

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Index can not be created

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* add changelog

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Count entities got wrong result with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* No entity returned with get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Index type name should returned if index type is not supported

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* The max value of top-k should be limited

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server destroyed after delete by id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* code format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* code format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed when calling get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Remove test_case change

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* Unexpected error when insert binary entities

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add field_names judge in GetEntityByID

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned if searching with tags

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] update search cases (#2795)

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Filter case (#2825)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Distances returned by calling search is inaccurate (#2820)

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id (#2840)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Filter case (#2848)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Test scalar field filtering (#2861)

* fix test_flush.py to meet the entity of branch scalar_field_filtering

* update test_flush.py to meet hybrid search

* Filter case (#2876)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Server crashed after calling delete_entity_by_id (#2870)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Test scalar field filtering (#2881)

* fix test_flush.py to meet the entity of branch scalar_field_filtering

* update test_flush.py to meet hybrid search

* fix test_flush.py to meet the entity of branch scalar_field_filtering

* update test_flush.py to meet hybrid search

* update test_compact.py for hybrid query

* Filter case (#2898)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] update index params gen  (#2911)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] fix cases (#2913)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2914)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2915)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2916)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2919)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2922)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Create index failed with binary vectors (#2895)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2928)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix GET_TIMEOUT in test_list_id_in_segment.py (#2929)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_list_id_in_segment.py bugs (#2935)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2938)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix test_search.py bugs (#2951)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2956)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix test_search.py invalid_param bugs (#2959)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py invalid_param bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_partition.py bugs (#2963)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py invalid_param bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_index.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_partition.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2964)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update level2

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Filter case (#2966)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update level2

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix insert cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix test_compact.py (#2967)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py invalid_param bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_index.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_partition.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_insert.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_insert.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang-format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_compact.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk DataType

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix collection test cases bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

Co-authored-by: zw <zw@milvus.io>
Co-authored-by: wxyu <xy.wang@zilliz.com>
Co-authored-by: del-zhenwu <56623710+del-zhenwu@users.noreply.github.com>
Co-authored-by: ThreadDao <zongyufen@foxmail.com>
2020-07-23 11:21:34 +08:00

349 lines
12 KiB
Python

import pdb
import copy
import logging
import itertools
from time import sleep
import threading
from multiprocessing import Process
import sklearn.preprocessing
import pytest
from milvus import IndexType, MetricType
from utils import *
nb = 1
dim = 128
collection_id = "create_collection"
default_segment_size = 1024
drop_collection_interval_time = 3
segment_size = 10
default_fields = gen_default_fields()
entities = gen_entities(nb)
class TestCreateCollection:
"""
******************************************************************
The following cases are used to test `create_collection` function
******************************************************************
"""
@pytest.fixture(
scope="function",
params=gen_single_filter_fields()
)
def get_filter_field(self, request):
yield request.param
@pytest.fixture(
scope="function",
params=gen_single_vector_fields()
)
def get_vector_field(self, request):
yield request.param
@pytest.fixture(
scope="function",
params=gen_segment_sizes()
)
def get_segment_size(self, request):
yield request.param
def test_create_collection_fields(self, connect, get_filter_field, get_vector_field):
'''
target: test create normal collection with different fields
method: create collection with diff fields: metric/field_type/...
expected: no exception raised
'''
filter_field = get_filter_field
logging.getLogger().info(filter_field)
vector_field = get_vector_field
collection_name = gen_unique_str(collection_id)
fields = {
"fields": [filter_field, vector_field],
"segment_size": segment_size
}
logging.getLogger().info(fields)
connect.create_collection(collection_name, fields)
assert connect.has_collection(collection_name)
# TODO
def test_create_collection_fields_create_index(self, connect, get_filter_field, get_vector_field):
'''
target: test create normal collection with different fields
method: create collection with diff fields: metric/field_type/...
expected: no exception raised
'''
filter_field = get_filter_field
vector_field = get_vector_field
collection_name = gen_unique_str(collection_id)
fields = {
"fields": [filter_field, vector_field],
"segment_size": segment_size
}
connect.create_collection(collection_name, fields)
assert connect.has_collection(collection_name)
def test_create_collection_segment_size(self, connect, get_segment_size):
'''
target: test create normal collection with different fields
method: create collection with diff segment_size
expected: no exception raised
'''
collection_name = gen_unique_str(collection_id)
fields = copy.deepcopy(default_fields)
fields["segment_size"] = get_segment_size
connect.create_collection(collection_name, fields)
assert connect.has_collection(collection_name)
def test_create_collection_auto_flush_disabled(self, connect):
'''
target: test create normal collection, with large auto_flush_interval
method: create collection with corrent params
expected: create status return ok
'''
disable_flush(connect)
collection_name = gen_unique_str(collection_id)
try:
connect.create_collection(collection_name, default_fields)
finally:
enable_flush(connect)
# pdb.set_trace()
def test_create_collection_after_insert(self, connect, collection):
'''
target: test insert vector, then create collection again
method: insert vector and create collection
expected: error raised
'''
# pdb.set_trace()
connect.insert(collection, entities)
with pytest.raises(Exception) as e:
connect.create_collection(collection, default_fields)
def test_create_collection_after_insert_flush(self, connect, collection):
'''
target: test insert vector, then create collection again
method: insert vector and create collection
expected: error raised
'''
connect.insert(collection, entities)
connect.flush([collection])
with pytest.raises(Exception) as e:
connect.create_collection(collection, default_fields)
# TODO: assert exception
@pytest.mark.level(2)
def test_create_collection_without_connection(self, dis_connect):
'''
target: test create collection, without connection
method: create collection with correct params, with a disconnected instance
expected: create raise exception
'''
collection_name = gen_unique_str(collection_id)
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, default_fields)
def test_create_collection_existed(self, connect):
'''
target: test create collection but the collection name have already existed
method: create collection with the same collection_name
expected: create status return not ok
'''
collection_name = gen_unique_str(collection_id)
connect.create_collection(collection_name, default_fields)
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, default_fields)
@pytest.mark.level(2)
def test_create_collection_multithread(self, connect):
'''
target: test create collection with multithread
method: create collection using multithread,
expected: collections are created
'''
threads_num = 8
threads = []
collection_names = []
def create():
collection_name = gen_unique_str(collection_id)
collection_names.append(collection_name)
connect.create_collection(collection_name, default_fields)
for i in range(threads_num):
t = threading.Thread(target=create, args=())
threads.append(t)
t.start()
time.sleep(0.2)
for t in threads:
t.join()
res = connect.list_collections()
for item in collection_names:
assert item in res
class TestCreateCollectionInvalid(object):
"""
Test creating collections with invalid params
"""
@pytest.fixture(
scope="function",
params=gen_invalid_metric_types()
)
def get_metric_type(self, request):
yield request.param
@pytest.fixture(
scope="function",
params=gen_invalid_ints()
)
def get_segment_size(self, request):
yield request.param
@pytest.fixture(
scope="function",
params=gen_invalid_ints()
)
def get_dim(self, request):
yield request.param
@pytest.fixture(
scope="function",
params=gen_invalid_strs()
)
def get_invalid_string(self, request):
yield request.param
@pytest.fixture(
scope="function",
params=gen_invalid_field_types()
)
def get_field_type(self, request):
yield request.param
@pytest.mark.level(2)
def test_create_collection_with_invalid_segment_size(self, connect, get_segment_size):
collection_name = gen_unique_str()
fields = copy.deepcopy(default_fields)
fields["segment_size"] = get_segment_size
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, fields)
@pytest.mark.level(2)
def test_create_collection_with_invalid_metric_type(self, connect, get_metric_type):
collection_name = gen_unique_str()
fields = copy.deepcopy(default_fields)
fields["fields"][-1]["params"]["metric_type"] = get_metric_type
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, fields)
@pytest.mark.level(2)
def test_create_collection_with_invalid_dimension(self, connect, get_dim):
dimension = get_dim
collection_name = gen_unique_str()
fields = copy.deepcopy(default_fields)
fields["fields"][-1]["params"]["dimension"] = dimension
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, fields)
@pytest.mark.level(2)
def test_create_collection_with_invalid_collectionname(self, connect, get_invalid_string):
collection_name = get_invalid_string
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, default_fields)
@pytest.mark.level(2)
def test_create_collection_with_empty_collectionname(self, connect):
collection_name = ''
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, default_fields)
@pytest.mark.level(2)
def test_create_collection_with_none_collectionname(self, connect):
collection_name = None
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, default_fields)
def test_create_collection_None(self, connect):
'''
target: test create collection but the collection name is None
method: create collection, param collection_name is None
expected: create raise error
'''
with pytest.raises(Exception) as e:
connect.create_collection(None, default_fields)
def test_create_collection_no_dimension(self, connect):
'''
target: test create collection with no dimension params
method: create collection with corrent params
expected: create status return ok
'''
collection_name = gen_unique_str(collection_id)
fields = copy.deepcopy(default_fields)
fields["fields"][-1]["params"].pop("dimension")
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, fields)
def test_create_collection_no_segment_size(self, connect):
'''
target: test create collection with no segment_size params
method: create collection with corrent params
expected: use default default_segment_size
'''
collection_name = gen_unique_str(collection_id)
fields = copy.deepcopy(default_fields)
fields.pop("segment_size")
connect.create_collection(collection_name, fields)
res = connect.get_collection_info(collection_name)
logging.getLogger().info(res)
assert res["segment_size"] == default_segment_size
# TODO:
def _test_create_collection_no_metric_type(self, connect):
'''
target: test create collection with no metric_type params
method: create collection with corrent params
expected: use default L2
'''
collection_name = gen_unique_str(collection_id)
fields = copy.deepcopy(default_fields)
fields["fields"][-1]["params"].pop("metric_type")
connect.create_collection(collection_name, fields)
res = connect.get_collection_info(collection_name)
logging.getLogger().info(res)
assert res["metric_type"] == "L2"
# TODO: assert exception
def test_create_collection_limit_fields(self, connect):
collection_name = gen_unique_str(collection_id)
limit_num = 64
fields = copy.deepcopy(default_fields)
for i in range(limit_num):
field_name = gen_unique_str("field_name")
field = {"field": field_name, "type": DataType.INT8}
fields["fields"].append(field)
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, fields)
# TODO: assert exception
def test_create_collection_invalid_field_name(self, connect, get_invalid_string):
collection_name = gen_unique_str(collection_id)
fields = copy.deepcopy(default_fields)
field_name = get_invalid_string
field = {"field": field_name, "type": DataType.INT8}
fields["fields"].append(field)
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, fields)
# TODO: assert exception
def test_create_collection_invalid_field_type(self, connect, get_field_type):
collection_name = gen_unique_str(collection_id)
fields = copy.deepcopy(default_fields)
field_type = get_field_type
field = {"field": "test_field", "type": field_type}
fields["fields"].append(field)
with pytest.raises(Exception) as e:
connect.create_collection(collection_name, fields)