milvus/CHANGELOG.md
yanliang567 4edbab35d2
[skip ci]Update typo in changelog md (#11710)
Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2021-11-15 18:57:22 +08:00

40 KiB
Raw Blame History

Changelog

Please mark all change in change log and use the issue from GitHub

Milvus 1.1.0 (2021-06-16)

Bug

  • #4897 Query results contain some deleted ids.
  • #5164 Exception should be raised if insert or delete entity on the none-existed partition.
  • #5191 Mishards throw "index out of range" error after continually search/insert for a period of time.
  • #5398 Random crash after request is executed.
  • #5537 Failed to load bloom filter after suddenly power off.
  • #5574 IVF_SQ8 and IVF_PQ cannot be built on multiple GPUs.
  • #5747 Search with big nq and topk crash milvus.

Features

  • #1434 Storage: enabling s3 storage support (implemented by Unisinsight).
  • #5142 Support keeping index in GPU memory.

Improvements

  • #5115 Relax the topk limit from 16384 to 1M for CPU search.
  • #5204 Improve IVF query on GPU when no entity deleted.
  • #5544 Relax the index_file_size limit from 4GB to 128Gb.

Feature

  • #3977 Support logging to stdout

Improvement

  • #4754 Reduce the package download size of grpc-milvus for C++ SDK

Task

Milvus 0.10.6 (2021-02-23)

Bug

  • #4683 A negative zero may be returned if the metric_type is Tanimoto
  • #4678 Server crash on BinaryFlat if dimension is not a power of 2
  • #4719 The GPU cache holds much more data than the configured value

Feature

Improvement

  • #1970 Improve the performance of BinaryFlat by AVX2
  • #3920 Add an optional parameter 'nbtis' for IVF_PQ
  • #4676,#4614 Support configurable metric labels cluster and instance for Prometheus (implemented by IQIYI)

Task

Milvus 0.10.5 (2021-01-07)

Bug

  • #4296,#4554 Fix mishards add name-mismatched pod to read-only group
  • #4307 Specify partition to load for load_collection()
  • #4378 Multi-threads to call load_collection() and search() cause Milvus hang
  • #4484 Milvus only search default partition if search parameter 'partition_tags' contains '_default'
  • #4492 while share file system service became abnormal, the milvus can not supply query service

Feature

  • #4504 Add a metric to display the number of files opened by Milvus

Improvement

  • #4454 Optimize the process of indexing and querying

Task

Milvus 0.10.4 (2020-12-02)

Bug

  • #3626 Fix server crash when searching with IVF_PQ on GPU
  • #3903 The performance of IVF_SQ8H in 0.10.3 is degraded
  • #3906 Fix the delete task state to avoid server crash
  • #4012 Milvus hangs when continually creating and dropping partitions
  • #4174 Fix out of memory caused by too many data loaded to GPU
  • #4318 Fix memory leak in IVF indexes

Feature

  • #3773 Support IVF_PQ to run on FPGA (implemented by Montage-tech)

Improvement

  • #3775 Improve search performance in the case that no item deleted
  • #4075 Improve performance for create large amount of partitions

Task

Milvus 0.10.3 (2020-9-21)

Bug

  • #3536 Release search task in time to avoid excessive memory usage
  • #3656 Fix to check search params 'nprobe' of BIN_IVF_FLAT
  • #3742 If the GPU cache is too small, IVF_SQ8H using multiple GPUs will cause to crash
  • #3760 After IVF_SQ8H querying, an CUDA error will occur when Milvus exits

Feature

Improvement

  • #3213 Allow users to specify a distance type at runtime for Flat index
  • #3254 Allow more choices for the parameter m of IVF_PQ
  • #3606 The supported parameter 'nprobe' of IVF is expanded to [1, 16384]
  • #3639 The supported parameter 'topk' of searching is expanded to [1, 16384]
  • #3784 Upgrade mishards up to v0.10.3

Task

Milvus 0.10.2 (2020-08-15)

Bug

  • #2890 Fix the index size caculation in cache
  • #2952 Fix the result merging of IVF_PQ IP
  • #2975 Fix config UT failed
  • #3012 If the cache is too small, queries using multiple GPUs will cause to crash
  • #3133 Reverse query result in mishards if metric type is IP

Feature

Improvement

  • #2653 Improve IVF search performance when NQ and nProbe are both large
  • #2828 Let Faiss not to compile half float by default

Task

Milvus 0.10.1 (2020-07-20)

Bug

  • #2487 Enlarge timeout value for creating collection
  • #2487 HotFix release lock failed on NAS
  • #2557 Fix random crash of INSERT_DUPLICATE_ID case
  • #2578 Result count doesn't match target vectors count
  • #2585 Support IVF_PQ IP on GPU
  • #2598 Fix Milvus docker image report illegal instruction
  • #2617 Fix HNSW and RNSG index files size
  • #2637 Suit the range of HNSW parameters
  • #2642 Create index failed and server crashed
  • #2649 Search parameter of annoy has conflict with document
  • #2690 Remove body parser in show-partitions endpoints
  • #2692 Milvus hangs during multi-thread concurrent search
  • #2739 Fix mishards start failed
  • #2752 Milvus formats vectors data to double-precision and return to http client
  • #2767 Fix a bug of getting wrong nprobe limitation in knowhere on GPU version
  • #2768 After building the index, the number of vectors increases
  • #2774 Server down during loading data
  • #2776 Fix too many data copies during creating IVF index
  • #2813 To implemente RNSG IP

Feature

Improvement

  • #2932 Upgrade mishards for milvus 0.10.1

Task

Milvus 0.10.0 (2020-06-15)

Bug

  • #2367 Fix inconsistent reading and writing when using mishards
  • #2368 Make read node detect delete behavior
  • #2394 Drop collection timeout if too many partitions created on collection
  • #2549 Launch server fail using demo config
  • #2564 cache.cache_size range check error

Feature

  • #2363 Update branch version
  • #2510 Upgrade Milvus config

Improvement

  • #2381 Upgrade FAISS to 1.6.3
  • #2429 Fix Milvus 0.9.1 performance degrade issue
  • #2441 Improve Knowhere code coverage
  • #2466 Optimize k-selection implemention of faiss gpu version
  • #2489 Add exception throw on mysql meta error
  • #2495 Add creating lock file failure reason.
  • #2516 Improve unit test coverage
  • #2548 Upgrade mishards for milvus v0.10.0

Task

Milvus 0.9.1 (2020-05-29)

Bug

  • #2366 Reduce SQL execution times for collection contains lot of partitions
  • #2378 Duplicate data after server restart
  • #2395 Fix large nq cudaMalloc error
  • #2399 The nlist set by the user may not take effect
  • #2403 MySQL max_idle_time is 10 by default
  • #2450 The deleted vectors may be found on GPU
  • #2456 openblas library install failed

Feature

Improvement

  • #2353 Remove log_config from code and scripts
  • #2370 Clean compile warning
  • #2410 Logging build index progress
  • #2461 Upgrade mishards for milvus 0.9.1

Milvus 0.9.0 (2020-05-15)

Bug

  • #1705 Limit the insert data batch size
  • #1776 Error out when index SQ8H run in CPU mode
  • #1925 To flush all collections, flush cannot work
  • #1929 Skip MySQL meta schema field width check
  • #1946 Fix load index file CPU2GPU fail during searching
  • #1955 Switch create_index operation to background once client break connection
  • #1997 Index file missed after compact
  • #2002 Remove log error msg Attributes is null
  • #2073 Fix CheckDBConfigBackendUrl error message
  • #2076 CheckMetricConfigAddress error message
  • #2120 Fix Search expected failed if search params set invalid
  • #2121 Allow regex match partition tag when search
  • #2128 Check has_partition params
  • #2131 Distance/ID returned is not correct if searching with duplicate ids
  • #2141 Fix server start failed if wal directory exist
  • #2169 Fix SingleIndexTest.IVFSQHybrid unittest
  • #2194 Fix get collection info failed
  • #2196 Fix server start failed if wal is disabled
  • #2203 0.8.0 id=-1 is returned when total count < topk
  • #2228 Fix show partitions failed in http module
  • #2231 Use server_config to define hard-delete delay time for segment files
  • #2261 Re-define result returned by has_collection if collection in delete state
  • #2264 Milvus opened too many files when the metric_config.enable_monitor=true
  • #2266 Server hangs when using multi-clients to query different collections
  • #2280 has_partition should return true for _default

Feature

  • #1751 Add api SearchByID
  • #1752 Add api GetVectorsByID
  • #1962 Add api HasPartition
  • #1965 FAISS/NSG/HNSW/ANNOY use unified distance calculation algorithm
  • #2054 Check if CPU instruction sets are illegal
  • #2057 Add a config parameter to switch off http server
  • #2059 Add lock file avoid multiple instances modifying data at the same time
  • #2064 Warn when use SQLite as metadata management
  • #2111 Check GPU environment before start server
  • #2206 Log file rotating
  • #2240 Obtain running rpc requests information
  • #2268 Intelligently detect openblas library in system to avoid installing from source code every time
  • #2283 Suspend the building tasks when any query comand arrives.

Improvement

  • #221 Refactor LOG macro
  • #833 Catch exception in RolloutHandler and output in stderr
  • #1796 Compile Openblas with source code to improve the performance
  • #1942 Background merge file strategy
  • #2039 Support Milvus run on SSE CPUs
  • #2149 Merge server_cpu_config.template and server_gpu_config.template
  • #2153 Upgrade thirdparty oatpp to v1.0.0
  • #2167 Merge log_config.conf with server_config.yaml
  • #2173 Check storage permission
  • #2178 Using elkan K-Means to improve IVF
  • #2185 Change id to string format in http module
  • #2186 Update endpoints in http module
  • #2190 Fix memory usage is twice of index size when using GPU searching
  • #2248 Use hostname and port as instance label of metrics
  • #2252 Upgrade mishards APIs and requirements
  • #2256 k-means clustering algorithm use only Euclidean distance metric
  • #2300 Upgrade mishrads configuration to version 0.4
  • #2311 Update mishards methods
  • #2330 Change url for behavior 'get_entities_by_id'
  • #2347 Update http document for v0.9.0
  • #2358 Upgrade mishards for v0.9.0

Task

Milvus 0.8.0 (2020-04-15)

Bug

  • #1276 SQLite throw exception after create 50000+ partitions in a table
  • #1762 Server is not forbidden to create new partition which tag is _default
  • #1789 Fix multi-client search cause server crash
  • #1832 Fix crash in tracing module
  • #1873 Fix index file serialize to incorrect path
  • #1881 Fix bad alloc when index files lost
  • #1883 Fix inserted vectors becomes all zero when index_file_size >= 2GB
  • #1901 Search failed with flat index
  • #1903 Fix invalid annoy result
  • #1910 C++ SDK GetIDsInSegment could not work for large dataset

Feature

  • #261 Integrate ANNOY into Milvus
  • #1655 GPU index support delete vectors
  • #1660 IVF PQ CPU support deleted vectors searching
  • #1661 HNSW support deleted vectors searching
  • #1825 Add annoy index type in C++ sdk
  • #1849 NSG support deleted vectors searching
  • #1893 Log config information and device information

Improvement

  • #1627 Move read/write index APIs into codec
  • #1784 Add Substructure and Superstructure in http module
  • #1858 Disable S3 build
  • #1882 Add index annoy into http module
  • #1885 Optimize knowhere unittest
  • #1886 Refactor log on search and insert request
  • #1897 Heap pop and push can be realized by heap_swap_top
  • #1921 Use TimeRecorder instead of chrono
  • #1928 Fix too many data and uid copies when loading files
  • #1930 Upgrade mishards to v0.8.0

Task

Milvus 0.7.1 (2020-03-29)

Bug

  • #1301 Data in WAL may be accidentally inserted into a new table with the same name.
  • #1634 Fix search demo bug in HTTP doc
  • #1635 Vectors can be returned by searching after vectors deleted if cache_insert_data set true
  • #1648 The cache cannot be used all when the vector type is binary
  • #1651 Check validity of dimension when collection metric type is binary one
  • #1663 PQ index parameter 'm' validation
  • #1686 API search_in_files cannot work correctly when vectors is stored in certain non-default partition
  • #1689 Fix SQ8H search fail on SIFT-1B dataset
  • #1667 Create index failed with type: rnsg if metric_type is IP
  • #1708 NSG search crashed
  • #1724 Remove unused unittests
  • #1728 Optimize request handler to combine similar query
  • #1734 Opentracing for combined search request
  • #1735 Fix search out of memory with ivf_flat
  • #1747 Expected error status if search with partition_tag not existed
  • #1756 Fix memory exhausted during searching
  • #1781 Fix search hang with SQ8H
  • #1812 Fix incorrect request method in search example in http readme
  • #1818 Duplicate data generated after restart milvus server

Feature

  • #1603 BinaryFlat add 2 Metric: Substructure and Superstructure

Improvement

  • #267 Improve search performance: reduce delay
  • #342 Knowhere and Wrapper refactor
  • #1537 Optimize raw vector and uids read/write
  • #1546 Move Config.cpp to config directory
  • #1547 Rename storage/file to storage/disk and rename classes
  • #1548 Move store/Directory to storage/Operation and add FSHandler
  • #1572 Optimize config cpu/gpu cache_capacity setter
  • #1619 Improve compact performance
  • #1649 Fix Milvus crash on old CPU
  • #1653 IndexFlat (SSE) and IndexBinaryFlat performance improvement for small NQ
  • #1678 Remove CUSTOMIZATION macro
  • #1698 Upgrade mishards to v0.7.0
  • #1719 Improve Milvus log
  • #1754 Optimize behavior to get file ids from metadata in mishards
  • #1799 Update docker images to 0.7.1 in mishards

Task

Milvus 0.7.0 (2020-03-11)

Bug

  • #715 Milvus crash when searching and building index simultaneously using SQ8H
  • #744 Don't return partition table for show_tables
  • #770 Server unittest run failed on low-end server
  • #805 IVFTest.gpu_seal_test unittest failed
  • #831 Judge branch error in CommonUtil.cpp
  • #977 Server crash when create tables concurrently
  • #990 Check gpu resources setting when assign repeated value
  • #995 Table count set to 0 if no tables found
  • #1010 Improve error message when offset or page_size is equal 0
  • #1022 Check if partition name is valid
  • #1028 Check if table exists when show partitions
  • #1029 Check if table exists when try to delete partition
  • #1066 Optimize http insert and search speed
  • #1022 Check if partition name is legal
  • #1028 Check if table exists when show partitions
  • #1029 Check if table exists when try to delete partition
  • #1066 Optimize http insert and search speed
  • #1067 Add binary vectors support in http server
  • #1075 Improve error message when page size or offset is illegal
  • #1082 Check page_size or offset value to avoid float
  • #1115 Http server support load table into memory
  • #1152 Error log output continuously after server start
  • #1211 Server down caused by searching with index_type: HNSW
  • #1240 Update license declaration
  • #1298 Unit test failed when on CPU2GPU case
  • #1359 Negative distance value returned when searching with HNSW index type
  • #1429 Server crashed when searching vectors with GPU
  • #1476 Fix vectors results bug when getting vectors from segments
  • #1484 Index type changed to IDMAP after compacted
  • #1491 Server crashed during adding vectors
  • #1499 Fix duplicated ID number issue
  • #1504 Avoid possible race condition between delete and search
  • #1507 set_config for insert_buffer_size is wrong
  • #1510 Add set interfaces for WAL configurations
  • #1511 Fix big integer cannot pass to server correctly
  • #1517 Result is not correct when search vectors in multi partition, index type is RNSG
  • #1518 Table count did not match after deleting vectors and compact
  • #1521 Make cache_insert_data take effect in-service
  • #1525 Add setter API for config preload_table
  • #1529 Fix server crash when cache_insert_data enabled
  • #1530 Set table file with correct engine type in meta
  • #1532 Search with ivf_flat failed with open-dataset: sift-256-hamming
  • #1535 Degradation searching performance with metric_type: binary_idmap
  • #1549 Fix server/wal config setting bug
  • #1556 Index file not created after table and index created
  • #1560 Search crashed with Super-high dimensional binary vector
  • #1564 Too low recall for glove-200-angular, ivf_pq index
  • #1571 Meta engine type become IDMAP after dropping index for BINARY table
  • #1574 Set all existing bitset in cache when applying deletes
  • #1577 Row count incorrect if delete vectors then create index
  • #1580 Old segment folder not removed after merge/compact if create_index is called before adding data
  • #1590 Server down caused by failure to write file during concurrent mixed operations
  • #1598 Server down during mixed operations
  • #1601 External link bug in HTTP doc
  • #1609 Refine Compact function
  • #1808 Building index params check for Annoy
  • #1852 Search index type failed with reason failed to load index file

Feature

  • #216 Add CLI to get server info
  • #343 Add Opentracing
  • #665 Support get/set config via CLI
  • #759 Put C++ sdk out of milvus/core
  • #766 If partition tag is similar, wrong partition is searched
  • #771 Add server build commit info interface
  • #788 Add web server into server module
  • #813 Add push mode for prometheus monitor
  • #815 Support MinIO storage
  • #823 Support binary vector tanimoto/jaccard/hamming metric
  • #830 Support WAL(write-ahead logging)
  • #853 Support HNSW
  • #861 Support DeleteById / SearchByID / GetVectorById / Flush
  • #910 Change Milvus c++ standard to c++17
  • #1122 Support AVX-512 in FAISS
  • #1204 Add api to get table data information
  • #1250 Support CPU profiling
  • #1302 Get all record IDs in a segment by given a segment id
  • #1461 Add crud APIs and segments APIs into http module
  • #1463 Update config version to 0.2
  • #1531 Remove S3 related config

Improvement

  • #738 Use Openblas / lapack from apt install
  • #758 Enhance config description
  • #791 Remove Arrow
  • #834 Add cpu mode for built-in Faiss
  • #848 Add ready-to-use config files to the Milvus repo for enhanced user experince
  • #860 Remove redundant checks in CacheMgr's constructor
  • #908 Move "primary_path" and "secondary_path" to storage config
  • #931 Remove "collector" from config
  • #966 Update NOTICE.md
  • #1002 Rename minio to s3 in Storage Config section
  • #1078 Move 'insert_buffer_size' to Cache Config section
  • #1105 Error message is not clear when creating IVFSQ8H index without gpu resources
  • #740, #849, #878, #972, #1033, #1161, #1173, #1199, #1190, #1223, #1222, #1257, #1264, #1269, #1164, #1303, #1304, #1324, #1388, #1459 Various fixes and improvements for Milvus documentation.
  • #1297 Hide partition_name parameter, avid user directly access partition table
  • #1234 Do S3 server validation check when Milvus startup
  • #1263 Allow system conf modifiable and some take effect directly
  • #1310 Add default partition tag for a table
  • #1320 Remove debug logging from faiss
  • #1426 Support to configure whether to enabled autoflush and the autoflush interval
  • #1444 Improve delete
  • #1448 General proto api for NNS libraries
  • #1480 Add return code for AVX512 selection
  • #1524 Update config "preload_table" description
  • #1544 Update resources name in HTTP module
  • #1567 Update yaml config description

Task

  • #1327 Exclude third-party code from codebeat
  • #1331 Exclude third-party code from codacy

Milvus 0.6.0 (2019-12-07)

Bug

  • #228 Memory usage increased slowly during searching vectors
  • #246 Exclude src/external folder from code coverage for jenkin ci
  • #248 Reside src/external in thirdparty
  • #316 Some files not merged after vectors added
  • #327 Search does not use GPU when index type is FLAT
  • #331 Add exception handle when search fail
  • #340 Test cases run failed on 0.6.0
  • #353 Rename config.h.in to version.h.in
  • #374 sdk_simple return empty result
  • #377 Create partition success if tag name only contains spaces
  • #397 sdk_simple return incorrect result
  • #399 Create partition should be failed if partition tag existed
  • #412 Message returned is confused when partition created with null partition name
  • #416 Drop the same partition success repeatally
  • #440 Query API in customization still uses old version
  • #440 Server cannot startup with gpu_resource_config.enable=false in GPU version
  • #458 Index data is not compatible between 0.5 and 0.6
  • #465 Server hang caused by searching with nsg index
  • #485 Increase code coverage rate
  • #486 gpu no usage during index building
  • #497 CPU-version search performance decreased
  • #504 The code coverage rate of core/src/scheduler/optimizer is too low
  • #509 IVF_PQ index build trapped into dead loop caused by invalid params
  • #513 Unittest DELETE_BY_RANGE sometimes failed
  • #523 Erase file data from cache once the file is marked as deleted
  • #527 faiss benchmark not compatible with faiss 1.6.0
  • #530 BuildIndex stop when do build index and search simultaneously
  • #532 Assigin value to table_name from confest shell
  • #533 NSG build failed with MetricType Inner Product
  • #543 client raise exception in shards when search results is empty
  • #545 Avoid dead circle of build index thread when error occurs
  • #547 NSG build failed using GPU-edition if set gpu_enable false
  • #548 NSG search accuracy is too low
  • #552 Server down during building index_type: IVF_PQ using GPU-edition
  • #561 Milvus server should report exception/error message or terminate on mysql metadata backend error
  • #579 Build index hang in GPU version when gpu_resources disabled
  • #596 Frequently insert operation cost too much disk space
  • #599 Build index log is incorrect
  • #602 Optimizer specify wrong gpu_id
  • #606 No log generated during building index with CPU
  • #616 IP search metric_type is not supported by IVF_PQ index
  • #631 FAISS isn't compiled with O3 option
  • #636 (CPU) Create index PQ should be failed if table metric type set Inner Product
  • #649 Typo "partiton" should be "partition"
  • #654 Random crash when frequently insert vector one by one
  • #658 Milvus error out when building SQ8H index without GPU resources
  • #668 Update badge of README
  • #670 Random failure of unittest db_test::SEARCH_TEST
  • #674 Server down in stability test
  • #696 Metric_type changed from IP to L2
  • #705 Fix search SQ8H crash without GPU resource

Feature

  • #12 Pure CPU version for Milvus
  • #77 Support table partition
  • #127 Support new Index type IVFPQ
  • #226 Experimental shards middleware for Milvus
  • #227 Support new index types SPTAG-KDT and SPTAG-BKT
  • #346 Support build index with multiple gpu
  • #420 Update shards merge part to match v0.5.3
  • #488 Add log in scheduler/optimizer
  • #502 C++ SDK support IVFPQ and SPTAG
  • #560 Add version in server config file
  • #605 Print more messages when server start
  • #644 Add a new rpc command to get milvus build version whether cpu or gpu
  • #709 Show last commit id when server start

Improvement

  • #255 Add ivfsq8 test report detailed version
  • #260 C++ SDK README
  • #266 RPC request source code refactor
  • #274 Logger the time cost during preloading data
  • #275 Rename C++ SDK IndexType
  • #284 Change C++ SDK to shared library
  • #306 Use int64 for all config integer
  • #310 Add Q&A for 'protocol https not supported or disable in libcurl' issue
  • #314 add Find FAISS in CMake
  • #322 Add option to enable / disable prometheus
  • #354 Build migration scripts into milvus docker image
  • #358 Add more information in build.sh and install.md
  • #404 Add virtual method Init() in Pass abstract class
  • #409 Add a Fallback pass in optimizer
  • #433 C++ SDK query result is not easy to use
  • #449 Add ShowPartitions example for C++ SDK
  • #470 Small raw files should not be build index
  • #584 Intergrate internal FAISS
  • #611 Remove MILVUS_CPU_VERSION
  • #634 FAISS GPU version is compiled with O0
  • #737 Refactor server module to separate Grpc from server handler and scheduler

Task

Milvus 0.5.3 (2019-11-13)

Bug

  • #258 Bytes type in proto cause big-endian/little-endian problem

Feature

Improvement

  • #204 improve grpc performance in search
  • #207 Add more unittest for config set/get
  • #208 Optimize unittest to support run single test more easily
  • #284 Change C++ SDK to shared library
  • #260 C++ SDK README

Task

Milvus 0.5.2 (2019-11-07)

Bug

  • #194 Search faild: message="Table file doesn't exist"

Feature

Improvement

  • #190 Update default config:use_blas_threshold to 1100 and server version printout to 0.5.2

Task

Milvus 0.5.1 (2019-11-04)

Bug

  • #134 JFrog cache error
  • #161 Search IVFSQHybrid crash on gpu
  • #169 IVF_FLAT search out of memory

Feature

  • #90 The server start error messages could be improved to enhance user experience
  • #104 test_scheduler core dump
  • #115 Using new structure for tasktable
  • #139 New config option use_gpu_threshold
  • #146 Add only GPU and only CPU version for IVF_SQ8 and IVF_FLAT
  • #164 Add CPU version for building index

Improvement

  • #64 Improvement dump function in scheduler
  • #80 Print version information into log during server start
  • #82 Move easyloggingpp into "external" directory
  • #92 Speed up CMake build process
  • #96 Remove .a file in milvus/lib for docker-version
  • #118 Using shared_ptr instead of weak_ptr to avoid performance loss
  • #122 Add unique id for Job
  • #130 Set task state MOVED after resource copy it completed
  • #149 Improve large query optimizer pass
  • #156 Not return error when search_resources and index_build_device set cpu
  • #159 Change the configuration name from 'use_gpu_threshold' to 'gpu_search_threshold'
  • #168 Improve result reduce
  • #175 add invalid config unittest

Task

Milvus 0.5.0 (2019-10-21)

Bug

  • MS-568 Fix gpuresource free error
  • MS-572 Milvus crash when get SIGINT
  • MS-577 Unittest Query randomly hung
  • MS-587 Count get wrong result after adding vectors and index built immediately
  • MS-599 Search wrong result when table created with metric_type: IP
  • MS-601 Docker logs error caused by get CPUTemperature error
  • MS-605 Server going down during searching vectors
  • MS-620 Get table row counts display wrong error code
  • MS-622 Delete vectors should be failed if date range is invalid
  • MS-624 Search vectors failed if time ranges long enough
  • MS-637 Out of memory when load too many tasks
  • MS-639 SQ8H index created failed and server hang
  • MS-640 Cache object size calculate incorrect
  • MS-641 Segment fault(signal 11) in PickToLoad
  • MS-644 Search crashed with index-type: flat
  • MS-647 grafana display average cpu-temp
  • MS-652 IVFSQH quantization double free
  • MS-650 SQ8H index create issue
  • MS-653 When config check fail, Milvus close without message
  • MS-654 Describe index timeout when building index
  • MS-658 Fix SQ8 Hybrid can't search
  • MS-665 IVF_SQ8H search crash when no GPU resource in search_resources
  • #9 Change default gpu_cache_capacity to 4
  • #20 C++ sdk example get grpc error
  • #23 Add unittest to improve code coverage
  • #31 make clang-format failed after run build.sh -l
  • #39 Create SQ8H index hang if using github server version
  • #30 Some troubleshoot messages in Milvus do not provide enough information
  • #48 Config unittest failed
  • #59 Topk result is incorrect for small dataset

Improvement

  • MS-552 Add and change the easylogging library
  • MS-553 Refine cache code
  • MS-555 Remove old scheduler
  • MS-556 Add Job Definition in Scheduler
  • MS-557 Merge Log.h
  • MS-558 Refine status code
  • MS-562 Add JobMgr and TaskCreator in Scheduler
  • MS-566 Refactor cmake
  • MS-574 Milvus configuration refactor
  • MS-578 Make sure milvus5.0 don't crack 0.3.1 data
  • MS-585 Update namespace in scheduler
  • MS-606 Speed up result reduce
  • MS-608 Update TODO names
  • MS-609 Update task construct function
  • MS-611 Add resources validity check in ResourceMgr
  • MS-619 Add optimizer class in scheduler
  • MS-626 Refactor DataObj to support cache any type data
  • MS-648 Improve unittest
  • MS-655 Upgrade SPTAG
  • #42 Put union of index_build_device and search resources to gpu_pool
  • #67 Avoid linking targets multiple times in cmake

Feature

  • MS-614 Preload table at startup
  • MS-627 Integrate new index: IVFSQHybrid
  • MS-631 IVFSQ8H Index support
  • MS-636 Add optimizer in scheduler for FAISS_IVFSQ8H

Task

  • MS-554 Change license to Apache 2.0
  • MS-561 Add contributing guidelines, code of conduct and README docs
  • MS-567 Add NOTICE.md
  • MS-569 Complete the NOTICE.md
  • MS-575 Add Clang-format & Clang-tidy & Cpplint
  • MS-586 Remove BUILD_FAISS_WITH_MKL option
  • MS-590 Refine cmake code to support cpplint
  • MS-600 Reconstruct unittest code
  • MS-602 Remove zilliz namespace
  • MS-610 Change error code base value from hex to decimal
  • MS-624 Re-organize project directory for open-source
  • MS-635 Add compile option to support customized faiss
  • MS-660 add ubuntu_build_deps.sh
  • #18 Add all test cases

Milvus 0.4.0 (2019-09-12)

Bug

  • MS-119 The problem of combining the log files
  • MS-121 The problem that user can't change the time zone
  • MS-411 Fix metric unittest linking error
  • MS-412 Fix gpu cache logical error
  • MS-416 ExecutionEngineImpl::GpuCache has not return value cause crash
  • MS-417 YAML sequence load disable cause scheduler startup failed
  • MS-413 Create index failed and server exited
  • MS-427 Describe index error after drop index
  • MS-432 Search vectors params nprobe need to check max number
  • MS-431 Search vectors params nprobe: 0/-1, expected result: raise exception
  • MS-331 Crate Table : when table exists, error code is META_FAILED(code=15) rather than ILLEGAL TABLE NAME(code=9))
  • MS-430 Search no result if index created with FLAT
  • MS-443 Create index hang again
  • MS-436 Delete vectors failed if index created with index_type: IVF_FLAT/IVF_SQ8
  • MS-449 Add vectors twice success, once with ids, the other no ids
  • MS-450 server hang after run stop_server.sh
  • MS-458 Keep building index for one file when no gpu resource
  • MS-461 Mysql meta unittest failed
  • MS-462 Run milvus server twices, should display error
  • MS-463 Search timeout
  • MS-467 mysql db test failed
  • MS-470 Drop index success, which table not created
  • MS-471 code coverage run failed
  • MS-492 Drop index failed if index have been created with index_type: FLAT
  • MS-493 Knowhere unittest crash
  • MS-453 GPU search error when nprobe set more than 1024
  • MS-474 Create index hang if use branch-0.3.1 server config
  • MS-510 unittest out of memory and crashed
  • MS-507 Dataset 10m-512, index type sq8performance in-normal when set CPU_CACHE to 16 or 64
  • MS-543 SearchTask fail without exception
  • MS-582 grafana displays changes frequently

Improvement

  • MS-327 Clean code for milvus
  • MS-336 Scheduler interface
  • MS-344 Add TaskTable Test
  • MS-345 Add Node Test
  • MS-346 Add some implementation of scheduler to solve compile error
  • MS-348 Add ResourceFactory Test
  • MS-350 Remove knowhere submodule
  • MS-354 Add task class and interface in scheduler
  • MS-355 Add copy interface in ExcutionEngine
  • MS-357 Add minimum schedule function
  • MS-359 Add cost test in new scheduler
  • MS-361 Add event in resource
  • MS-364 Modify tasktableitem in tasktable
  • MS-365 Use tasktableitemptr instead in event
  • MS-366 Implement TaskTable
  • MS-368 Implement cost.cpp
  • MS-371 Add TaskTableUpdatedEvent
  • MS-373 Add resource test
  • MS-374 Add action definition
  • MS-375 Add Dump implementation for Event
  • MS-376 Add loader and executor enable flag in Resource avoid diskresource execute task
  • MS-377 Improve process thread trigger in ResourceMgr, Scheduler and TaskTable
  • MS-378 Debug and Update normal_test in scheduler unittest
  • MS-379 Add Dump implementation in Resource
  • MS-380 Update resource loader and executor, work util all finished
  • MS-383 Modify condition variable usage in scheduler
  • MS-384 Add global instance of ResourceMgr and Scheduler
  • MS-389 Add clone interface in Task
  • MS-390 Update resource construct function
  • MS-391 Add PushTaskToNeighbourHasExecutor action
  • MS-394 Update scheduler unittest
  • MS-400 Add timestamp record in task state change function
  • MS-402 Add dump implementation for TaskTableItem
  • MS-406 Add table flag for meta
  • MS-403 Add GpuCacheMgr
  • MS-404 Release index after search task done avoid memory increment continues
  • MS-405 Add delete task support
  • MS-407 Reconstruct MetricsCollector
  • MS-408 Add device_id in resource construct function
  • MS-409 Using new scheduler
  • MS-413 Remove thrift dependency
  • MS-410 Add resource config comment
  • MS-414 Add TaskType in Scheduler::Task
  • MS-415 Add command tasktable to dump all tasktables
  • MS-418 Update server_config.template file, set CPU compute only default
  • MS-419 Move index_file_size from IndexParam to TableSchema
  • MS-421 Add TaskLabel in scheduler
  • MS-422 Support DeleteTask in Multi-GpuResource case
  • MS-428 Add PushTaskByDataLocality in scheduler
  • MS-440 Add DumpTaskTables in sdk
  • MS-442 Merge Knowhere
  • MS-445 Rename CopyCompleted to LoadCompleted
  • MS-451 Update server_config.template file, set GPU compute default
  • MS-455 Distribute tasks by minimal cost in scheduler
  • MS-460 Put transport speed as weight when choosing neighbour to execute task
  • MS-459 Add cache for pick function in tasktable
  • MS-476 Improve search performance
  • MS-482 Change search stream transport to unary in grpc
  • MS-487 Define metric type in CreateTable
  • MS-488 Improve code format in scheduler
  • MS-495 cmake: integrated knowhere
  • MS-496 Change the top_k limitation from 1024 to 2048
  • MS-502 Update tasktable_test in scheduler
  • MS-504 Update node_test in scheduler
  • MS-505 Install core unit test and add to coverage
  • MS-508 Update normal_test in scheduler
  • MS-532 Add grpc server unittest
  • MS-511 Update resource_test in scheduler
  • MS-517 Update resource_mgr_test in scheduler
  • MS-518 Add schedinst_test in scheduler
  • MS-519 Add event_test in scheduler
  • MS-520 Update resource_test in scheduler
  • MS-524 Add some unittest in event_test and resource_test
  • MS-525 Disable parallel reduce in SearchTask
  • MS-527 Update scheduler_test and enable it
  • MS-528 Hide some config used future
  • MS-530 Add unittest for SearchTask->Load
  • MS-531 Disable next version code
  • MS-533 Update resource_test to cover dump function
  • MS-523 Config file validation
  • MS-539 Remove old task code
  • MS-546 Add simple mode resource_config
  • MS-570 Add prometheus docker-compose file
  • MS-576 Scheduler refactor
  • MS-592 Change showtables stream transport to unary

Feature

  • MS-343 Implement ResourceMgr
  • MS-338 NewAPI: refine code to support CreateIndex
  • MS-339 NewAPI: refine code to support DropIndex
  • MS-340 NewAPI: implement DescribeIndex

Task

  • MS-297 disable mysql unit test

Milvus 0.3.1 (2019-07-10)

Bug

  • MS-148 Disable cleanup if mode is read only
  • MS-149 Fixed searching only one index file issue in distributed mode
  • MS-153 Fix c_str error when connecting to MySQL
  • MS-157 Fix changelog
  • MS-190 Use env variable to switch mem manager and fix cmake
  • MS-217 Fix SQ8 row count bug
  • MS-224 Return AlreadyExist status in MySQLMetaImpl::CreateTable if table already exists
  • MS-232 Add MySQLMetaImpl::UpdateTableFilesToIndex and set maximum_memory to default if config value = 0
  • MS-233 Remove mem manager log
  • MS-230 Change parameter name: Maximum_memory to insert_buffer_size
  • MS-234 Some case cause background merge thread stop
  • MS-235 Some test cases random fail
  • MS-236 Add MySQLMetaImpl::HasNonIndexFiles
  • MS-257 Update bzip2 download url
  • MS-288 Update compile scripts
  • MS-330 Stability test failed caused by server core dumped
  • MS-347 Build index hangs again
  • MS-382 fix MySQLMetaImpl::CleanUpFilesWithTTL unknown column bug

