Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release v1.7.7 #149

Merged
merged 2 commits into from
Sep 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.PHONY: all run deploy/staging deploy/production subup

LATEST_VERSION = 1.7.6
LATEST_VERSION = 1.7.7
RELEASE = main
NEW_VERSION := ${LATEST_VERSION}
DOC_VERSION = 1.7
Expand Down
178 changes: 113 additions & 65 deletions content/docs/api/insert.md

Large diffs are not rendered by default.

108 changes: 78 additions & 30 deletions content/docs/api/object.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Object_api"
date: 2023-02-09T15:05:36+09:00
date: 2023-09-15T09:38:35+09:00
draft: false
weight: 600
menu:
Expand All @@ -12,7 +12,7 @@ menu:

## Overview

Object Service is responsible for getting inserted vectors and checking whether vectors are inserted into the `vald-agent` or not.
Object Service is responsible for getting inserted vectors and checking whether vectors are inserted into the `vald-agent`.

```rpc
service Object {
Expand All @@ -28,7 +28,7 @@ service Object {

## Exists RPC

Exists RPC is the method to check the a vector exists in the `vald-agent`.
Exists RPC is the method to check that a vector exists in the `vald-agent`.

### Input

Expand All @@ -44,9 +44,9 @@ Exists RPC is the method to check the a vector exists in the `vald-agent`.

- Object.ID

| field | type | label | required | desc. |
| field | type | label | required | description |
| :---: | :----- | :---- | :------: | :------------------------------------------------------------- |
| id | string | | \* | the ID of a vector. ID should consist of 1 or more characters. |
| id | string | | \* | The ID of a vector. ID should consist of 1 or more characters. |

### Output

Expand All @@ -62,13 +62,13 @@ Exists RPC is the method to check the a vector exists in the `vald-agent`.

- Object.ID

| field | type | label | desc. |
| field | type | label | description |
| :---: | :----- | :---- | :------------------------------------------------------------- |
| id | string | | the ID of a vector. ID should consist of 1 or more characters. |
| id | string | | The ID of a vector. ID should consist of 1 or more characters. |

### Status Code

| code | desc. |
| code | name |
| :--: | :---------------- |
| 0 | OK |
| 1 | CANCELLED |
Expand All @@ -77,6 +77,22 @@ Exists RPC is the method to check the a vector exists in the `vald-agent`.
| 5 | NOT_FOUND |
| 13 | INTERNAL |

Please refer to [Response Status Code](./status) for more details.

### Troubleshooting

The request process may not be completed when the response code is NOT `0 (OK)`.

Here are some common reasons and how to resolve each error.

| name | common reason | how to resolve |
| :---------------- | :---------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |
| CANCELLED | Executed cancel() of rpc from client/server-side or network problems between client and server. | Check the code, especially around timeout and connection management, and fix if needed. |
| INVALID_ARGUMENT | The Requested vector's ID is empty, or some request payload is invalid. | Check request payload and fix request payload. |
| DEADLINE_EXCEEDED | The RPC timeout setting is too short on the client/server side. | Check the gRPC timeout setting on both the client and server sides and fix it if needed. |
| NOT_FOUND | Requested ID is NOT inserted. | Send a request with an ID that is already inserted. |
| INTERNAL | Target Vald cluster or network route has some critical error. | Check target Vald cluster first and check network route including ingress as second. |

## GetObject RPC

GetObject RPC is the method to get the metadata of a vector inserted into the `vald-agent`.
Expand All @@ -100,16 +116,16 @@ GetObject RPC is the method to get the metadata of a vector inserted into the `v

- Object.VectorRequest

| field | type | label | required | desc. |
| field | type | label | required | description |
| :-----: | :------------ | :---- | :------: | :------------------------------------------------------------- |
| id | Object.ID | | \* | the ID of a vector. ID should consist of 1 or more characters. |
| filters | Filter.Config | | | configuration for filter. |
| id | Object.ID | | \* | The ID of a vector. ID should consist of 1 or more characters. |
| filters | Filter.Config | | | Configuration for filter. |

- Object.ID

| field | type | label | required | desc. |
| field | type | label | required | description |
| :---: | :----- | :---- | :------: | :------------------------------------------------------------- |
| id | string | | \* | the ID of a vector. ID should consist of 1 or more characters. |
| id | string | | \* | The ID of a vector. ID should consist of 1 or more characters. |

### Output

Expand All @@ -126,14 +142,14 @@ GetObject RPC is the method to get the metadata of a vector inserted into the `v

- Object.Vector

| field | type | label | desc. |
| field | type | label | description |
| :----: | :----- | :--------------------- | :------------------------------------------------------------- |
| id | string | | the ID of a vector. ID should consist of 1 or more characters. |
| vector | float | repeated(Array[float]) | the vector data. its dimension is between 2 and 65,536. |
| id | string | | The ID of a vector. ID should consist of 1 or more characters. |
| vector | float | repeated(Array[float]) | The vector data. Its dimension is between 2 and 65,536. |

### Status Code

| code | desc. |
| code | name |
| :--: | :---------------- |
| 0 | OK |
| 1 | CANCELLED |
Expand All @@ -142,10 +158,26 @@ GetObject RPC is the method to get the metadata of a vector inserted into the `v
| 5 | NOT_FOUND |
| 13 | INTERNAL |

Please refer to [Response Status Code](./status) for more details.

### Troubleshooting

The request process may not be completed when the response code is NOT `0 (OK)`.

Here are some common reasons and how to resolve each error.

| name | common reason | how to resolve |
| :---------------- | :---------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |
| CANCELLED | Executed cancel() of rpc from client/server-side or network problems between client and server. | Check the code, especially around timeout and connection management, and fix if needed. |
| INVALID_ARGUMENT | The Requested vector's ID is empty, or some request payload is invalid. | Check request payload and fix request payload. |
| DEADLINE_EXCEEDED | The RPC timeout setting is too short on the client/server side. | Check the gRPC timeout setting on both the client and server sides and fix it if needed. |
| NOT_FOUND | Requested ID is NOT inserted. | Send a request with an ID that is already inserted. |
| INTERNAL | Target Vald cluster or network route has some critical error. | Check target Vald cluster first and check network route including ingress as second. |

## StreamGetObject RPC

StreamGetObject RPC is the method to get the metadata of multiple existing vectors using the [bidirectional streaming RPC](https://grpc.io/docs/what-is-grpc/core-concepts/#bidirectional-streaming-rpc).<br>
By using the bidirectional streaming RPC, the GetObject request can be communicated in any order between client and server.
Using the bidirectional streaming RPC, the GetObject request can be communicated in any order between client and server.
Each Upsert request and response are independent.

- the scheme of `payload.v1.Object.VectorRequest stream`
Expand All @@ -165,16 +197,16 @@ Each Upsert request and response are independent.

- Object.VectorRequest

| field | type | label | required | desc. |
| field | type | label | required | description |
| :-----: | :------------ | :---- | :------: | :------------------------------------------------------------- |
| id | Object.ID | | \* | the ID of a vector. ID should consist of 1 or more characters. |
| filters | Filter.Config | | | configuration for filter. |
| id | Object.ID | | \* | The ID of a vector. ID should consist of 1 or more characters. |
| filters | Filter.Config | | | Configuration for the filter targets. |

- Object.ID

| field | type | label | required | desc. |
| field | type | label | required | description |
| :---: | :----- | :---- | :------: | :------------------------------------------------------------- |
| id | string | | \* | the ID of a vector. ID should consist of 1 or more characters. |
| id | string | | \* | The ID of a vector. ID should consist of 1 or more characters. |

### Output

Expand All @@ -197,25 +229,41 @@ Each Upsert request and response are independent.

- Object.StreamVector

| field | type | label | desc. |
| field | type | label | description |
| :----: | :---------------- | :---- | :------------------------------------- |
| vector | Vector | | the information of Object.Vector data. |
| status | google.rpc.Status | | the status of google RPC. |
| vector | Vector | | The information of Object.Vector data. |
| status | google.rpc.Status | | The status of Google RPC. |

- Object.Vector

| field | type | label | desc. |
| field | type | label | description |
| :----: | :----- | :--------------------- | :------------------------------------------------------------- |
| id | string | | the ID of a vector. ID should consist of 1 or more characters. |
| vector | float | repeated(Array[float]) | the vector data. its dimension is between 2 and 65,536. |
| id | string | | The ID of a vector. ID should consist of 1 or more characters. |
| vector | float | repeated(Array[float]) | The vector data. Its dimension is between 2 and 65,536. |

### Status Code

| code | desc. |
| code | name |
| :--: | :---------------- |
| 0 | OK |
| 1 | CANCELLED |
| 3 | INVALID_ARGUMENT |
| 4 | DEADLINE_EXCEEDED |
| 5 | NOT_FOUND |
| 13 | INTERNAL |

Please refer to [Response Status Code](./status) for more details.

### Troubleshooting

The request process may not be completed when the response code is NOT `0 (OK)`.

Here are some common reasons and how to resolve each error.

| name | common reason | how to resolve |
| :---------------- | :---------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |
| CANCELLED | Executed cancel() of rpc from client/server-side or network problems between client and server. | Check the code, especially around timeout and connection management, and fix if needed. |
| INVALID_ARGUMENT | The Requested vector's ID is empty, or some request payload is invalid. | Check request payload and fix request payload. |
| DEADLINE_EXCEEDED | The RPC timeout setting is too short on the client/server side. | Check the gRPC timeout setting on both the client and server sides and fix it if needed. |
| NOT_FOUND | Requested ID is NOT inserted. | Send a request with an ID that is already inserted. |
| INTERNAL | Target Vald cluster or network route has some critical error. | Check target Vald cluster first and check network route including ingress as second. |
Loading