diff --git a/proto/vector-db.proto b/proto/vector-db.proto index 9b13002a..3b1fbc25 100644 --- a/proto/vector-db.proto +++ b/proto/vector-db.proto @@ -17,6 +17,9 @@ message AboutRequest { message AboutResponse { // AVS server version. string version = 1; + + // Assigned node roles. + repeated NodeRole roles = 2; } // Cluster Id @@ -29,6 +32,19 @@ message NodeId { uint64 id = 1; } +// Node roles determine the tasks a node will undertake. +enum NodeRole { + // Node will handle ANN query related tasks. + INDEX_QUERY = 0; + + // Node will handle vector index update/maintenance tasks including + // index, insert, delete and update of vector records and index healing. + INDEX_UPDATE = 1; + + // Node will handle key value read operations. + KV_READ = 2; +} + // Server endpoint. message ServerEndpoint { // IP address or DNS name. diff --git a/pyproject.toml b/pyproject.toml index 57ab665f..0e4dfa2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ version = "3.0.1" requires-python = ">3.8" dependencies = [ - "grpcio == 1.67.1", + "grpcio == 1.68.1", "protobuf == 5.28.3", "pyjwt == 2.9.0", "numpy", diff --git a/src/aerospike_vector_search/shared/proto_generated/auth_pb2.py b/src/aerospike_vector_search/shared/proto_generated/auth_pb2.py index de91f4a3..75e57cb3 100644 --- a/src/aerospike_vector_search/shared/proto_generated/auth_pb2.py +++ b/src/aerospike_vector_search/shared/proto_generated/auth_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: auth.proto -# Protobuf Python Version: 5.27.2 +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -12,8 +12,8 @@ _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, 5, - 27, - 2, + 28, + 1, '', 'auth.proto' ) diff --git a/src/aerospike_vector_search/shared/proto_generated/auth_pb2_grpc.py b/src/aerospike_vector_search/shared/proto_generated/auth_pb2_grpc.py index 2dcd88ef..05f8de93 100644 --- a/src/aerospike_vector_search/shared/proto_generated/auth_pb2_grpc.py +++ b/src/aerospike_vector_search/shared/proto_generated/auth_pb2_grpc.py @@ -5,7 +5,7 @@ from . import auth_pb2 as auth__pb2 -GRPC_GENERATED_VERSION = '1.67.1' +GRPC_GENERATED_VERSION = '1.68.1' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/aerospike_vector_search/shared/proto_generated/index_pb2.py b/src/aerospike_vector_search/shared/proto_generated/index_pb2.py index 7d3143e5..df2dfa44 100644 --- a/src/aerospike_vector_search/shared/proto_generated/index_pb2.py +++ b/src/aerospike_vector_search/shared/proto_generated/index_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: index.proto -# Protobuf Python Version: 5.27.2 +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -12,8 +12,8 @@ _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, 5, - 27, - 2, + 28, + 1, '', 'index.proto' ) diff --git a/src/aerospike_vector_search/shared/proto_generated/index_pb2_grpc.py b/src/aerospike_vector_search/shared/proto_generated/index_pb2_grpc.py index 9cc1079f..fadf4120 100644 --- a/src/aerospike_vector_search/shared/proto_generated/index_pb2_grpc.py +++ b/src/aerospike_vector_search/shared/proto_generated/index_pb2_grpc.py @@ -7,7 +7,7 @@ from . import index_pb2 as index__pb2 from . import types_pb2 as types__pb2 -GRPC_GENERATED_VERSION = '1.67.1' +GRPC_GENERATED_VERSION = '1.68.1' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/aerospike_vector_search/shared/proto_generated/transact_pb2.py b/src/aerospike_vector_search/shared/proto_generated/transact_pb2.py index 542b22ef..188ca54a 100644 --- a/src/aerospike_vector_search/shared/proto_generated/transact_pb2.py +++ b/src/aerospike_vector_search/shared/proto_generated/transact_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: transact.proto -# Protobuf Python Version: 5.27.2 +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -12,8 +12,8 @@ _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, 5, - 27, - 2, + 28, + 1, '', 'transact.proto' ) diff --git a/src/aerospike_vector_search/shared/proto_generated/transact_pb2_grpc.py b/src/aerospike_vector_search/shared/proto_generated/transact_pb2_grpc.py index bea4a416..4f130632 100644 --- a/src/aerospike_vector_search/shared/proto_generated/transact_pb2_grpc.py +++ b/src/aerospike_vector_search/shared/proto_generated/transact_pb2_grpc.py @@ -7,7 +7,7 @@ from . import transact_pb2 as transact__pb2 from . import types_pb2 as types__pb2 -GRPC_GENERATED_VERSION = '1.67.1' +GRPC_GENERATED_VERSION = '1.68.1' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/aerospike_vector_search/shared/proto_generated/types_pb2.py b/src/aerospike_vector_search/shared/proto_generated/types_pb2.py index b4221ee2..5038d318 100644 --- a/src/aerospike_vector_search/shared/proto_generated/types_pb2.py +++ b/src/aerospike_vector_search/shared/proto_generated/types_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: types.proto -# Protobuf Python Version: 5.27.2 +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -12,8 +12,8 @@ _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, 5, - 27, - 2, + 28, + 1, '', 'types.proto' ) diff --git a/src/aerospike_vector_search/shared/proto_generated/types_pb2_grpc.py b/src/aerospike_vector_search/shared/proto_generated/types_pb2_grpc.py index 40f9c37d..87bfd462 100644 --- a/src/aerospike_vector_search/shared/proto_generated/types_pb2_grpc.py +++ b/src/aerospike_vector_search/shared/proto_generated/types_pb2_grpc.py @@ -4,7 +4,7 @@ import warnings -GRPC_GENERATED_VERSION = '1.67.1' +GRPC_GENERATED_VERSION = '1.68.1' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2.py b/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2.py index 52dbc7fc..c2a4ec39 100644 --- a/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2.py +++ b/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: user-admin.proto -# Protobuf Python Version: 5.27.2 +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -12,8 +12,8 @@ _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, 5, - 27, - 2, + 28, + 1, '', 'user-admin.proto' ) diff --git a/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2_grpc.py b/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2_grpc.py index 116bb36c..7d005b81 100644 --- a/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2_grpc.py +++ b/src/aerospike_vector_search/shared/proto_generated/user_admin_pb2_grpc.py @@ -7,7 +7,7 @@ from . import types_pb2 as types__pb2 from . import user_admin_pb2 as user__admin__pb2 -GRPC_GENERATED_VERSION = '1.67.1' +GRPC_GENERATED_VERSION = '1.68.1' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2.py b/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2.py index 64d33b4e..2ef0d4bc 100644 --- a/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2.py +++ b/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: vector-db.proto -# Protobuf Python Version: 5.27.2 +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -12,8 +12,8 @@ _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, 5, - 27, - 2, + 28, + 1, '', 'vector-db.proto' ) @@ -25,7 +25,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fvector-db.proto\x12\x10\x61\x65rospike.vector\x1a\x1bgoogle/protobuf/empty.proto\"\x0e\n\x0c\x41\x62outRequest\" \n\rAboutResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\"\x17\n\tClusterId\x12\n\n\x02id\x18\x01 \x01(\x04\"\x14\n\x06NodeId\x12\n\n\x02id\x18\x01 \x01(\x04\">\n\x0eServerEndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\r\n\x05isTls\x18\x03 \x01(\x08\"I\n\x12ServerEndpointList\x12\x33\n\tendpoints\x18\x01 \x03(\x0b\x32 .aerospike.vector.ServerEndpoint\"\xb8\x01\n\x14\x43lusterNodeEndpoints\x12H\n\tendpoints\x18\x01 \x03(\x0b\x32\x35.aerospike.vector.ClusterNodeEndpoints.EndpointsEntry\x1aV\n\x0e\x45ndpointsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.aerospike.vector.ServerEndpointList:\x02\x38\x01\"I\n\x1b\x43lusterNodeEndpointsRequest\x12\x19\n\x0clistenerName\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_listenerName\"\x81\x01\n\x0f\x43lusteringState\x12\x13\n\x0bisInCluster\x18\x01 \x01(\x08\x12.\n\tclusterId\x18\x02 \x01(\x0b\x32\x1b.aerospike.vector.ClusterId\x12)\n\x07members\x18\x03 \x03(\x0b\x32\x18.aerospike.vector.NodeId2X\n\x0c\x41\x62outService\x12H\n\x03Get\x12\x1e.aerospike.vector.AboutRequest\x1a\x1f.aerospike.vector.AboutResponse\"\x00\x32\xdf\x02\n\x12\x43lusterInfoService\x12?\n\tGetNodeId\x12\x16.google.protobuf.Empty\x1a\x18.aerospike.vector.NodeId\"\x00\x12\x45\n\x0cGetClusterId\x12\x16.google.protobuf.Empty\x1a\x1b.aerospike.vector.ClusterId\"\x00\x12Q\n\x12GetClusteringState\x12\x16.google.protobuf.Empty\x1a!.aerospike.vector.ClusteringState\"\x00\x12n\n\x13GetClusterEndpoints\x12-.aerospike.vector.ClusterNodeEndpointsRequest\x1a&.aerospike.vector.ClusterNodeEndpoints\"\x00\x42\x43\n!com.aerospike.vector.client.protoP\x01Z\x1c\x61\x65rospike.com/vector/protos/b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fvector-db.proto\x12\x10\x61\x65rospike.vector\x1a\x1bgoogle/protobuf/empty.proto\"\x0e\n\x0c\x41\x62outRequest\"K\n\rAboutResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x12)\n\x05roles\x18\x02 \x03(\x0e\x32\x1a.aerospike.vector.NodeRole\"\x17\n\tClusterId\x12\n\n\x02id\x18\x01 \x01(\x04\"\x14\n\x06NodeId\x12\n\n\x02id\x18\x01 \x01(\x04\">\n\x0eServerEndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\r\n\x05isTls\x18\x03 \x01(\x08\"I\n\x12ServerEndpointList\x12\x33\n\tendpoints\x18\x01 \x03(\x0b\x32 .aerospike.vector.ServerEndpoint\"\xb8\x01\n\x14\x43lusterNodeEndpoints\x12H\n\tendpoints\x18\x01 \x03(\x0b\x32\x35.aerospike.vector.ClusterNodeEndpoints.EndpointsEntry\x1aV\n\x0e\x45ndpointsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.aerospike.vector.ServerEndpointList:\x02\x38\x01\"I\n\x1b\x43lusterNodeEndpointsRequest\x12\x19\n\x0clistenerName\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_listenerName\"\x81\x01\n\x0f\x43lusteringState\x12\x13\n\x0bisInCluster\x18\x01 \x01(\x08\x12.\n\tclusterId\x18\x02 \x01(\x0b\x32\x1b.aerospike.vector.ClusterId\x12)\n\x07members\x18\x03 \x03(\x0b\x32\x18.aerospike.vector.NodeId*:\n\x08NodeRole\x12\x0f\n\x0bINDEX_QUERY\x10\x00\x12\x10\n\x0cINDEX_UPDATE\x10\x01\x12\x0b\n\x07KV_READ\x10\x02\x32X\n\x0c\x41\x62outService\x12H\n\x03Get\x12\x1e.aerospike.vector.AboutRequest\x1a\x1f.aerospike.vector.AboutResponse\"\x00\x32\xdf\x02\n\x12\x43lusterInfoService\x12?\n\tGetNodeId\x12\x16.google.protobuf.Empty\x1a\x18.aerospike.vector.NodeId\"\x00\x12\x45\n\x0cGetClusterId\x12\x16.google.protobuf.Empty\x1a\x1b.aerospike.vector.ClusterId\"\x00\x12Q\n\x12GetClusteringState\x12\x16.google.protobuf.Empty\x1a!.aerospike.vector.ClusteringState\"\x00\x12n\n\x13GetClusterEndpoints\x12-.aerospike.vector.ClusterNodeEndpointsRequest\x1a&.aerospike.vector.ClusterNodeEndpoints\"\x00\x42\x43\n!com.aerospike.vector.client.protoP\x01Z\x1c\x61\x65rospike.com/vector/protos/b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,28 +35,30 @@ _globals['DESCRIPTOR']._serialized_options = b'\n!com.aerospike.vector.client.protoP\001Z\034aerospike.com/vector/protos/' _globals['_CLUSTERNODEENDPOINTS_ENDPOINTSENTRY']._loaded_options = None _globals['_CLUSTERNODEENDPOINTS_ENDPOINTSENTRY']._serialized_options = b'8\001' + _globals['_NODEROLE']._serialized_start=739 + _globals['_NODEROLE']._serialized_end=797 _globals['_ABOUTREQUEST']._serialized_start=66 _globals['_ABOUTREQUEST']._serialized_end=80 _globals['_ABOUTRESPONSE']._serialized_start=82 - _globals['_ABOUTRESPONSE']._serialized_end=114 - _globals['_CLUSTERID']._serialized_start=116 - _globals['_CLUSTERID']._serialized_end=139 - _globals['_NODEID']._serialized_start=141 - _globals['_NODEID']._serialized_end=161 - _globals['_SERVERENDPOINT']._serialized_start=163 - _globals['_SERVERENDPOINT']._serialized_end=225 - _globals['_SERVERENDPOINTLIST']._serialized_start=227 - _globals['_SERVERENDPOINTLIST']._serialized_end=300 - _globals['_CLUSTERNODEENDPOINTS']._serialized_start=303 - _globals['_CLUSTERNODEENDPOINTS']._serialized_end=487 - _globals['_CLUSTERNODEENDPOINTS_ENDPOINTSENTRY']._serialized_start=401 - _globals['_CLUSTERNODEENDPOINTS_ENDPOINTSENTRY']._serialized_end=487 - _globals['_CLUSTERNODEENDPOINTSREQUEST']._serialized_start=489 - _globals['_CLUSTERNODEENDPOINTSREQUEST']._serialized_end=562 - _globals['_CLUSTERINGSTATE']._serialized_start=565 - _globals['_CLUSTERINGSTATE']._serialized_end=694 - _globals['_ABOUTSERVICE']._serialized_start=696 - _globals['_ABOUTSERVICE']._serialized_end=784 - _globals['_CLUSTERINFOSERVICE']._serialized_start=787 - _globals['_CLUSTERINFOSERVICE']._serialized_end=1138 + _globals['_ABOUTRESPONSE']._serialized_end=157 + _globals['_CLUSTERID']._serialized_start=159 + _globals['_CLUSTERID']._serialized_end=182 + _globals['_NODEID']._serialized_start=184 + _globals['_NODEID']._serialized_end=204 + _globals['_SERVERENDPOINT']._serialized_start=206 + _globals['_SERVERENDPOINT']._serialized_end=268 + _globals['_SERVERENDPOINTLIST']._serialized_start=270 + _globals['_SERVERENDPOINTLIST']._serialized_end=343 + _globals['_CLUSTERNODEENDPOINTS']._serialized_start=346 + _globals['_CLUSTERNODEENDPOINTS']._serialized_end=530 + _globals['_CLUSTERNODEENDPOINTS_ENDPOINTSENTRY']._serialized_start=444 + _globals['_CLUSTERNODEENDPOINTS_ENDPOINTSENTRY']._serialized_end=530 + _globals['_CLUSTERNODEENDPOINTSREQUEST']._serialized_start=532 + _globals['_CLUSTERNODEENDPOINTSREQUEST']._serialized_end=605 + _globals['_CLUSTERINGSTATE']._serialized_start=608 + _globals['_CLUSTERINGSTATE']._serialized_end=737 + _globals['_ABOUTSERVICE']._serialized_start=799 + _globals['_ABOUTSERVICE']._serialized_end=887 + _globals['_CLUSTERINFOSERVICE']._serialized_start=890 + _globals['_CLUSTERINFOSERVICE']._serialized_end=1241 # @@protoc_insertion_point(module_scope) diff --git a/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2_grpc.py b/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2_grpc.py index 381c9a49..963ac399 100644 --- a/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2_grpc.py +++ b/src/aerospike_vector_search/shared/proto_generated/vector_db_pb2_grpc.py @@ -6,7 +6,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 from . import vector_db_pb2 as vector__db__pb2 -GRPC_GENERATED_VERSION = '1.67.1' +GRPC_GENERATED_VERSION = '1.68.1' GRPC_VERSION = grpc.__version__ _version_not_supported = False