Improvement

  • MS-156 Add unittest for merge result functions
  • MS-152 Delete assert in MySQLMetaImpl and change MySQLConnectionPool impl
  • MS-204 Support multi db_path
  • MS-206 Support SQ8 index type
  • MS-208 Add buildinde interface for C++ SDK
  • MS-212 Support Inner product metric type
  • MS-241 Build Faiss with MKL if using Intel CPU; else build with OpenBlas
  • MS-242 Clean up cmake and change MAKE_BUILD_ARGS to be user defined variable
  • MS-245 Improve search result transfer performance
  • MS-248 Support AddVector/SearchVector profiling
  • MS-256 Add more cache config
  • MS-260 Refine log
  • MS-249 Check machine hardware during initialize
  • MS-261 Update faiss version to 1.5.3 and add BUILD_FAISS_WITH_MKL as an option
  • MS-266 Improve topk reduce time by using multi-threads
  • MS-275 Avoid sqlite logic error excetion
  • MS-278 add IndexStatsHelper
  • MS-313 add GRPC
  • MS-325 add grpc status return for C++ sdk and modify some format
  • MS-278 Add IndexStatsHelper
  • MS-312 Set openmp thread number by config
  • MS-305 Add CPU core percent metric
  • MS-310 Add milvus CPU utilization ratio and CPU/GPU temperature metrics
  • MS-324 Show error when there is not enough gpu memory to build index
  • MS-328 Check metric type on server start
  • MS-332 Set grpc and thrift server run concurrently
  • MS-352 Add hybrid index

Feature

  • MS-180 Add new mem manager
  • MS-195 Add nlist and use_blas_threshold conf
  • MS-137 Integrate knowhere

Task

  • MS-125 Create 0.3.1 release branch
  • MS-306 Optimize build efficiency

Milvus 0.3.0 (2019-06-30)

Bug

  • MS-104 Fix unittest lcov execution error
  • MS-102 Fix build script file condition error
  • MS-80 Fix server hang issue
  • MS-89 Fix compile failed, libgpufaiss.a link missing
  • MS-90 Fix arch match incorrect on ARM
  • MS-99 Fix compilation bug
  • MS-110 Avoid huge file size

Improvement

  • MS-82 Update server startup welcome message
  • MS-83 Update vecwise to Milvus
  • MS-77 Performance issue of post-search action
  • MS-22 Enhancement for MemVector size control
  • MS-92 Unify behavior of debug and release build
  • MS-98 Install all unit test to installation directory
  • MS-115 Change is_startup of metric_config switch from true to on
  • MS-122 Archive criteria config
  • MS-124 HasTable interface
  • MS-126 Add more error code
  • MS-128 Change default db path

Feature

  • MS-57 Implement index load/search pipeline
  • MS-56 Add version information when server is started
  • MS-64 Different table can have different index type
  • MS-52 Return search score
  • MS-66 Support time range query
  • MS-68 Remove rocksdb from third-party
  • MS-70 cmake: remove redundant libs in src
  • MS-71 cmake: fix faiss dependency
  • MS-72 cmake: change prometheus source to git
  • MS-73 cmake: delete civetweb
  • MS-65 Implement GetTableRowCount interface
  • MS-45 Implement DeleteTable interface
  • MS-75 cmake: change faiss version to 1.5.2; add CUDA gencode
  • MS-81 Fix faiss ptx issue; change cuda gencode
  • MS-84 cmake: add arrow, jemalloc and jsoncons third party; default build option OFF
  • MS-85 add NetIO metric
  • MS-96 add new query interface for specified files
  • MS-97 Add S3 SDK for MinIO Storage
  • MS-105 Add MySQL
  • MS-130 Add prometheus_test
  • MS-144 Add nprobe config
  • MS-147 Enable IVF
  • MS-130 Add prometheus_test

