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

[Merge Pending] Allow passing query between egress filter and filter gateway. #2097

Open
wants to merge 77 commits into
base: main
Choose a base branch
from

Conversation

kevindiu
Copy link
Contributor

@kevindiu kevindiu commented Jun 29, 2023

Description:

This PR updated the following changes:

  • Allow passing query to egress filter through FilterDistance and FilterVector API
    • See apis/proto/v1/filter/egress/egress_filter.proto
  • Update Search APIs to allow filter searching result using query
    • For the logic, see pkg/gateway/filter/handler/grpc/handler.go
  • Updated existing Insert, Update, Upsert, GetObject API to allow filter object before corresponding operation
    • Updated to allow passing different query through multiple filtering target
  • Add example code, including example egress filter implementation, and example client code to connect to filter gateway using query filter feature.
    • See example/client/gateway/filter/README.md
  • Update related document about above changes.

Related Issue:

Versions:

  • Go Version: 1.20.3
  • Docker Version: 23.0.5
  • Kubernetes Version: 1.27.1
  • NGT Version: 2.0.9

Checklist:

Special notes for your reviewer:

You can check the behavior after this modification by reading the example/client/gateway/filter/README.md .

You may also need to edit the below file to enable filter gateway and setting the image tag to validate the implementation.

vim example/helm/values.yaml

gateway:
  filter:
    enabled: true
    image:
      tag: pr-2097

Please do not merge this PR, unless the target merge branch is updated.

Summary by CodeRabbit

  • New Features

    • Added support for new filter payload types: DistanceRequest, DistanceResponse, Query, VectorRequest, and VectorResponse.
    • Introduced query fields in filter configurations for enhanced filtering capabilities.
    • Implemented new methods for filtering distances and vectors.
    • Enhanced search functionality to support multiple ingress and egress filters.
    • Added aggregation algorithm options in search configurations.
  • Documentation

    • Updated API documentation to reflect new filter payload types and query fields.
    • Enhanced user guides with new filter configuration options and examples, including details on ingress and egress filters.

@vdaas-ci
Copy link
Collaborator

[CHATOPS:HELP] ChatOps commands.

  • 🙆‍♀️ /approve - approve
  • 💌 /changelog - replace the PR body by changelog details
  • 🍱 /format - format codes and add licenses
  • /gen-test - generate test codes
  • 🏷️ /label - add labels
  • /rebase - rebase main
  • 🔚 2️⃣ 🔚 /label actions/e2e-deploy - run E2E deploy & integration test

@kevindiu kevindiu closed this Jun 29, 2023
@kevindiu kevindiu force-pushed the feature/egress-gateway/add-egress-query branch from f25941c to c05ffa7 Compare June 29, 2023 05:34
@kevindiu kevindiu reopened this Jun 29, 2023
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jun 29, 2023

Deploying vald with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2e308e9
Status: ✅  Deploy successful!
Preview URL: https://eb314004.vald.pages.dev
Branch Preview URL: https://feature-egress-gateway-add-e.vald.pages.dev

View logs

@vdaas-ci
Copy link
Collaborator

[WARNING:INTCFG] Changes in interal/config may require you to change Helm charts. Please check.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

LanguageTool

docs/user-guides/client-api-config.md|647 col 39| This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING
example/client/gateway/filter/README.md|8 col 4| This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Gateway
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING
example/client/gateway/filter/README.md|11 col 4| This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Filter
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING
example/client/gateway/filter/README.md|13 col 4| This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Agent
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING
example/client/gateway/filter/README.md|22 col 13| Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: vald
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC
example/client/gateway/filter/README.md|47 col 61| This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Go
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

docs/overview/component/filter-gateway.md Show resolved Hide resolved
docs/overview/component/filter-gateway.md Show resolved Hide resolved
docs/overview/component/filter-gateway.md Show resolved Hide resolved
docs/overview/component/filter-gateway.md Show resolved Hide resolved
docs/overview/component/filter-gateway.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Outdated Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Outdated Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Outdated Show resolved Hide resolved
docs/user-guides/client-api-config.md Outdated Show resolved Hide resolved
docs/user-guides/client-api-config.md Outdated Show resolved Hide resolved
docs/user-guides/client-api-config.md Outdated Show resolved Hide resolved
docs/user-guides/client-api-config.md Outdated Show resolved Hide resolved
example/client/gateway/filter/README.md Outdated Show resolved Hide resolved
example/client/gateway/filter/README.md Outdated Show resolved Hide resolved
example/client/gateway/filter/README.md Outdated Show resolved Hide resolved
example/client/gateway/filter/README.md Outdated Show resolved Hide resolved
example/client/gateway/filter/README.md Outdated Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
docs/user-guides/client-api-config.md Show resolved Hide resolved
@github-actions github-actions bot removed the size/S label Jun 29, 2023
@codecov
Copy link

codecov bot commented Jun 29, 2023

Codecov Report

Attention: Patch coverage is 1.92926% with 610 lines in your changes missing coverage. Please review.

Project coverage is 23.93%. Comparing base (da0ac80) to head (2e308e9).

Files with missing lines Patch % Lines
pkg/gateway/filter/handler/grpc/handler.go 0.00% 463 Missing ⚠️
example/server/egress-filter/main.go 0.00% 53 Missing ⚠️
example/server/ingress-filter/main.go 0.00% 35 Missing ⚠️
pkg/tools/benchmark/job/service/object.go 0.00% 19 Missing ⚠️
internal/client/v1/client/filter/egress/client.go 0.00% 14 Missing ⚠️
internal/config/benchmark.go 0.00% 14 Missing ⚠️
pkg/gateway/filter/handler/grpc/option.go 0.00% 8 Missing ⚠️
pkg/gateway/filter/usecase/vald.go 0.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2097      +/-   ##
==========================================
- Coverage   23.99%   23.93%   -0.06%     
==========================================
  Files         539      541       +2     
  Lines       47179    47329     +150     
==========================================
+ Hits        11319    11330      +11     
- Misses      35090    35229     +139     
  Partials      770      770              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kevindiu kevindiu requested a review from hlts2 June 29, 2023 08:52