Task

  • MS-74 Change README.md in cpp
  • MS-88 Add support for arm architecture

Milvus 0.2.0 (2019-05-31)

Bug

  • MS-32 Fix thrift error
  • MS-34 Fix prometheus-cpp thirdparty
  • MS-67 Fix license check bug
  • MS-76 Fix pipeline crash bug
  • MS-100 CMake: fix AWS build issue
  • MS-101 Change AWS build type to Release

Improvement

  • MS-20 Clean Code Part 1

Feature

  • MS-5 Implement Auto Archive Feature
  • MS-6 Implement SDK interface part 1
  • MS-16 Implement metrics without prometheus
  • MS-21 Implement SDK interface part 2
  • MS-26 CMake. Add thirdparty packages
  • MS-31 CMake: add prometheus
  • MS-33 CMake: add -j4 to make third party packages build faster
  • MS-27 Support gpu config and disable license build config in cmake
  • MS-47 Add query vps metrics
  • MS-37 Add query, cache usage, disk write speed and file data size metrics
  • MS-30 Use faiss v1.5.2
  • MS-54 CMake: Change Thrift third party URL to github.com
  • MS-69 Prometheus: add all proposed metrics

Task

  • MS-1 Add CHANGELOG.md
  • MS-4 Refactor the vecwise_engine code structure
  • MS-62 Search range to all if no date specified