@kevindiu kevindiu force-pushed the feature/egress-gateway/add-egress-query branch from 0d131ad to 114385d Compare June 29, 2023 08:55
@kevindiu kevindiu force-pushed the feature/egress-gateway/add-egress-query branch from dfdb51d to 21df055 Compare June 30, 2023 03:15
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

LanguageTool

[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Rpc
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

rpc FilterVector(payload.v1.Filter.VectorRequest)


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

message DistanceRequest {


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Distance
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

repeated Object.Distance distance = 1;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

message DistanceResponse {


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Distance
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

repeated Object.Distance distance = 1;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

message VectorRequest {


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Vector
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Object.Vector vector = 1;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

message VectorResponse {


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Vector
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Object.Vector vector = 1;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent insert configurations.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the update configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the upsert configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config ingress_filters = 6;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config egress_filters = 7;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the remove configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Gateway
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Filter
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Agent
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: vald
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

helm install vald vald/vald --values example/helm/values.yaml


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Go
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

go run ./example/client/gateway/filter/main.go -addr "localhost:8081" -ingresshost "vald-ingress-filter.default.svc.cluster.local" -ingressport 8082 -egresshost "vald-egress-filter.default.svc.cluster.local" -egressport 8083

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

documents testlint

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config] | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for the filter targets. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |

docs/api/filter-gateway.md Show resolved Hide resolved
docs/api/filter-gateway.md Show resolved Hide resolved
docs/api/filter-gateway.md Show resolved Hide resolved
| timestamp | int64 | | | the timestamp of the vector inserted.<br>if it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | configuration for filter |

- Filter.Config
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :--------------------------------------------------------------------------------------------------- |
| skip_strict_exist_check | bool | | | check the same vector is already inserted or not.<br>the ID should be unique if the value is `true`. |
| timestamp | int64 | | | the timestamp of the vector inserted.<br>if it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | configuration for filter |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)


| field | type | label | required | desc. |
| :---: | :----- | :---- | :------: | :------------------ |
| host | string | | \* | the target hostname |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
hostname => hostage (en-spell)

| radius | float | | \* | the search radius |
| epsilon | float | | \* | the search coefficient (default value is `0.1`) |
| timeout | int64 | | | Search timeout in nanoseconds (default value is `5s`) |
| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| epsilon | float | | \* | the search coefficient (default value is `0.1`) |
| timeout | int64 | | | Search timeout in nanoseconds (default value is `5s`) |
| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration |
| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration |
| min_num | uint32 | | | the minimum number of result to be returned |

- Filter.Config
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)


| field | type | label | required | desc. |
| :---: | :----- | :---- | :------: | :------------------ |
| host | string | | \* | the target hostname |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
hostname => hostage (en-spell)

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

LanguageTool

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the update configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the upsert configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config ingress_filters = 6;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config egress_filters = 7;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the remove configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Gateway
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Filter
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Agent
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: vald
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

helm install vald vald/vald --values example/helm/values.yaml


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Go
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

go run ./example/client/gateway/filter/main.go -addr "localhost:8081" -ingresshost "vald-ingress-filter.default.svc.cluster.local" -ingressport 8082 -egresshost "vald-egress-filter.default.svc.cluster.local" -egressport 8083

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

documents testlint

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |


🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| field | type | label | required | description |
| :-----: | :---------------------------- | :---- | :------: | :------------------------------------------------------------- |
| id | Object.ID | | \* | The ID of a vector. ID should consist of 1 or more characters. |
| filters | repeated(Array[Filter.Config] | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| field | type | label | required | description |
| :-----: | :----------------------------- | :---- | :------: | :------------------------------------------------------------- |
| id | Object.ID | | \* | The ID of a vector. ID should consist of 1 or more characters. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for the filter targets. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| request_id | string | | | Unique request ID. |
| num | uint32 | | \* | The maximum number of results to be returned. |
| timeout | int64 | | | Search timeout in nanoseconds (default value is `5s`). |
| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| num | uint32 | | \* | The maximum number of results to be returned. |
| timeout | int64 | | | Search timeout in nanoseconds (default value is `5s`). |
| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |
| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| request_id | string | | | Unique request ID. |
| num | uint32 | | \* | The maximum number of results to be returned. |
| timeout | int64 | | | Search timeout in nanoseconds (default value is `5s`). |
| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| num | uint32 | | \* | The maximum number of results to be returned. |
| timeout | int64 | | | Search timeout in nanoseconds (default value is `5s`). |
| ingress_filters | repeated(Array[Filter.Config]) | | | Ingress Filter configuration. |
| egress_filters | repeated(Array[Filter.Config]) | | | Egress Filter configuration. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🧹 Outside diff range and nitpick comments (10)
apis/docs/v1/docs.md (2)

1044-1056: Approve new fields in Search.Config, but suggest additional documentation.

The new fields added to the Search.Config message (ingress_filters, egress_filters, min_num, aggregation_algorithm, ratio, and nprobe) significantly enhance the search configuration options, aligning with the PR objectives.

However, given the number of new fields, it would be beneficial to provide more detailed documentation for each new field, explaining their purpose and usage.

Consider adding more detailed descriptions for each new field in the Search.Config message. For example:

 | ingress_filters       | [Filter.Config](#payload-v1-Filter-Config)                             | repeated | Ingress filter configurations.               |
+| egress_filters        | [Filter.Config](#payload-v1-Filter-Config)                             | repeated | Egress filter configurations applied after the search operation. |
+| min_num               | [uint32](#uint32)                                                      |          | Minimum number of results to be returned. |
+| aggregation_algorithm | [Search.AggregationAlgorithm](#payload-v1-Search-AggregationAlgorithm) |          | Algorithm used for aggregating search results. |
+| ratio                 | [google.protobuf.FloatValue](#google-protobuf-FloatValue)              |          | Ratio used to determine the number of results returned by each agent. |
+| nprobe                | [uint32](#uint32)                                                      |          | Number of probes to use in the search operation. |
🧰 Tools
🪛 Markdownlint

1055-1055: null
Link fragments should be valid

(MD051, link-fragments)


1166-1171: Approve new fields in Update.Config, but suggest clarification for 'disable_balanced_update'.

The addition of the filters field to the Update.Config message aligns with the PR objectives of enhancing filtering capabilities. The new disable_balanced_update field introduces an interesting feature for controlling the update process.

However, the purpose and implications of the disable_balanced_update field may not be immediately clear to all users.

Consider providing a more detailed explanation for the disable_balanced_update field. For example:

-| disable_balanced_update | [bool](#bool)                              |          | A flag to disable balanced update (split remove -&gt; insert operation) during update operation. |
+| disable_balanced_update | [bool](#bool)                              |          | A flag to disable balanced update during the update operation. When set to true, it prevents the update from being split into separate remove and insert operations, which may affect performance or consistency depending on the use case. Default is false. |
apis/proto/v1/payload/payload.proto (3)

162-169: Clarify the message comment for 'DistanceRequest'

The comment // Represent the ID and distance pair may not accurately reflect the contents of DistanceRequest, which includes a list of distances and a query. Consider updating the comment to better describe the purpose of this message, such as:

-// Represent the ID and distance pair.
+// Represents a request containing distances and an optional query for filtering.

170-175: Clarify the message comment for 'DistanceResponse'

The comment // Represent the ID and distance pair might not match the structure of DistanceResponse, which contains a list of distances without an associated ID. Consider updating the comment to:

-// Represent the ID and distance pair.
+// Represents a response containing filtered distances.

176-183: Clarify the message comment for 'VectorRequest'

The comment // Represent the ID and vector pair does not fully describe the VectorRequest message, which includes a vector and an optional query. To enhance clarity, consider revising the comment:

-// Represent the ID and vector pair.
+// Represents a request containing a vector and an optional query for filtering.
rust/libs/proto/src/payload.v1.rs (5)

262-273: Consider renaming the Query struct to avoid potential naming conflicts

Introducing a struct named Query within the Filter module may lead to naming conflicts or confusion with other Query types in the codebase or external libraries. Consider renaming it to something more specific, such as FilterQuery, to improve clarity and avoid ambiguity.


289-299: Update documentation comments for DistanceRequest

The documentation for DistanceRequest states "Represent the ID and distance pair," but the struct contains a list of distances and an optional query. Consider updating the comment to more accurately reflect the purpose of DistanceRequest, such as "Represent a request containing distances and an optional query for filtering."


304-315: Update documentation comments for DistanceResponse

The documentation for DistanceResponse states "Represent the ID and distance pair," but the struct contains a list of distances. Consider updating the comment to reflect that this struct represents a response containing distances after filtering.


316-326: Update documentation comments for VectorRequest

The documentation for VectorRequest states "Represent the ID and vector pair," but the struct contains a vector and an optional query. Consider updating the comment to more accurately describe the purpose of VectorRequest, such as "Represent a request containing a vector and an optional query for filtering."


331-342: Update documentation comments for VectorResponse

The documentation for VectorResponse states "Represent the ID and vector pair," but the struct contains a vector. Consider updating the comment to accurately describe VectorResponse, such as "Represent a response containing a filtered vector."

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between b406be6 and d9ca20c.

⛔ Files ignored due to path filters (3)
  • apis/grpc/v1/payload/payload.pb.go is excluded by !**/*.pb.go, !**/*.pb.go
  • apis/grpc/v1/payload/payload.pb.json.go is excluded by !**/*.pb.json.go
  • apis/grpc/v1/payload/payload_vtproto.pb.go is excluded by !**/*.pb.go, !**/*.pb.go
📒 Files selected for processing (3)
  • apis/docs/v1/docs.md (9 hunks)
  • apis/proto/v1/payload/payload.proto (6 hunks)
  • rust/libs/proto/src/payload.v1.rs (6 hunks)
🧰 Additional context used
🪛 Markdownlint
apis/docs/v1/docs.md

1055-1055: null
Link fragments should be valid

(MD051, link-fragments)

🔇 Additional comments (12)
apis/docs/v1/docs.md (4)

16-17: New message types for distance filtering look good.

The addition of Filter.DistanceRequest and Filter.DistanceResponse message types enhances the API's capabilities for distance-related filtering operations. This is in line with the PR objectives.


18-18: New Filter.Query message type is appropriate.

The addition of the Filter.Query message type aligns with the PR objectives, enabling more complex filtering configurations in the API.


20-21: New message types for vector filtering are well-placed.

The addition of Filter.VectorRequest and Filter.VectorResponse message types enhances the API's vector filtering capabilities, which is consistent with the PR objectives.


958-961: Addition of filters field to Object.VectorRequest is appropriate.

The inclusion of the filters field in the Object.VectorRequest message allows for filtering configurations when fetching vectors, which aligns with the PR objectives of enhancing filtering capabilities.

apis/proto/v1/payload/payload.proto (2)

148-153: Addition of 'Filter.Query' message looks good

The new Filter.Query message appropriately encapsulates a raw query string for filter configurations. This enhances flexibility by allowing queries to be passed between egress filters and the filter gateway.


157-160: Addition of 'query' field to 'Filter.Config'

Adding the Query query = 2; field to Filter.Config is a valid extension that enables passing query parameters to filters. The new field uses a unique tag number, ensuring compatibility with existing Protobuf conventions.

rust/libs/proto/src/payload.v1.rs (6)

279-283: Addition of query field to Filter.Config appears correct

The query field has been added to Filter.Config. The implementation and documentation are appropriate.


525-526: ⚠️ Potential issue

Ensure that multiple filters are handled correctly in Update.Config

The filters field in Update.Config has been changed from an optional filter::Config to a repeated Vec<filter::Config>. Ensure that all related code is updated to handle multiple filters during update operations.

Run the following script to find usages of Update.Config and check for potential issues:

#!/bin/bash
# Description: Find all usages of `filters` in `Update.Config`
rg --type rust -A 3 'Update.Config' | rg 'filters'

420-421: ⚠️ Potential issue

Ensure that multiple filters are handled correctly in Insert.Config

The filters field in Insert.Config has been changed from an optional filter::Config to a repeated Vec<filter::Config>. Verify that all code constructing or using Insert.Config is updated to handle multiple filters. This may affect insertion logic and data validation.

Run the following script to find usages of Insert.Config and check for potential issues:

#!/bin/bash
# Description: Find all usages of `filters` in `Insert.Config`
rg --type rust -A 3 'Insert.Config' | rg 'filters'

616-617: ⚠️ Potential issue

Ensure that multiple filters are handled correctly in Upsert.Config

The filters field in Upsert.Config has been changed from an optional filter::Config to a repeated Vec<filter::Config>. Verify that all code constructing or using Upsert.Config is updated to handle multiple filters during upsert operations.

Run the following script to find usages of Upsert.Config and check for potential issues:

#!/bin/bash
# Description: Find all usages of `filters` in `Upsert.Config`
rg --type rust -A 3 'Upsert.Config' | rg 'filters'

802-803: ⚠️ Potential issue

Ensure that multiple filters are handled correctly in Object.VectorRequest

The filters field in Object.VectorRequest has been changed from an optional filter::Config to a repeated Vec<filter::Config>. Make sure all usages of Object.VectorRequest handle multiple filters appropriately, and that requesting vectors works correctly with multiple filters.

Run the following script to find usages of Object.VectorRequest and check for potential issues:

#!/bin/bash
# Description: Find all usages of `filters` in `Object.VectorRequest`
rg --type rust -A 3 'Object.VectorRequest' | rg 'filters'

126-127: ⚠️ Potential issue

Ensure that multiple filters are handled correctly in Search.Config

The ingress_filters and egress_filters fields in Search.Config have been changed from optional single filter::Config to repeated Vec<filter::Config>. Verify that all code that constructs or uses Search.Config is updated to handle multiple ingress and egress filters. This might affect serialization/deserialization and any logic that assumes a single filter.

Run the following script to find usages of Search.Config and check for potential issues:

Also applies to: 129-130

apis/docs/v1/docs.md Show resolved Hide resolved
apis/proto/v1/payload/payload.proto Show resolved Hide resolved
apis/proto/v1/payload/payload.proto Show resolved Hide resolved
apis/proto/v1/payload/payload.proto Show resolved Hide resolved
apis/proto/v1/payload/payload.proto Show resolved Hide resolved
apis/proto/v1/payload/payload.proto Show resolved Hide resolved
apis/proto/v1/payload/payload.proto Show resolved Hide resolved
Signed-off-by: hlts2 <[email protected]>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

LanguageTool

[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent insert configurations.


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the update configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the upsert configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config ingress_filters = 6;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config egress_filters = 7;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the remove configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Gateway
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Filter
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Agent
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: vald
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

helm install vald vald/vald --values example/helm/values.yaml


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Go
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

go run ./example/client/gateway/filter/main.go -addr "localhost:8081" -ingresshost "vald-ingress-filter.default.svc.cluster.local" -ingressport 8082 -egresshost "vald-egress-filter.default.svc.cluster.local" -egressport 8083

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

| :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ |
| skip_strict_exist_check | bool | | | Check whether the same vector is already inserted or not.<br> The ID should be unique if the value is `true`. |
| timestamp | int64 | | | The timestamp of the vector inserted.<br>If it is N/A, the current time will be used. |
| filters | repeated(Array[Filter.Config]) | | | Configuration for filter. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (2)
internal/client/v1/client/filter/egress/client.go (2)

Line range hint 156-169: Refactor duplicated code in FilterDistance and FilterVector methods

The implementations of FilterDistance and FilterVector in the specificAddrClient type are similar in structure and logic. Consider refactoring the shared code into a helper function or method to reduce duplication and improve maintainability.

Also applies to: 226-239


Line range hint 178-195: Refactor duplicated code in multiple address client methods

The FilterDistance and FilterVector methods in the multipleAddrsClient type also contain duplicated code. Refactoring the common logic into shared helper functions can enhance code readability and maintainability.

Also applies to: 248-265

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between d9ca20c and a19e8e6.

📒 Files selected for processing (1)
  • internal/client/v1/client/filter/egress/client.go (12 hunks)
🔇 Additional comments (2)
internal/client/v1/client/filter/egress/client.go (2)

134-135: Method signature updated to use new request type

The FilterDistance method now correctly accepts *payload.Filter_DistanceRequest, aligning with the updated API changes. This ensures consistency with the new request and response types.


Line range hint 153-199: Duplicate code detected in client methods

There is significant code duplication between the methods in lines 153-199 and 221-267. This issue has been previously flagged by static analysis tools. Refactoring the duplicated code into shared functions would reduce redundancy and improve code quality.

Also applies to: 221-267

coderabbitai[bot]
coderabbitai bot previously approved these changes Sep 30, 2024
Copy link
Contributor

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (19)
example/client/gateway/filter/ingress-filter/main.go (2)

35-52: LGTM: Well-structured global variables and init function.

The global variables and init function are well-structured and provide a good setup for the example program. The command-line flags are properly set up with sensible default values.

Consider formatting the flag description comments as proper Go doc comments for better consistency:

-	/**
-	  Ingresshost option specifies grpc server host of your ingress filter. Default value is `127.0.0.1`.
-	  Ingressport option specifies grpc server port of your ingress filter. Default value is `8082`.
-	  Dimension option specifies dimension size of vectors. Default value is  `784`.
-	  **/
+	// Ingresshost option specifies grpc server host of your ingress filter. Default value is `127.0.0.1`.
+	// Ingressport option specifies grpc server port of your ingress filter. Default value is `8082`.
+	// Dimension option specifies dimension size of vectors. Default value is `784`.

54-80: Main function structure is good, but consider improving example inputs.

The main function is well-structured with proper error handling and demonstrates basic usage of the ingress filter client. However, the example inputs for GenVector and FilterVector might not represent realistic scenarios.

Consider using more realistic example inputs:

-	res, err := client.GenVector(context.Background(), &payload.Object_Blob{Id: "1", Object: make([]byte, 0)})
+	res, err := client.GenVector(context.Background(), &payload.Object_Blob{Id: "1", Object: []byte("example input data")})
 	if err != nil {
 		glg.Error(err)
 		return
 	}
 	glg.Info("GenVector Vector: ", res.GetVector())

-	res, err = client.FilterVector(context.Background(), &payload.Object_Vector{Id: "1", Vector: make([]float32, dimension)})
+	res, err = client.FilterVector(context.Background(), &payload.Object_Vector{Id: "1", Vector: res.GetVector()})
 	if err != nil {
 		glg.Error(err)
 		return
 	}
 	glg.Info("FilterVector Id: ", res.GetId())

This change uses the vector generated by GenVector as input for FilterVector, providing a more realistic example flow.

example/client/gateway/filter/egress-filter/main.go (4)

35-52: LGTM with a minor suggestion.

The global variables and init function are well-structured and provide good flexibility for users. The use of command-line flags is a good practice for configuration.

Consider using a configuration struct instead of global variables for better encapsulation and testability. For example:

type Config struct {
    EgressServerHost string
    EgressServerPort uint
    Dimension        uint
}

var cfg Config

func init() {
    flag.StringVar(&cfg.EgressServerHost, "host", "127.0.0.1", "ingress server host")
    flag.UintVar(&cfg.EgressServerPort, "port", 8083, "ingress server port")
    flag.UintVar(&cfg.Dimension, "dimension", 784, "dimension size of vectors")
    flag.Parse()
}

54-62: Improve error handling for gRPC connection.

While the error handling for the gRPC connection is present, it could be more robust. Consider using a helper function for error logging and program termination.

Here's a suggestion for improvement:

func logFatalErr(msg string, err error) {
    if err != nil {
        glg.Fatalf("%s: %v", msg, err)
    }
}

// In main():
conn, err := grpc.NewClient(addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
logFatalErr("Failed to connect to gRPC server", err)

This approach provides more consistent error handling and ensures the program terminates on critical errors.


90-95: Implement consistent error handling.

The error handling for the FilterDistance and FilterVector calls is present but inconsistent with the connection error handling. Consider using the same error handling pattern throughout the code for consistency.

Here's a suggestion for improvement:

res, err := client.FilterDistance(context.Background(), fdr)
logFatalErr("Failed to filter distance", err)
glg.Info("FilterDistance Distance: ", res.GetDistance())

r, err := client.FilterVector(context.Background(), &payload.Filter_VectorRequest{
    Vector: &payload.Object_Vector{
        Id: "1", Vector: make([]float32, dimension),
    },
    Query: &payload.Filter_Query{},
})
logFatalErr("Failed to filter vector", err)
glg.Info("FilterVector Vector: ", r.GetVector())

Also applies to: 103-107


97-102: Consider using a more meaningful vector in the FilterVector call.

The current implementation uses a zero-filled vector, which might not be the most illustrative example. Consider using a vector with some non-zero values to better demonstrate the filtering capabilities.

Here's a suggestion:

vector := make([]float32, dimension)
for i := range vector {
    vector[i] = float32(i) // or use some other meaningful values
}

r, err := client.FilterVector(context.Background(), &payload.Filter_VectorRequest{
    Vector: &payload.Object_Vector{
        Id: "1", Vector: vector,
    },
    Query: &payload.Filter_Query{},
})
docs/user-guides/filtering-configuration.md (1)

75-76: Great addition, consider using an absolute URL.

The addition of a link to more sample filters is valuable for users. However, to ensure the link remains valid across different contexts (e.g., when viewed on GitHub or a documentation website), consider using an absolute URL instead of a relative path.

Replace the relative path with an absolute URL:

-You can also find other samples [here](../../example/client/gateway/filter).
+You can also find other samples [here](https://github.com/vdaas/vald/tree/main/example/client/gateway/filter).
example/client/mirror/main.go (1)

Line range hint 1-270: LGTM! Consider adding error handling for deferred operations.

The overall structure and functionality of the file are well-implemented. The code is well-commented, follows Go best practices, and provides a comprehensive example of interacting with a Vald cluster.

Consider adding error handling for deferred operations, especially for conn.Close(). You can do this by wrapping the defer statement in a function:

defer func() {
    err := conn.Close()
    if err != nil {
        log.Printf("Error closing connection: %v", err)
    }
}()

This ensures that any errors during connection closure are logged and not silently ignored.

docs/user-guides/client-api-config.md (11)

23-24: Update comment for the filters field

The filters field has been changed to a repeated field, allowing multiple filter configurations. Consider updating the comment to reflect this change:

-  // Filter configurations.
+  // Filter configurations. Multiple filters can be applied sequentially.

This change will provide clearer documentation for users of the API.


69-75: Improve the sample code for Filter_Config

The sample code has been updated to reflect the changes in the Config message structure. However, the Query field is left empty, which might not be the most informative example for users. Consider adding a sample query string:

 Filters: []*payload.Filter_Config{
   {
     Target: &payload.Filter_Target{
       Host: "vald-ingress-filter",
       Port: 8081,
     },
-    Query: &payload.Filter_Query{},
+    Query: &payload.Filter_Query{
+      Query: "sample query string",
+    },
   },
 },

This change will provide a more comprehensive example of how to use the Filter_Config in practice.

🧰 Tools
🪛 Markdownlint

69-69: Column: 1
Hard tabs

(MD010, no-hard-tabs)


70-70: Column: 1
Hard tabs

(MD010, no-hard-tabs)


71-71: Column: 1
Hard tabs

(MD010, no-hard-tabs)


72-72: Column: 1
Hard tabs

(MD010, no-hard-tabs)


73-73: Column: 1
Hard tabs

(MD010, no-hard-tabs)


74-74: Column: 1
Hard tabs

(MD010, no-hard-tabs)


75-75: Column: 1
Hard tabs

(MD010, no-hard-tabs)


148-149: Update comment for the filters field

The filters field has been changed to a repeated field, allowing multiple filter configurations. Consider updating the comment to reflect this change:

-  // Filter configuration.
+  // Filter configurations. Multiple filters can be applied sequentially.

This change will provide clearer documentation for users of the API.


152-153: Add explanation for the disable_balanced_update field

A new field disable_balanced_update has been added to the Config message. Consider adding a brief explanation of its purpose and default value in the documentation below the code block. For example:

#### disable_balanced_update

`disable_balanced_update` is a flag to disable the balanced update process during the update operation. When set to `true`, it prevents the update from being split into separate remove and insert operations. The default value is `false`.

This addition will help users understand the purpose and implications of this new configuration option.


283-284: Update comment for the filters field

The filters field has been changed to a repeated field, allowing multiple filter configurations. Consider updating the comment to reflect this change:

-  // Filter configuration.
+  // Filter configurations. Multiple filters can be applied sequentially.

This change will provide clearer documentation for users of the API.


287-288: Add explanation for the disable_balanced_update field

A new field disable_balanced_update has been added to the Config message. Consider adding a brief explanation of its purpose and default value in the documentation below the code block. For example:

#### disable_balanced_update

`disable_balanced_update` is a flag to disable the balanced update process during the upsert operation. When set to `true`, it prevents the upsert from being split into separate remove and insert operations. The default value is `false`.

This addition will help users understand the purpose and implications of this new configuration option.


446-446: Update validation rule for num field

The num field now has a validation rule to ensure it's greater than or equal to 1. This is a good practice to prevent invalid input. Consider adding a comment to explain this constraint:

-  uint32 num = 2 [ (validate.rules).uint32.gte = 1 ];
+  // Must be a positive integer.
+  uint32 num = 2 [ (validate.rules).uint32.gte = 1 ];

This addition will help users understand the valid range for this field.


455-457: Update comments for the ingress_filters and egress_filters fields

The ingress_filters and egress_filters fields have been changed to repeated fields, allowing multiple filter configurations. Consider updating the comments to reflect this change:

-  // Ingress filter configurations.
+  // Ingress filter configurations. Multiple filters can be applied sequentially.
   repeated Filter.Config ingress_filters = 6;
-  // Egress filter configurations.
+  // Egress filter configurations. Multiple filters can be applied sequentially.
   repeated Filter.Config egress_filters = 7;

These changes will provide clearer documentation for users of the API.


458-458: Add explanation for the min_num validation rule

The min_num field now has a validation rule to ensure it's greater than or equal to 0. Consider adding a comment to explain this constraint:

-  uint32 min_num = 8 [ (validate.rules).uint32.gte = 0 ];
+  // Must be a non-negative integer.
+  uint32 min_num = 8 [ (validate.rules).uint32.gte = 0 ];

This addition will help users understand the valid range for this field.


529-544: Improve the sample code for Search Configuration

The sample code has been updated to reflect the changes in the Config message structure. However, there are a few improvements that could make the example more informative:

  1. The Query fields are left empty. Consider adding sample query strings:
 IngressFilters: []*payload.Filter_Config{
   {
     Target: &payload.Filter_Target{
       Host: "vald-ingress-filter",
       Port: 8081,
     },
-    Query: &payload.Filter_Query{},
+    Query: &payload.Filter_Query{
+      Query: "sample ingress query",
+    },
   },
 },
 EgressFilters: []*payload.Filter_Config{
   {
     Target: &payload.Filter_Target{
       Host: "vald-egress-filter",
       Port: 8081,
     },
-    Query: &payload.Filter_Query{},
+    Query: &payload.Filter_Query{
+      Query: "sample egress query",
+    },
   },
 },
  1. Add a comment explaining the chosen AggregationAlgorithm:
-AggregationAlgorithm: payload.Search_PairingHeap,
+// Choose the appropriate aggregation algorithm based on your use case
+AggregationAlgorithm: payload.Search_PairingHeap,

These changes will provide a more comprehensive and informative example of how to use the Search Configuration in practice.

🧰 Tools
🪛 Markdownlint

529-529: Column: 1
Hard tabs

(MD010, no-hard-tabs)


530-530: Column: 1
Hard tabs

(MD010, no-hard-tabs)


531-531: Column: 1
Hard tabs

(MD010, no-hard-tabs)


532-532: Column: 1
Hard tabs

(MD010, no-hard-tabs)


533-533: Column: 1
Hard tabs

(MD010, no-hard-tabs)


534-534: Column: 1
Hard tabs

(MD010, no-hard-tabs)


535-535: Column: 1
Hard tabs

(MD010, no-hard-tabs)


536-536: Column: 1
Hard tabs

(MD010, no-hard-tabs)


537-537: Column: 1
Hard tabs

(MD010, no-hard-tabs)


538-538: Column: 1
Hard tabs

(MD010, no-hard-tabs)


539-539: Column: 1
Hard tabs

(MD010, no-hard-tabs)


540-540: Column: 1
Hard tabs

(MD010, no-hard-tabs)


541-541: Column: 1
Hard tabs

(MD010, no-hard-tabs)


542-542: Column: 1
Hard tabs

(MD010, no-hard-tabs)


543-543: Column: 1
Hard tabs

(MD010, no-hard-tabs)


544-544: Column: 1
Hard tabs

(MD010, no-hard-tabs)


677-681: Improve consistency in Remove Service configuration

The Config message for the Remove service has been updated with a new timestamp field, which is consistent with other service configurations. However, there are a couple of improvements that could be made for better consistency:

  1. Update the comment for skip_strict_exist_check to match other services:
-  // A flag to skip exist check during upsert operation.
+  // A flag to skip exist check during remove operation.
   bool skip_strict_exist_check = 1;
  1. Add a comment for the new timestamp field:
+  // Remove timestamp. If not set, the current time will be used.
   int64 timestamp = 3;

These changes will improve the consistency of the documentation across different service configurations.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between a19e8e6 and 927d897.

📒 Files selected for processing (6)
  • charts/vald/values.yaml (1 hunks)
  • docs/user-guides/client-api-config.md (15 hunks)
  • docs/user-guides/filtering-configuration.md (1 hunks)
  • example/client/gateway/filter/egress-filter/main.go (1 hunks)
  • example/client/gateway/filter/ingress-filter/main.go (1 hunks)
  • example/client/mirror/main.go (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/user-guides/client-api-config.md

69-69: Column: 1
Hard tabs

(MD010, no-hard-tabs)


70-70: Column: 1
Hard tabs

(MD010, no-hard-tabs)


71-71: Column: 1
Hard tabs

(MD010, no-hard-tabs)


72-72: Column: 1
Hard tabs

(MD010, no-hard-tabs)


73-73: Column: 1
Hard tabs

(MD010, no-hard-tabs)


74-74: Column: 1
Hard tabs

(MD010, no-hard-tabs)


75-75: Column: 1
Hard tabs

(MD010, no-hard-tabs)


196-196: Column: 1
Hard tabs

(MD010, no-hard-tabs)


197-197: Column: 1
Hard tabs

(MD010, no-hard-tabs)


198-198: Column: 1
Hard tabs

(MD010, no-hard-tabs)


199-199: Column: 1
Hard tabs

(MD010, no-hard-tabs)


200-200: Column: 1
Hard tabs

(MD010, no-hard-tabs)


201-201: Column: 1
Hard tabs

(MD010, no-hard-tabs)


202-202: Column: 1
Hard tabs

(MD010, no-hard-tabs)


330-330: Column: 1
Hard tabs

(MD010, no-hard-tabs)


331-331: Column: 1
Hard tabs

(MD010, no-hard-tabs)


332-332: Column: 1
Hard tabs

(MD010, no-hard-tabs)


333-333: Column: 1
Hard tabs

(MD010, no-hard-tabs)


334-334: Column: 1
Hard tabs

(MD010, no-hard-tabs)


335-335: Column: 1
Hard tabs

(MD010, no-hard-tabs)


336-336: Column: 1
Hard tabs

(MD010, no-hard-tabs)


529-529: Column: 1
Hard tabs

(MD010, no-hard-tabs)


530-530: Column: 1
Hard tabs

(MD010, no-hard-tabs)


531-531: Column: 1
Hard tabs

(MD010, no-hard-tabs)


532-532: Column: 1
Hard tabs

(MD010, no-hard-tabs)


533-533: Column: 1
Hard tabs

(MD010, no-hard-tabs)


534-534: Column: 1
Hard tabs

(MD010, no-hard-tabs)


535-535: Column: 1
Hard tabs

(MD010, no-hard-tabs)


536-536: Column: 1
Hard tabs

(MD010, no-hard-tabs)


537-537: Column: 1
Hard tabs

(MD010, no-hard-tabs)


538-538: Column: 1
Hard tabs

(MD010, no-hard-tabs)


539-539: Column: 1
Hard tabs

(MD010, no-hard-tabs)


540-540: Column: 1
Hard tabs

(MD010, no-hard-tabs)


541-541: Column: 1
Hard tabs

(MD010, no-hard-tabs)


542-542: Column: 1
Hard tabs

(MD010, no-hard-tabs)


543-543: Column: 1
Hard tabs

(MD010, no-hard-tabs)


544-544: Column: 1
Hard tabs

(MD010, no-hard-tabs)

🔇 Additional comments (9)
example/client/gateway/filter/ingress-filter/main.go (2)

1-14: LGTM: Proper license header and package declaration.

The file starts with the correct Apache 2.0 license header, and the package is appropriately declared as main for an executable Go program.


16-33: Imports look good, but note the temporary workaround.

The imports are appropriate for the file's functionality. However, there's a temporary workaround using root module imports instead of the vald-client-go module due to unreleased changes.

To ensure this workaround is addressed in the future, let's create a TODO comment and search for similar workarounds:

✅ Verification successful

Import section approved and TODO comment added.

The import section is appropriate, and the temporary workaround has been addressed by adding a TODO comment. No other similar workarounds were found in the codebase.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Add a TODO comment to remind about updating imports after release
sed -i '22i // TODO: Update import paths to use vald-client-go after release' example/client/gateway/filter/ingress-filter/main.go

# Search for similar workarounds in other files
rg --type go "vald-client-go.*current version is"

Length of output: 184

example/client/gateway/filter/egress-filter/main.go (2)

67-89: LGTM: Well-structured Filter_DistanceRequest.

The construction of the Filter_DistanceRequest is clear and demonstrates the new query feature effectively. The use of predefined distance values for various objects provides a good example of how to use this API.


54-108: LGTM: Well-structured main function demonstrating API usage.

The main function effectively demonstrates the usage of the FilterDistance and FilterVector APIs. It provides a good example of how to construct requests and handle responses from the egress filter service.

docs/user-guides/filtering-configuration.md (1)

Line range hint 1-146: Excellent documentation update.

The document has been comprehensively updated to reflect the changes mentioned in the PR objectives. It now provides clear instructions on enabling and configuring filtering features in the Vald cluster, including:

  1. Detailed explanations of ingress and egress filters
  2. RPC definitions for both filter types
  3. Links to official filter components and additional samples
  4. Configuration examples for both Helm charts and client-side setup

The structure is logical and easy to follow, making it a valuable resource for users implementing filtering in their Vald deployments.

example/client/mirror/main.go (1)

72-72: ⚠️ Potential issue

Consider using secure gRPC connections in production environments.

The change from grpc.WithInsecure() to grpc.WithTransportCredentials(insecure.NewCredentials()) updates the code to use the newer gRPC API, which is good. However, both options create an insecure connection, which is fine for testing but not recommended for production use.

For production environments, consider implementing secure connections using TLS. You can do this by replacing the current line with:

creds, err := credentials.NewClientTLSFromFile(certFile, serverNameOverride)
if err != nil {
    log.Fatalf("Failed to create TLS credentials: %v", err)
}
conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(creds))

Make sure to import the necessary package: "google.golang.org/grpc/credentials"

To ensure that the gRPC package supports the new API, run the following command:

This will show the current version of the gRPC package used in the project. Ensure it's up-to-date to support the new API.

✅ Verification successful

Review Comment Verified Successfully.

The project is using google.golang.org/grpc version v1.67.0, which supports the updated grpc.WithTransportCredentials(insecure.NewCredentials()) method. However, as highlighted, both the old and new methods establish insecure connections and are not recommended for production environments.

For enhanced security in production, consider implementing TLS credentials as follows:

creds, err := credentials.NewClientTLSFromFile(certFile, serverNameOverride)
if err != nil {
    log.Fatalf("Failed to create TLS credentials: %v", err)
}
conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(creds))

Ensure to import the necessary package:

"google.golang.org/grpc/credentials"
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

go list -m google.golang.org/grpc

Length of output: 105


Script:

#!/bin/bash
# Extracting the version of google.golang.org/grpc from go.mod
grep "google.golang.org/grpc" go.mod

Length of output: 478

docs/user-guides/client-api-config.md (1)

Line range hint 1-681: Overall assessment of changes to client API configuration

The updates to the client API configuration documentation are comprehensive and align well with the PR objectives. The changes introduce more flexibility in filter configurations across various services (Insert, Update, Upsert, Search, and Remove) by allowing multiple filters to be applied sequentially. The addition of new fields like disable_balanced_update and aggregation_algorithm provides users with more control over the operations.

Key improvements:

  1. Consistent updates across all relevant service configurations.
  2. Introduction of repeated filter configurations for increased flexibility.
  3. Addition of new control flags and options (e.g., disable_balanced_update, aggregation_algorithm).
  4. Updated sample code to reflect the new structure of configurations.

While the changes are generally well-documented, there are opportunities for minor improvements in the comments and sample code to provide even clearer guidance to users. These suggestions have been outlined in the individual review comments.

Overall, these changes enhance the capabilities of the Vald client API and provide users with more fine-grained control over various operations. The documentation updates will help users understand and utilize these new features effectively.

🧰 Tools
🪛 Markdownlint

526-526: Column: 1
Hard tabs

(MD010, no-hard-tabs)


527-527: Column: 1
Hard tabs

(MD010, no-hard-tabs)


528-528: Column: 1
Hard tabs

(MD010, no-hard-tabs)


529-529: Column: 1
Hard tabs

(MD010, no-hard-tabs)


530-530: Column: 1
Hard tabs

(MD010, no-hard-tabs)


531-531: Column: 1
Hard tabs

(MD010, no-hard-tabs)


532-532: Column: 1
Hard tabs

(MD010, no-hard-tabs)


533-533: Column: 1
Hard tabs

(MD010, no-hard-tabs)


534-534: Column: 1
Hard tabs

(MD010, no-hard-tabs)


535-535: Column: 1
Hard tabs

(MD010, no-hard-tabs)


536-536: Column: 1
Hard tabs

(MD010, no-hard-tabs)


537-537: Column: 1
Hard tabs

(MD010, no-hard-tabs)


538-538: Column: 1
Hard tabs

(MD010, no-hard-tabs)


539-539: Column: 1
Hard tabs

(MD010, no-hard-tabs)


540-540: Column: 1
Hard tabs

(MD010, no-hard-tabs)


541-541: Column: 1
Hard tabs

(MD010, no-hard-tabs)


542-542: Column: 1
Hard tabs

(MD010, no-hard-tabs)


543-543: Column: 1
Hard tabs

(MD010, no-hard-tabs)


544-544: Column: 1
Hard tabs

(MD010, no-hard-tabs)


545-545: Column: 1
Hard tabs

(MD010, no-hard-tabs)


546-546: Column: 1
Hard tabs

(MD010, no-hard-tabs)

charts/vald/values.yaml (2)

1519-1520: Approved: Enhanced flexibility for object filters

The change from an array of strings to an array of objects for object_filters provides more flexibility in configuring filters. This aligns with the PR objective of enhancing filtering capabilities.


1522-1523: Approved: Improved distance filter configuration

Similar to the object filters, the distance_filters have been updated from an array of strings to an array of objects. This change allows for more detailed and flexible distance filter configurations, supporting the PR's goal of enhancing filtering capabilities.

Comment on lines +16 to +33
import (
// NOTE:
// The correct approach is to use "github.com/vdaas/vald-client-go/v1/payload" and "github.com/vdaas/vald-client-go/v1/vald" in the "example/client".
// However, the "vald-client-go" module is not available in the filter client example
// because the changes to the filter query have not been released. (current version is v1.7.12)
// Therefore, the root module is used until it is released.
// The import path and go.mod will be changed after release.
"context"
"flag"
"net"
"strconv"

"github.com/kpango/glg"
"github.com/vdaas/vald/apis/grpc/v1/filter/egress"
"github.com/vdaas/vald/apis/grpc/v1/payload"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Consider using secure credentials for production environments.

The import of "google.golang.org/grpc/credentials/insecure" suggests that this client is using insecure credentials. While this is acceptable for development or testing purposes, it's not recommended for production environments.

For production use, consider implementing TLS certificates for secure communication. You can use grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(...)) instead of grpc.WithTransportCredentials(insecure.NewCredentials()).

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

LanguageTool

[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the update configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the upsert configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config ingress_filters = 6;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config egress_filters = 7;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the remove configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Gateway
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Filter
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Agent
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: vald
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

helm install vald vald/vald --values example/helm/values.yaml


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Go
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

go run ./example/client/gateway/filter/main.go -addr "localhost:8081" -ingresshost "vald-ingress-filter.default.svc.cluster.local" -ingressport 8082 -egresshost "vald-egress-filter.default.svc.cluster.local" -egressport 8083

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

LanguageTool

[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the update configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the upsert configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config filters = 2;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Bool
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

bool disable_balanced_update = 4;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config ingress_filters = 6;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

repeated Filter.Config egress_filters = 7;


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

string query = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Target target = 1;


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the remove configuration.


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Gateway
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Filter
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Agent
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING


[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: vald
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

helm install vald vald/vald --values example/helm/values.yaml


[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Go
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

go run ./example/client/gateway/filter/main.go -addr "localhost:8081" -ingresshost "vald-ingress-filter.default.svc.cluster.local" -ingressport 8082 -egresshost "vald-egress-filter.default.svc.cluster.local" -egressport 8083

message Config {
repeated Target targets = 1;
Target target = 1;
Query query = 2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

message Config {
repeated Target targets = 1;
Target target = 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

message Config {
repeated Target targets = 1;
Target target = 1;
Query query = 2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

message Config {
repeated Target targets = 1;
Target target = 1;
Query query = 2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

message Config {
repeated Target targets = 1;
Target target = 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

Filter.Config filters = 2;
// The timestamp when the vector was inserted.
// Filter configurations.
repeated Filter.Config filters = 2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Repeated
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

@@ -111,10 +112,18 @@ message Filter {
uint32 port = 2;
}

// Represent the filter query.
message Query {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: Message
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent the filter query.
message Query {
// The raw query string.
string query = 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
This sentence does not start with an uppercase letter. (UPPERCASE_SENTENCE_START)
Suggestions: String
URL: https://languagetool.org/insights/post/spelling-capital-letters/
Rule: https://community.languagetool.org/rule/show/UPPERCASE_SENTENCE_START?lang=en-US
Category: CASING

// Represent filter configuration.
message Config {
// Represent the filter target configuration.
repeated Target targets = 1;
Target target = 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Target
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

repeated Target targets = 1;
Target target = 1;
// The target query.
Query query = 2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
Suggestions: Query
Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
Category: MISC

@vankichi vankichi changed the title Allow passing query between egress filter and filter gateway. [Merge Pending] Allow passing query between egress filter and filter gateway. Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants