[Merge Pending] Allow passing query between egress filter and filter gateway.#2097
[Merge Pending] Allow passing query between egress filter and filter gateway.#2097
Conversation
|
[CHATOPS:HELP] ChatOps commands.
|
f25941c to
c05ffa7
Compare
Deploying vald with
|
| 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 |
|
[WARNING:INTCFG] Changes in |
There was a problem hiding this comment.
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
Codecov Report❌ Patch coverage is 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. 🚀 New features to boost your workflow:
|
0d131ad to
114385d
Compare
dfdb51d to
21df055
Compare
|
|
||
| message Config { | ||
| repeated Target targets = 1; | ||
| Target target = 1; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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
| | disable_balanced_update | bool | | | A flag to disable balanced update (split remove -> insert operation) during update operation. | | ||
| | field | type | label | required | desc. | | ||
| | :---------------------: | :----------------------------- | :---- | :------: | :--------------------------------------------------------------------------------------------------- | | ||
| | skip_strict_exist_check | bool | | | check the same vector is already upserted or not.<br>the ID should be unique if the value is `true`. | |
There was a problem hiding this comment.
[documents cspell] reported by reviewdog 🐶
Unknown word (upserted) Suggestions: [upsert, unseated, unserved, unsorted, upsetter]
| | field | type | label | required | desc. | | ||
| | :---------------------: | :----------------------------- | :---- | :------: | :--------------------------------------------------------------------------------------------------- | | ||
| | skip_strict_exist_check | bool | | | check the same vector is already upserted or not.<br>the ID should be unique if the value is `true`. | | ||
| | timestamp | int64 | | | the timestamp of the vector upserted.<br>if it is N/A, the current time will be used. | |
There was a problem hiding this comment.
[documents cspell] reported by reviewdog 🐶
Unknown word (upserted) Suggestions: [upsert, unseated, unserved, unsorted, upsetter]
| | :---------------------: | :----------------------------- | :---- | :------: | :--------------------------------------------------------------------------------------------------- | | ||
| | 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 | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
| | 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 |
There was a problem hiding this comment.
🚫 [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 | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
| | 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 |
There was a problem hiding this comment.
🚫 [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 | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
|
|
||
| | field | type | label | required | desc. | | ||
| | :---: | :----- | :---- | :------: | :------------------ | | ||
| | host | string | | \* | the target hostname | |
There was a problem hiding this comment.
🚫 [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 | |
There was a problem hiding this comment.
🚫 [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 | |
There was a problem hiding this comment.
🚫 [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 |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
|
|
||
| | field | type | label | required | desc. | | ||
| | :---: | :----- | :---- | :------: | :------------------ | | ||
| | host | string | | \* | the target hostname | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
hostname => hostage (en-spell)
| | :---------------------: | :----------------------------- | :---- | :------: | :-------------------------------------------------------------------------------------------------- | | ||
| | skip_strict_exist_check | bool | | | check the same vector is already updated or not.<br>the ID should be unique if the value is `true`. | | ||
| | timestamp | int64 | | | the timestamp of the vector updated.<br>if it is N/A, the current time will be used. | | ||
| | filters | repeated(Array[Filter.Config]) | | | configuration for filter | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
| | :---------------------: | :----------------------------- | :---- | :------: | :-------------------------------------------------------------------------------------------------- | | ||
| | skip_strict_exist_check | bool | | | check the same vector is already updated or not.<br>the ID should be unique if the value is `true`. | | ||
| | timestamp | int64 | | | the timestamp of the vector updated.<br>if it is N/A, the current time will be used. | | ||
| | filters | repeated(Array[Filter.Config]) | | | configuration for filter | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
| | :---------------------: | :----------------------------- | :---- | :------: | :-------------------------------------------------------------------------------------------------- | | ||
| | skip_strict_exist_check | bool | | | check the same vector is already updated or not.<br>the ID should be unique if the value is `true`. | | ||
| | timestamp | int64 | | | the timestamp of the vector updated.<br>if it is N/A, the current time will be used. | | ||
| | filters | repeated(Array[Filter.Config]) | | | configuration for filter | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
There was a problem hiding this comment.
Actionable comments posted: 3
Outside diff range and nitpick comments (5)
docs/api/object.md (2)
98-98: Consider using a more descriptive field name forfilters.The field name
filtersis quite generic. Consider using a more descriptive name that indicates the type of filters or their purpose in the context of the API, such asvectorFiltersorqueryFilters.Also applies to: 179-179
112-112: Clarify the description for thefiltersfield.The current description for the
filtersfield is "Configuration for filter." This could be expanded to provide more detail about what the filters are used for, such as "Configuration for filtering search results based on specific criteria."Also applies to: 193-193
docs/api/insert.md (1)
34-34: Ensure thefiltersfield is adequately described.The description for the
filtersfield could be enhanced to better explain its role. Consider revising it to something like: "List of configurations for applying various filters on the vector data before insertion."Also applies to: 138-138, 269-269
docs/api/upsert.md (2)
38-38: Improve clarity of thefiltersfield description.The description for the
filtersfield is minimal. Enhancing this description could improve understanding of its functionality. Suggested revision: "Defines the filters to be applied to the vector data during the upsert operation."Also applies to: 143-143, 275-275
65-65: Clarify the purpose ofdisable_balanced_update.The field
disable_balanced_updatecould benefit from a more detailed description. Consider explaining what a "balanced update" entails and the implications of disabling it.Also applies to: 170-170, 308-308
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (5)
- docs/api/insert.md (6 hunks)
- docs/api/object.md (4 hunks)
- docs/api/search.md (24 hunks)
- docs/api/update.md (6 hunks)
- docs/api/upsert.md (6 hunks)
Additional context used
LanguageTool
docs/api/insert.md
[uncategorized] ~4-~4: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: # Vald Insert APIs ## Overview Insert Service is responsible for inserting ne...
[style] ~124-~124: Specify a number, remove phrase, or simply use “many” or “numerous” (LARGE_NUMBER_OF)
Context: .... It's the recommended method to insert a large number of vectors. ### Input - the scheme of `p...
[uncategorized] ~330-~330: The grammatical number of this noun doesn’t look right. Consider replacing it. (AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Context: ...d(Array[Object.Location]) | The list ofObject.Location. | - Object.Location ...docs/api/upsert.md
[uncategorized] ~4-~4: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: # Vald Upsert APIs ## Overview Upsert Service is responsible for updating exi...
[uncategorized] ~70-~70: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...--------------------------------------- | | id | string | ...
[style] ~129-~129: Specify a number, remove phrase, or simply use “many” or “numerous” (LARGE_NUMBER_OF)
Context: .... It’s the recommended method to upsert a large number of vectors. ### Input - the scheme of `p...
[uncategorized] ~175-~175: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...--------------------------------------- | | id | string | ...
[uncategorized] ~313-~313: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...--------------------------------------- | | id | string | ...
[uncategorized] ~337-~337: The grammatical number of this noun doesn’t look right. Consider replacing it. (AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Context: ...d(Array[Object.Location]) | The list ofObject.Location. | - Object.Location ...docs/api/update.md
[grammar] ~119-~119: An article may be missing. (BUNCH_OF)
Context: ... | | ALREADY_EXISTS | Request pair of ID and vector is already inserted. ...
[uncategorized] ~127-~127: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case. (AMOUNTOF_TO_NUMBEROF)
Context: ... recommended method to update the large amount of vectors. ### Input - the scheme of...
[grammar] ~248-~248: An article may be missing. (BUNCH_OF)
Context: ... | | ALREADY_EXISTS | Request pair of ID and vector is already inserted. ...
[style] ~337-~337: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...d(Array[Object.Location]) | The list ofObject.Location. | - Object.Location | field |...
[grammar] ~374-~374: An article may be missing. (BUNCH_OF)
Context: ... | | ALREADY_EXISTS | Request pair of ID and vector is already inserted. ...
Additional comments not posted (20)
docs/api/update.md (6)
34-34: Ensure thefiltersfield is correctly documented as an array ofFilter.Config.
56-61: The documentation for theUpdate.Configtable is clear and well-structured.
141-141: Verify that thefiltersfield is consistently documented across different RPC methods.
163-168: The documentation for theUpdate.Configin theStreamUpdateRPC method is consistent with the single update method, which is good for maintaining uniformity.
275-275: Ensure that thefiltersfield in theMultiUpdateRPC method is correctly documented as an array ofFilter.Config.
303-308: The documentation for theUpdate.Configin theMultiUpdateRPC method is consistent and clear.docs/api/search.md (14)
66-67: Ensure the new filter configurations are correctly documented.The addition of
ingress_filtersandegress_filtersas repeated fields in theSearch.Configmessage aligns with the PR's objective to enhance filtering capabilities. Make sure the implementation matches this configuration.
187-188: Confirm the repeated filter configurations inSearch.IDRequest.The documentation correctly reflects the addition of
ingress_filtersandegress_filtersas repeated fields in theSearch.IDRequestconfiguration. This should allow for more dynamic filtering based on the request.
309-310: Review the addition of filter configurations inStreamSearch.The documentation update to include
ingress_filtersandegress_filtersin theStreamSearchRPC configuration is in line with the PR's goals to enhance filtering capabilities across different search methods.
445-446: Validate the filter configurations inStreamSearchByID.The updates to include
ingress_filtersandegress_filtersin theStreamSearchByIDRPC configuration are correctly documented, enhancing the filtering capabilities as intended in the PR.
588-589: Review the documentation of filter configurations inMultiSearch.The addition of
ingress_filtersandegress_filtersas repeated fields in theMultiSearchRPC configuration is accurately documented, aligning with the PR's objectives.
734-735: Confirm the filter configurations inMultiSearchByID.The documentation update to include
ingress_filtersandegress_filtersin theMultiSearchByIDRPC configuration is correctly done, enhancing the filtering capabilities as intended.
868-869: Review the documentation of filter configurations inLinearSearch.The updates to include
ingress_filtersandegress_filtersin theLinearSearchRPC configuration are correctly documented, enhancing the filtering capabilities as intended in the PR.
91-101: Validate the completeness and accuracy of the table entries forSearch.Config.Ensure that each field listed in the table is implemented according to the specifications provided here, especially the new
ingress_filtersandegress_filters.Verification successful
The table entries for
Search.Configin the documentation are complete and accurate. The fields listed in the table match the fields found in the implementation examples across various documentation files.
request_idnumradiusepsilontimeoutingress_filtersegress_filtersmin_numaggregation_algorithmScripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that all fields in Search.Config are implemented as described. # Test: Search for the implementation of each field in the Search service. rg --type md "Search.Config" -A 20Length of output: 51645
893-901: Ensure theLinearSearchconfiguration table is accurate and complete.This verification is crucial to ensure that the documentation accurately reflects the implementation, especially for the newly added filter configurations.
Verification successful
The search results indicate that the configuration table for
LinearSearchin the documentation is accurate and complete. The fields listed in the table match those found in the documented configuration in the codebase.
- The fields
request_id,num,timeout,ingress_filters,egress_filters,min_num, andaggregation_algorithmare all present and correctly described in the documentation.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the accuracy of the LinearSearch configuration table. # Test: Check the LinearSearch configuration implementation in the code. rg --type md "LinearSearch" -A 30Length of output: 23599
212-222: Check for consistency in the description and implementation ofSearch.IDRequest.Verify that the fields and their descriptions in
Search.IDRequestmatch the actual implementation and usage in the codebase.Verification successful
Let's proceed by locating the actual implementation of
Search.IDRequestandSearch.Configin the codebase to ensure consistency with the documentation.
Let's proceed by using
rgto search for the definitions ofSearch.IDRequestandSearch.Configin the codebase.
Let's proceed by first locating all
.protofiles usingfdand then searching within these files for the definitions ofSearch.IDRequestandSearch.Config.
Let's proceed by using
fdandxargsto pipe the list of.protofiles directly torgfor searching the definitions ofSearch.IDRequestandSearch.Config.
The definitions of
Search.IDRequestandSearch.Confighave been successfully located in theapis/proto/v1/payload/payload.protofile. Here are the relevant details:
Search.IDRequest:message IDRequest { // The vector ID to be searched. string id = 1; // The configuration of the search request. Config config = 2; }
Search.Config:message Config { // Unique request ID. string request_id = 1; // Maximum number of result to be returned. uint32 num = 2 [(buf.validate.field).uint32.gte = 1]; // Search radius. float radius = 3; // Search coefficient. float epsilon = 4; // Search timeout in nanoseconds. int64 timeout = 5; // Ingress filter configurations. repeated Filter.Config ingress_filters = 6; // Egress filter configurations. repeated Filter.Config egress_filters = 7; // Minimum number of result to be returned. uint32 min_num = 8 [(buf.validate.field).uint32.gte = 0]; // Aggregation Algorithm AggregationAlgorithm aggregation_algorithm = 9; // Search ratio for agent return result number. google.protobuf.FloatValue ratio = 10; }The fields and descriptions in the documentation match the actual implementation in the codebase. Therefore, the documentation is consistent with the implementation.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Ensure that the Search.IDRequest fields are consistently implemented. # Test: Search for the usage of Search.IDRequest in the codebase. rg --type md "Search.IDRequest" -A 20Length of output: 29883
Script:
#!/bin/bash # Locate the definition of Search.IDRequest and Search.Config in the codebase. ast-grep --lang proto --pattern $'message IDRequest { $$$ }' ast-grep --lang proto --pattern $'message Config { $$$ }'Length of output: 346
Script:
#!/bin/bash # Search for the definition of Search.IDRequest in the codebase. rg --type proto "message IDRequest" -A 20 # Search for the definition of Search.Config in the codebase. rg --type proto "message Config" -A 20Length of output: 144
Script:
#!/bin/bash # Find all .proto files in the codebase. fd --extension proto > proto_files.txt # Search for the definition of Search.IDRequest in the .proto files. rg "message IDRequest" -A 20 -f proto_files.txt # Search for the definition of Search.Config in the .proto files. rg "message Config" -A 20 -f proto_files.txtLength of output: 232
Script:
#!/bin/bash # Find all .proto files and search for the definition of Search.IDRequest. fd --extension proto | xargs rg "message IDRequest" -A 20 # Find all .proto files and search for the definition of Search.Config. fd --extension proto | xargs rg "message Config" -A 20Length of output: 9635
470-480: Check the consistency and completeness ofStreamSearchByIDconfiguration.This check is essential to confirm that the fields and their descriptions in the
StreamSearchByIDconfiguration match the actual implementation and usage in the codebase.Verification successful
The
IDRequestmessage definition has been successfully retrieved. Here are the fields:
string id = 1;Config config = 2;To verify the consistency and completeness of the
StreamSearchByIDconfiguration, we need to compare these fields with the documented fields indocs/api/search.md. TheConfigmessage should also be verified for completeness.
The
Configmessage definition has been successfully retrieved. Here are the fields:
string request_id = 1;uint32 num = 2 [(buf.validate.field).uint32.gte = 1];float radius = 3;float epsilon = 4;int64 timeout = 5;repeated Filter.Config ingress_filters = 6;repeated Filter.Config egress_filters = 7;uint32 min_num = 8 [(buf.validate.field).uint32.gte = 0];AggregationAlgorithm aggregation_algorithm = 9;google.protobuf.FloatValue ratio = 10;Comparing these fields with the documented fields in
docs/api/search.md, we can confirm that the documentation is consistent and complete with the actual implementation.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Ensure that the StreamSearchByID configuration is consistently implemented. # Test: Search for the usage of StreamSearchByID in the codebase. rg --type md "StreamSearchByID" -A 20Length of output: 9756
Script:
#!/bin/bash # Extract the definition of the Search.IDRequest message from the codebase to verify its fields. ast-grep --lang proto --pattern 'message IDRequest { $$$ }'Length of output: 172
Script:
#!/bin/bash # Search for the definition of the IDRequest message in the protobuf files. rg --type proto 'message IDRequest {'Length of output: 141
Script:
#!/bin/bash # Search for the definition of the IDRequest message in the protobuf files with corrected regex pattern. rg --type proto 'message IDRequest \{'Length of output: 70
Script:
#!/bin/bash # Find all .proto files and search for the definition of the IDRequest message within those files. fd -e proto -x rg 'message IDRequest \{' {}Length of output: 69
Script:
#!/bin/bash # Find all .proto files and display the file path and content of the IDRequest message definition. fd -e proto -x rg 'message IDRequest \{' -A 20 {}Length of output: 659
Script:
#!/bin/bash # Search for the definition of the Config message in the protobuf files. fd -e proto -x rg 'message Config \{' -A 20 {}Length of output: 3671
765-775: Check the consistency and completeness ofMultiSearchByIDconfiguration.This check is essential to confirm that the fields and their descriptions in the
MultiSearchByIDconfiguration match the actual implementation and usage in the codebase.Verification successful
The
MultiSearchByIDconfiguration is consistently implemented and documented across the codebase. The fields and descriptions in the documentation match the actual implementation.
MultiSearchByIDis referenced in multiple files, includingdocs/api/search.md,apis/proto/v1/vald/search.proto, and various handler and test files.- The fields and descriptions in the documentation align with the implementation details found in the codebase.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Ensure that the MultiSearchByID configuration is consistently implemented. # Test: Search for the usage of MultiSearchByID in the codebase. rg --type md "MultiSearchByID" -A 20Length of output: 9152
Script:
#!/bin/bash # Description: Verify the consistency of the MultiSearchByID configuration in the codebase. # Test: Search for the definition of MultiSearchByID in the codebase. rg "MultiSearchByID" -A 20Length of output: 100324
619-629: Ensure theMultiSearchconfiguration table is accurate and complete.This verification is crucial to ensure that the documentation accurately reflects the implementation, especially for the newly added filter configurations.
Verification successful
The
MultiSearchconfiguration table in the documentation is accurate and complete. The fields listed in the table match the fields defined in theMultiSearchinput schema.
request_idnumradiusepsilontimeoutingress_filtersegress_filtersmin_numScripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the accuracy of the MultiSearch configuration table. # Test: Check the MultiSearch configuration implementation in the code. rg --type md "MultiSearch" -A 30Length of output: 19585
334-344: Ensure theStreamSearchconfiguration table is accurate and complete.This verification is crucial to ensure that the documentation accurately reflects the implementation, especially for the newly added filter configurations.
Verification successful
The
StreamSearchconfiguration table in the documentation appears to be accurate and complete based on the provided implementation details. The fields listed in the table match those in theConfigmessage of theStreamSearchRPC.
request_idnumradiusepsilontimeoutingress_filtersegress_filtersmin_numaggregation_algorithmThese fields are all present in the
Configmessage, and their descriptions align with the implementation.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the accuracy of the StreamSearch configuration table. # Test: Check the StreamSearch configuration implementation in the code. rg --type md "StreamSearch" -A 30Length of output: 20579
There was a problem hiding this comment.
Actionable comments posted: 5
Outside diff range and nitpick comments (3)
docs/api/filter-gateway.md (3)
Line range hint
271-271: Capitalize "Google" in the description of google.rpc.Status.- the status of google RPC. + the status of Google RPC.The term "Google" should be capitalized as it is a proper noun. This change should be applied wherever the term appears in the context of Google RPC.
Also applies to: 716-716, 1164-1164, 1622-1622
Line range hint
594-594: Clarify the description for updating a large number of objects.The phrase "large amount of objects" could be clearer. Consider rephrasing to "large number of objects" to align with the correct usage of countable nouns.
Line range hint
7-7: Add a comma for clarity in the overview section.- Filter components allowing user to run custom logic. + Filter components, allowing user to run custom logic.Adding a comma after "components" improves the readability of the sentence by clearly separating the clauses.
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (6)
- docs/api/filter-gateway.md (45 hunks)
- docs/api/insert.md (6 hunks)
- docs/api/object.md (4 hunks)
- docs/api/search.md (24 hunks)
- docs/api/update.md (6 hunks)
- docs/api/upsert.md (6 hunks)
Additional context used
LanguageTool
docs/api/insert.md
[style] ~124-~124: Specify a number, remove phrase, or simply use “many” or “numerous” (LARGE_NUMBER_OF)
Context: .... It's the recommended method to insert a large number of vectors. ### Input - the scheme of `p...
[style] ~330-~330: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...d(Array[Object.Location]) | The list ofObject.Location. | - Object.Location | field |...docs/api/upsert.md
[style] ~129-~129: Specify a number, remove phrase, or simply use “many” or “numerous” (LARGE_NUMBER_OF)
Context: .... It’s the recommended method to upsert a large number of vectors. ### Input - the scheme of `p...
[style] ~337-~337: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...d(Array[Object.Location]) | The list ofObject.Location. | - Object.Location | field |...docs/api/update.md
[grammar] ~119-~119: An article may be missing. (BUNCH_OF)
Context: ... | | ALREADY_EXISTS | Request pair of ID and vector is already inserted. ...
[uncategorized] ~127-~127: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case. (AMOUNTOF_TO_NUMBEROF)
Context: ... recommended method to update the large amount of vectors. ### Input - the scheme of...
[grammar] ~248-~248: An article may be missing. (BUNCH_OF)
Context: ... | | ALREADY_EXISTS | Request pair of ID and vector is already inserted. ...
[style] ~337-~337: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...d(Array[Object.Location]) | The list ofObject.Location. | - Object.Location | field |...
[grammar] ~374-~374: An article may be missing. (BUNCH_OF)
Context: ... | | ALREADY_EXISTS | Request pair of ID and vector is already inserted. ...docs/api/filter-gateway.md
[uncategorized] ~7-~7: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...t to user-defined ingress/egress filter components allowing user to run custom logic. ## ...
[style] ~150-~150: Specify a number, remove phrase, or simply use “many” or “numerous” (LARGE_NUMBER_OF)
Context: .... It's the recommended method to insert a large number of objects. ```rpc service Filter { rpc...
[grammar] ~271-~271: “Google” is a proper noun and needs to be capitalized. (A_GOOGLE)
Context: ...ogle.rpc.Status | | the status of google RPC. | - Object.Loc...
[style] ~432-~432: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...d(Array[Object.Location]) | the list ofObject.Location. | - Object.Location | field |...
[uncategorized] ~594-~594: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case. (AMOUNTOF_TO_NUMBEROF)
Context: ... recommended method to update the large amount of objects. ```rpc service Filter { ...
[grammar] ~716-~716: “Google” is a proper noun and needs to be capitalized. (A_GOOGLE)
Context: ...ogle.rpc.Status | | the status of google RPC. | - Object.Loc...
[style] ~883-~883: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...d(Array[Object.Location]) | the list ofObject.Location. | - Object.Location | field |...
[grammar] ~1164-~1164: “Google” is a proper noun and needs to be capitalized. (A_GOOGLE)
Context: ...ogle.rpc.Status | | the status of google RPC. | - Object.Loc...
[style] ~1331-~1331: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...d(Array[Object.Location]) | the list ofObject.Location. | - Object.Location | field |...
[grammar] ~1622-~1622: “Google” is a proper noun and needs to be capitalized. (A_GOOGLE)
Context: ...ogle.rpc.Status | | the status of google RPC | - Search.Response | f...
Additional comments not posted (35)
docs/api/object.md (2)
98-98: LGTM! The addition ofrepeated Filter.Config filtersenhances the filtering capabilities of theGetObject RPC.Consider adding examples or more detailed documentation on how these filters can be used effectively in different scenarios.
Also applies to: 112-112
179-179: LGTM! Consistent addition ofrepeated Filter.Config filtersin theStreamGetObject RPCmaintains uniformity withGetObject RPC.Ensure that the implementation handles these filters correctly in the streaming context, particularly with respect to maintaining state and performance.
Also applies to: 193-193
docs/api/insert.md (3)
34-34: LGTM! The addition ofrepeated Filter.Config filtersin theInsert RPCenhances the API's functionality by allowing conditional inserts based on filters.Consider adding examples or more detailed documentation on how these filters can be utilized during insert operations to guide users effectively.
Also applies to: 60-60
138-138: LGTM! Consistent addition ofrepeated Filter.Config filtersin theStreamInsert RPCmaintains uniformity withInsert RPC.Ensure that the implementation handles these filters correctly in the streaming context, particularly with respect to maintaining state and performance.
Also applies to: 164-164
269-269: LGTM! Consistent addition ofrepeated Filter.Config filtersin theMultiInsert RPCmaintains uniformity with other insert operations.Ensure that the implementation handles these filters correctly in the multi-request context, particularly with respect to performance and correctness in batch operations.
Also applies to: 301-301
docs/api/upsert.md (3)
38-38: LGTM! The addition ofrepeated Filter.Config filtersanddisable_balanced_updatein theUpsert RPCenhances configurability and functionality.Consider adding detailed documentation on the use and impact of
disable_balanced_update, especially how it affects the update operations in terms of performance and data consistency.Also applies to: 64-65
143-143: LGTM! Consistent addition ofrepeated Filter.Config filtersanddisable_balanced_updatein theStreamUpsert RPCmaintains uniformity withUpsert RPC.Ensure that the implementation handles these configurations correctly in the streaming context, particularly with respect to maintaining state and performance.
Also applies to: 169-170
275-275: LGTM! Consistent addition ofrepeated Filter.Config filtersanddisable_balanced_updatein theMultiUpsert RPCmaintains uniformity with other upsert operations.Ensure that the implementation handles these configurations correctly in the multi-request context, particularly with respect to performance and correctness in batch operations.
Also applies to: 307-308
docs/api/update.md (3)
34-34: Ensure therepeated Filter.Config filtersfield is correctly documented.This change aligns with the PR's objective to enhance filter configurations across various APIs.
141-141: Verify the repeated use ofFilter.Configin theStreamUpdateRPC.
275-275: Confirm the implementation ofrepeated Filter.Configin theMultiUpdateRPC.docs/api/search.md (24)
66-67: Updated theSearch.Requestconfiguration to includerepeatedkeyword foringress_filtersandegress_filters. This change allows multiple filter configurations, enhancing flexibility in search queries.
91-101: Updated the table underSearch.Configto reflect the new structure ofingress_filtersandegress_filtersas arrays. This change aligns with the updated RPC schema and provides clarity on the configuration options available to users.
187-188: Similar to theSearchRPC, theSearchByIDRPC now also supports multiple ingress and egress filters. This consistency across RPC methods improves the user's ability to apply uniform filtering logic across different types of search operations.
212-222: The table underSearch.IDRequesthas been updated to match the new repeated filter configuration. This ensures that the documentation is consistent with the actual functionality of the API.
309-310: TheStreamSearchRPC configuration now also includes therepeatedkeyword for filter configurations, allowing for multiple filter criteria during streaming search operations. This enhancement supports more complex query scenarios.
334-344: Updated the table underStreamSearchto accurately reflect the changes in filter configurations. This update ensures that the documentation provides clear and accurate information to developers using the streaming search functionality.
445-446: TheStreamSearchByIDRPC has been updated to include multiple filter configurations, aligning it with other search RPCs. This change facilitates more flexible and powerful search operations based on vector IDs.
470-480: The table underStreamSearchByIDhas been updated to reflect the new repeated filter configuration. This consistency in documentation helps users understand the capabilities and configuration options of the API.
588-589: TheMultiSearchRPC now supports multiple ingress and egress filters, enhancing the ability to perform complex searches within a single request. This change broadens the use cases and flexibility of the search functionality.
619-629: Updated the table underMultiSearchto include the new repeated filter configurations. This update ensures that the documentation is comprehensive and reflects the actual capabilities of the API.
734-735: TheMultiSearchByIDRPC configuration now includes multiple filter configurations, providing consistency across different search methods and enhancing the flexibility of ID-based searches.
765-775: Updated the table underMultiSearchByIDto reflect the new repeated filter configuration. This ensures that the documentation is accurate and provides users with the correct information on how to configure their search queries.
868-869: TheLinearSearchRPC now supports multiple ingress and egress filters, aligning it with other search RPCs and enhancing its functionality.
893-901: Updated the table underLinearSearchto reflect the new repeated filter configurations. This update ensures that the documentation is accurate and provides clear guidance on configuring linear search operations.
986-987: TheLinearSearchByIDRPC configuration now includes multiple filter configurations, providing consistency across different search methods and enhancing the flexibility of ID-based searches.
1011-1019: Updated the table underLinearSearchByIDto reflect the new repeated filter configuration. This ensures that the documentation is accurate and provides users with the correct information on how to configure their search queries.
1104-1105: TheStreamLinearSearchRPC now supports multiple ingress and egress filters, enhancing the flexibility and functionality of streaming linear search operations.
1129-1137: Updated the table underStreamLinearSearchto reflect the new repeated filter configurations. This update ensures that the documentation is comprehensive and reflects the actual capabilities of the API.
1236-1237: TheStreamLinearSearchByIDRPC configuration now includes multiple filter configurations, providing consistency across different search methods and enhancing the flexibility of ID-based searches.
1261-1269: Updated the table underStreamLinearSearchByIDto reflect the new repeated filter configuration. This ensures that the documentation is accurate and provides users with the correct information on how to configure their search queries.
1375-1376: TheMultiLinearSearchRPC now supports multiple ingress and egress filters, enhancing the ability to perform complex searches within a single request. This change broadens the use cases and flexibility of the search functionality.
1406-1414: Updated the table underMultiLinearSearchto include the new repeated filter configurations. This update ensures that the documentation is comprehensive and reflects the actual capabilities of the API.
1517-1518: TheMultiLinearSearchByIDRPC configuration now includes multiple filter configurations, providing consistency across different search methods and enhancing the flexibility of ID-based searches.
1548-1556: Updated the table underMultiLinearSearchByIDto reflect the new repeated filter configuration. This ensures that the documentation is accurate and provides users with the correct information on how to configure their search queries.
Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>
There was a problem hiding this comment.
Actionable comments posted: 2
Outside diff range and nitpick comments (2)
example/client/go.mod.default (1)
9-9: Specify a version for thegachelibrary.The addition of the
gachelibrary is a good choice for enhancing caching functionality. However, it's recommended to specify a specific version instead of using the latest version to ensure stability and reproducibility of the application.Consider applying this change:
- github.com/kpango/gache/v2 => github.com/kpango/gache/v2 latest + github.com/kpango/gache/v2 => github.com/kpango/gache/v2 v2.1.0example/server/egress-filter/main.go (1)
94-102: Improve theFilterVectormethod placeholder to provide better guidance for users.The current placeholder implementation of the
FilterVectormethod simply returns the input vector without any filtering logic. While the comment indicates that users should write their own logic, it may be helpful to provide more guidance or a clear extension point for users to implement the filtering logic without modifying the server code directly.Consider the following suggestions:
- Add a more descriptive comment explaining what kind of filtering logic users should implement and what the expected inputs and outputs are.
- Provide a separate interface or function type that users can implement to define their custom filtering logic, and then call that function from within the
FilterVectormethod.- Include an example implementation of the filtering logic in the comments or documentation to guide users.
By providing clearer guidance and extension points, you can make it easier for users to customize the filtering behavior without modifying the server code directly.
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (7)
apis/grpc/v1/agent/sidecar/sidecar_vtproto.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapis/grpc/v1/filter/egress/egress_filter.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapis/grpc/v1/filter/egress/egress_filter_vtproto.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapis/grpc/v1/payload/payload.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapis/grpc/v1/payload/payload.pb.json.gois excluded by!**/*.pb.json.goapis/grpc/v1/payload/payload_vtproto.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapis/grpc/v1/rpc/errdetails/error_details.pb.gois excluded by!**/*.pb.go,!**/*.pb.go
Files selected for processing (23)
- apis/docs/v1/docs.md (9 hunks)
- apis/proto/v1/payload/payload.proto (6 hunks)
- apis/swagger/v1/vald/filter.swagger.json (6 hunks)
- apis/swagger/v1/vald/object.swagger.json (2 hunks)
- apis/swagger/v1/vald/search.swagger.json (3 hunks)
- apis/swagger/v1/vald/update.swagger.json (3 hunks)
- charts/vald-benchmark-operator/schemas/job-values.yaml (1 hunks)
- charts/vald-helm-operator/crds/valdrelease.yaml (1 hunks)
- charts/vald/values.schema.json (1 hunks)
- charts/vald/values.yaml (1 hunks)
- docs/api/filter-gateway.md (45 hunks)
- docs/api/insert.md (6 hunks)
- docs/api/object.md (4 hunks)
- docs/api/search.md (24 hunks)
- docs/api/update.md (6 hunks)
- docs/api/upsert.md (6 hunks)
- example/client/gateway/filter/egress-filter/main.go (1 hunks)
- example/client/gateway/filter/ingress-filter/main.go (1 hunks)
- example/client/gateway/filter/main.go (1 hunks)
- example/client/go.mod.default (2 hunks)
- example/client/mirror/main.go (2 hunks)
- example/server/egress-filter/main.go (1 hunks)
- example/server/ingress-filter/main.go (1 hunks)
Additional context used
Markdownlint
apis/docs/v1/docs.md
1020-1020: null
Link fragments should be valid(MD051, link-fragments)
Additional comments not posted (101)
charts/vald/values.schema.json (2)
7094-7094: Verify the impact of thedistance_filtersproperty change.Changing the
distance_filtersproperty from an array of strings to an array of objects allows for a more complex structure for the distance filters. This can enable specifying additional attributes or configurations for each distance filter target.Please ensure that the code interacting with this property is updated to handle the new object structure appropriately.
7099-7099: Verify the impact of theobject_filtersproperty change.Changing the
object_filtersproperty from an array of strings to an array of objects allows for a more complex structure for the object filters. This can enable specifying additional attributes or configurations for each object filter target.Please ensure that the code interacting with this property is updated to handle the new object structure appropriately.
example/client/go.mod.default (1)
22-22: Verify the reason for using a relative path for thevaldlibrary.Using a relative path for the
valdlibrary could potentially cause issues when the code is run in different environments or when the directory structure changes.Please provide more context on the reason for this change. Is the project transitioning to a local version of the
valdlibrary or restructuring its dependency management for local development or testing scenarios?Additionally, consider using a specific version or commit hash of the
valdlibrary to ensure consistency across different environments. For example:- github.com/vdaas/vald => ../../../vald + github.com/vdaas/vald => github.com/vdaas/vald v1.2.3example/server/ingress-filter/main.go (3)
36-44: LGTM!The
initfunction correctly initializes the command-line flags for the server port and vector dimension with reasonable default values.
50-63: LGTM!The
GenVectormethod correctly generates a random vector for a given blob using thevectorpackage. It returns the generated vector with the same ID as the input blob and handles errors appropriately.
73-92: LGTM!The
mainfunction correctly sets up and starts the gRPC server for the ingress filter service. It uses theingressServerPortflag to determine the server port, registers themyIngressServerinstance with the gRPC server, and handles graceful shutdown of the server on receiving an interrupt signal.example/client/gateway/filter/ingress-filter/main.go (5)
1-13: License header looks good!The license header correctly uses the Apache License 2.0 and matches the format used in other files of the project.
16-33: Imports look good!The imports are correctly used. The comment provides a clear explanation for the temporary usage of the root module instead of the released vald-client-go module due to the unavailability of the filter query changes in the released version.
35-40: Global variable definitions look good!The global variables for the ingress filter client, server host, server port, and vector dimension are appropriately defined. They will be initialized using command-line flags in the
initfunction.
42-52:initfunction looks good!The
initfunction correctly initializes the global variables using command-line flags with appropriate default values. The comments provide clear explanations for each flag.
54-80:mainfunction looks good!The
mainfunction provides a clear and concise example of how to use the ingress filter client. It demonstrates the following steps:
- Establishing a gRPC connection to the ingress filter server using the provided host and port.
- Calling the
GenVectormethod with an example blob object.- Calling the
FilterVectormethod with an example vector object.The error handling is implemented correctly, and the example data used in the method calls is appropriate.
example/client/gateway/filter/egress-filter/main.go (5)
16-33: Temporary workaround for importing packages.The comments provide a clear explanation for using the root module instead of the released "vald-client-go" module. This is a reasonable temporary workaround until the changes are released.
Please ensure to update the import path and go.mod file after the release, as mentioned in the comments.
35-40: Global variable declarations look good.The global variables for the gRPC client, server host, server port, and vector dimension are declared appropriately. The names and types of the variables are suitable for their intended purpose.
42-52: Proper usage of command-line flags.The
initfunction properly utilizes theflagpackage to parse command-line flags for configuring the server host, port, and vector dimension. The default values are set appropriately, providing sensible fallbacks if the flags are not specified.Using command-line flags allows easy configuration of the client without modifying the code.
54-108: Proper implementation of themainfunction.The
mainfunction correctly establishes a gRPC connection to the specified server host and port, and creates a gRPC client for the egress filter using the established connection.The code demonstrates the usage of the egress filter gRPC client by constructing sample
Filter_DistanceRequestandFilter_VectorRequestobjects and sending them to the server using the respective RPC methods (FilterDistanceandFilterVector). The responses from the server are appropriately logged using theglgpackage.Error handling is performed for the gRPC connection and RPC method calls, ensuring proper error management.
Overall, the implementation of the
mainfunction is correct and serves as a good example of using the egress filter gRPC client.
1-108: File is well-structured and serves its purpose.The file follows a clear structure with appropriate comments and error handling. The code is readable and adheres to Go conventions.
It serves as a good example of using the egress filter gRPC client and effectively demonstrates the usage of the new filter query functionality.
There are no major issues or improvements needed in the code.
example/server/egress-filter/main.go (1)
104-123: LGTM!The
mainfunction follows a standard pattern for setting up and running a gRPC server. It listens on the configured port, registers the server implementation, and gracefully handles shutdown. The code looks good to me!example/client/mirror/main.go (1)
72-72: LGTM!The change from
grpc.WithInsecure()togrpc.WithTransportCredentials(insecure.NewCredentials())aligns with current best practices for establishing secure gRPC client-server communications. It provides a more explicit way to mark the connection as insecure, compared to the deprecatedWithInsecure()method.example/client/gateway/filter/main.go (4)
16-23: Consider using a stable version of the Vald client library.The comments indicate that a temporary module is being used due to the absence of the required features in the current stable release of
vald-client-go. This could lead to issues with maintainability and compatibility in the future. It would be beneficial to expedite the stable release that includes the necessary features or find an alternative stable version that meets the current requirements.
71-213: Refactor error handling to avoid program exit within loops.The current implementation uses
returnstatements within loops to exit the program upon encountering errors. This approach prevents the execution of subsequent iterations and might skip necessary cleanup or logging steps. Consider aggregating errors and handling them after the loops complete to ensure that all iterations are attempted and appropriate actions are taken even when some operations fail.+ var errs []error - return + errs = append(errs, err) + continue // After loops + if len(errs) > 0 { + for _, err := range errs { + glg.Error(err) + } + return + }
106-114: Optimize the handling of repeated code patterns.The configuration setup for
payload.Filter_Targetis repeated multiple times with the same hosts and ports. Consider abstracting this configuration into a function or a variable to reduce redundancy and improve maintainability.+ func defaultFilterTarget(host string, port uint32) *payload.Filter_Target { + return &payload.Filter_Target{ + Host: host, + Port: port, + } + } - Host: ingressServerHost, - Port: uint32(ingressServerPort), + defaultFilterTarget(ingressServerHost, uint32(ingressServerPort)),
215-242: LGTM!The function is correctly implemented and there are no issues or suggestions for improvement.
apis/swagger/v1/vald/object.swagger.json (2)
134-143: The past review comment is still applicable. Please refer to the comment by @coderabbitai[bot] and ensure that theFilterQuerydefinition accurately reflects the implementation in the Go codebase.
240-246: LGTM!The modifications to the
v1FilterConfigobject definition are beneficial for the following reasons:
Replacing the
targetsarray with a singletargetproperty simplifies the configuration by allowing only one filter target per configuration. This promotes a cleaner and more focused configuration structure.Adding the
queryproperty enables passing filter queries through the configuration object. This enhances the API's ability to represent filter configurations in a more structured and expressive manner.These changes align with the overall goal of improving the API's filtering capabilities and provide a more intuitive way to configure filters.
docs/api/object.md (2)
98-98: LGTM!The change to make the
filtersfield repeated allows for more complex queries by specifying multiple filter configurations in a single request. This enhances the flexibility and usability of the API.
109-112: Documentation looks good!The table accurately describes the
filtersfield type asrepeated(Array[Filter.Config]), which aligns with the code change to make it a repeated field. This clarifies that multiple filter configurations can be specified.apis/swagger/v1/vald/update.swagger.json (3)
113-122: LGTM!The
FilterQuerydefinition is correctly defined and the description clearly explains its purpose.
210-216: LGTM!The changes to
v1FilterConfigdefinition are correctly defined. Replacing thetargetsarray with a singletargetobject simplifies the configuration. The addition ofqueryproperty enhances the capability to specify filter queries.
265-269: LGTM!Modifying the
filtersproperty to be an array ofv1FilterConfigobjects is a good change. It allows specifying multiple filter configurations, enhancing the flexibility of the API's filtering capabilities.apis/swagger/v1/vald/search.swagger.json (4)
273-282: LGTM!The
FilterQuerydefinition is a valuable addition to the schema, providing a structured way to represent filter queries. Thequeryproperty is appropriately defined as a string type, and the description provides clarity on the purpose of the object.
403-409: Excellent update to thev1FilterConfigdefinition!The modifications to the
v1FilterConfigdefinition improve its structure and functionality:
- Replacing the
targetsproperty with a singletargetproperty simplifies the configuration.- Adding the
queryproperty allows for the inclusion of a filter query, enhancing the filtering capabilities.The references to the
v1FilterTargetandFilterQuerydefinitions are correct.
457-461: Great enhancement to theingressFiltersproperty!Modifying the
ingressFiltersproperty to be an array ofv1FilterConfigobjects is a significant improvement. It allows for multiple filter configurations to be specified for ingress, enhancing the flexibility of the ingress filter configurations.The reference to the
v1FilterConfigdefinition is correct.
465-469: Fantastic update to theegressFiltersproperty!Similar to the
ingressFiltersproperty, modifying theegressFiltersproperty to be an array ofv1FilterConfigobjects is a valuable improvement. It allows for multiple filter configurations to be specified for egress, enhancing the flexibility of the egress filter configurations.The reference to the
v1FilterConfigdefinition is correct.docs/api/insert.md (4)
34-34: LGTM!The change from
Filter.Configtorepeated Filter.Configfor thefiltersfield inInsert.Configmessage enhances the flexibility by allowing multiple filter configurations. Please ensure the corresponding documentation table is updated to reflect this change.
60-60: This is a duplicate of the past review comment regarding the redundant use ofrepeatedkeyword in the type description.As per the user's response, we'll maintain the existing documentation style and skip suggesting the simplification.
138-138: LGTM!The changes to the
filtersfield and the corresponding documentation table for theStreamInsertRPC are consistent with the updates made for theInsertRPC.As per the user's response to the past review comment, we'll maintain the existing documentation style for the table.
Also applies to: 164-164
269-269: LGTM!The changes to the
filtersfield and the corresponding documentation table for theMultiInsertRPC are consistent with the updates made for theInsertandStreamInsertRPCs.As per the user's response to the past review comment, we'll maintain the existing documentation style for the table.
Also applies to: 301-301
docs/api/upsert.md (4)
38-38: LGTM!The change to the
filtersfield type in theConfigmessage fromFilter.Configtorepeated Filter.Configis a good enhancement. It allows users to specify multiple filter configurations, providing more flexibility in the Upsert RPC.
64-64: Skipping comment on thefiltersfield type in theUpsert.Configtable, as per the user's preference to maintain consistency with the existing documentation style.
143-143: Skipping comment on thefiltersfield type change in theConfigmessage for the StreamUpsert RPC, as it is a duplicate of the change at line 38.
275-275: Skipping comment on thefiltersfield type change in theConfigmessage for the MultiUpsert RPC, as it is a duplicate of the changes at lines 38 and 143.docs/api/update.md (7)
34-34: LGTM!The change from
Filter.Configtorepeated Filter.Configfor thefiltersfield enhances flexibility by allowing multiple filter configurations to be specified.
60-60: The past comment about clarifying the use ofrepeated(Array[Filter.Config])for thefiltersfield is still valid and applicable here.
56-61: Documentation update looks good!The table describing the
Update.Configmessage has been appropriately updated to reflect the changes in thefiltersfield type and the addition of thedisable_balanced_updatefield.
167-167: The past comment about ensuring consistency in the description of thefiltersfield across different sections is still valid and applicable here.
163-168: Documentation update is consistent!The changes to the
Update.Configmessage definition and the corresponding table for theStreamUpdateRPC are consistent with the modifications made for theUpdateRPC.
307-307: The past comment about reviewing the application of filters in theMultiUpdateRPC is still valid and applicable here.
303-308: Documentation update is consistent!The changes to the
Update.Configmessage definition and the corresponding table for theMultiUpdateRPC are consistent with the modifications made for theUpdateandStreamUpdateRPCs.apis/proto/v1/payload/payload.proto (11)
90-92: LGTM!The change from
Filter.Configtorepeated Filter.Configfor theingress_filtersandegress_filtersfields in theSearch.Configmessage enhances the flexibility of the search functionality by allowing the specification of multiple filter configurations. This aligns with the overall goal of improving the API's filtering capabilities.
147-151: LGTM!The introduction of the
Filter.Querymessage type provides a structured way to encapsulate the raw query string. This change improves the clarity and maintainability of the codebase by explicitly defining the query as a separate entity.
156-159: LGTM!The change from
repeated Targetto a singleTargetsimplifies the configuration structure by focusing on a single target. The addition of thequeryfield allows associating a query with the filter configuration, enhancing the flexibility of the filtering mechanism.
161-167: LGTM!The introduction of the
Filter.DistanceRequestmessage type provides a structured way to represent a request for filtering based on distance. It encapsulates the distance information and the associated query, enabling more precise filtering capabilities.
169-173: LGTM!The introduction of the
Filter.DistanceResponsemessage type provides a structured way to represent the response for a distance-based filtering request. It encapsulates the filtered distance information, enabling a clear and consistent response format.
175-181: LGTM!The introduction of the
Filter.VectorRequestmessage type provides a structured way to represent a request for filtering based on a vector. It encapsulates the vector information and the associated query, enabling more precise filtering capabilities.
183-186: LGTM!The introduction of the
Filter.VectorResponsemessage type provides a structured way to represent the response for a vector-based filtering request. It encapsulates the filtered vector information, enabling a clear and consistent response format.
227-227: LGTM!The change from
Filter.Configtorepeated Filter.Configfor thefiltersfield in theInsert.Configmessage enhances the flexibility of the insert functionality by allowing the specification of multiple filter configurations. This aligns with the overall goal of improving the API's filtering capabilities.
280-280: LGTM!The change from
Filter.Configtorepeated Filter.Configfor thefiltersfield in theUpdate.Configmessage enhances the flexibility of the update functionality by allowing the specification of multiple filter configurations. This aligns with the overall goal of improving the API's filtering capabilities.
326-326: LGTM!The change from
Filter.Configtorepeated Filter.Configfor thefiltersfield in theUpsert.Configmessage enhances the flexibility of the upsert functionality by allowing the specification of multiple filter configurations. This aligns with the overall goal of improving the API's filtering capabilities.
404-404: LGTM!The change from
Filter.Configtorepeated Filter.Configfor thefiltersfield in theObject.VectorRequestmessage enhances the flexibility of the vector request functionality by allowing the specification of multiple filter configurations. This aligns with the overall goal of improving the API's filtering capabilities.apis/swagger/v1/vald/filter.swagger.json (4)
273-282: LGTM!The
FilterQuerydefinition is correctly defined with a singlequeryproperty of type string to represent the raw query string. The description is also accurate.
417-423: The changes tov1FilterConfigdefinition look good!
- Replacing the
targetsarray property with a singletargetproperty referencingv1FilterTargetsimplifies the configuration.- Adding the new
queryproperty referencingFilterQueryallows specifying a query for each filter configuration.The changes align with the list of alterations provided.
547-551: The updates toingressFiltersandegressFiltersinv1SearchConfigdefinition are valid.Changing
ingressFiltersandegressFiltersproperties to be arrays ofv1FilterConfigobjects instead of a single reference enhances the flexibility by allowing multiple filter configurations to be specified for ingress and egress filters in the search configuration.Also applies to: 555-559
451-455: Thefiltersproperty is consistently updated inv1InsertConfig,v1UpdateConfig, andv1UpsertConfigdefinitions.Modifying the
filtersproperty to be an array ofv1FilterConfigobjects in all three definitions allows specifying multiple filter configurations for insert, update, and upsert operations. This provides more flexibility in configuring filters for these operations.The changes are consistently applied across the definitions and look good.
Also applies to: 643-647, 702-706
charts/vald-benchmark-operator/schemas/job-values.yaml (1)
140-147: LGTM! The changes enhance flexibility and query passing capabilities.The introduction of the
filter_configsarray underobject_configis a great improvement. It allows specifying multiple filter targets, each with its ownhost,port, andquery. This change aligns perfectly with the PR objective of enabling query passing between the egress filter and filter gateway.The structure and indentation of the new configuration look correct, and the data types used for the fields are appropriate.
docs/api/filter-gateway.md (12)
39-39: LGTM!The changes to the
InsertRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 57-63, 85-96
Line range hint
173-197: LGTM!The changes to the
StreamInsertRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 219-230
Line range hint
334-358: LGTM!The changes to the
MultiInsertRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 386-397
Line range hint
483-507: LGTM!The changes to the
UpdateRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 529-541
Line range hint
617-641: LGTM!The changes to the
StreamUpdateRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 663-675
Line range hint
784-808: LGTM!The changes to the
MultiUpdateRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 836-848
Line range hint
934-958: LGTM!The changes to the
UpsertRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 980-992
Line range hint
1065-1089: LGTM!The changes to the
StreamUpsertRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 1111-1123
Line range hint
1232-1256: LGTM!The changes to the
MultiUpsertRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configand the addition of theQuerymessage look good.Also applies to: 1284-1296
Line range hint
1386-1404: LGTM!The changes to the
SearchRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configfor bothingress_filtersandegress_filters, along with the addition of theQuerymessage, look good.Also applies to: 1419-1435
Line range hint
1526-1544: LGTM!The changes to the
StreamSearchRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configfor bothingress_filtersandegress_filters, along with the addition of theQuerymessage, look good.Also applies to: 1559-1575
Line range hint
1692-1710: LGTM!The changes to the
MultiSearchRPC are consistent with the overall modifications to theFilterservice configuration. The usage of repeatedFilter.Configfor bothingress_filtersandegress_filters, along with the addition of theQuerymessage, look good.Also applies to: 1731-1747
docs/api/search.md (12)
66-67: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 91-101
187-188: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 212-222
309-310: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 334-344
445-446: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 470-480
588-589: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 619-629
734-735: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 765-775
868-869: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 893-901
986-987: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 1011-1019
1104-1105: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 1129-1137
1236-1237: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 1261-1269
1375-1376: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 1406-1414
1517-1518: LGTM!The
ingress_filtersandegress_filtersfields have been correctly updated torepeated Filter.Configin both theSearch.Configmessage definition and the corresponding documentation table. The changes accurately reflect the new types.Also applies to: 1548-1556
apis/docs/v1/docs.md (9)
225-235: LGTM!The new
Filter.DistanceRequestmessage, withdistanceandqueryfields, is a useful addition for specifying a distance request along with a query. The message structure looks good.
236-245: Looks good!The new
Filter.DistanceResponsemessage, with thedistancefield, nicely complements theFilter.DistanceRequestmessage for returning the distance response. The message structure is appropriate.
246-254: Approve the newFilter.Querymessage.The new
Filter.Querymessage, with thequeryfield for specifying the raw query string, provides a clean way to represent a filter query. The message structure is well-defined.
267-277: The newFilter.VectorRequestmessage looks good.The addition of the
Filter.VectorRequestmessage, withvectorandqueryfields, is a useful enhancement for specifying a vector request along with a query. The message structure is well-defined.
278-287: Approve the newFilter.VectorResponsemessage.The new
Filter.VectorResponsemessage, with thevectorfield, nicely complements theFilter.VectorRequestmessage for returning the vector response. The message structure is appropriate.
664-668: The enhancements to theInsert.Configmessage look good.The changes to the
Insert.Configmessage, including marking thefiltersfield as repeated and adding thetimestampfield, are useful enhancements. They allow specifying multiple filter configurations and associating a timestamp with the insert operation.
923-926: Approve marking thefiltersfield as repeated.Updating the
Object.VectorRequestmessage to mark thefiltersfield as repeated is a useful enhancement. It allows specifying multiple filter configurations when requesting a vector.
1009-1021: The enhancements to theSearch.Configmessage significantly improve search flexibility.The additions to the
Search.Configmessage, including theingress_filters,egress_filters,min_num,aggregation_algorithm,ratio, andnprobefields, provide a wide range of configuration options to enhance the search process. These fields allow fine-grained control over filtering, result aggregation, and search parameters, making the search API more flexible and powerful.Tools
Markdownlint
1020-1020: null
Link fragments should be valid(MD051, link-fragments)
1131-1136: The enhancements to theUpdate.Configmessage improve update flexibility.The changes to the
Update.Configmessage, including marking thefiltersfield as repeated, adding thetimestampfield, and introducing thedisable_balanced_updatefield, provide useful configuration options for update operations. These enhancements allow specifying multiple filter configurations, associating a timestamp, and controlling the balanced update behavior, making the update process more flexible.charts/vald/values.yaml (2)
1516-1518: LGTM! The type change enables more detailed filter configurations.Changing the type of
object_filtersfrom an array of strings to an array of objects allows associating more complex structures and attributes with each filter. This could enhance the flexibility and granularity of the gateway's object filtering capabilities.
1519-1521: Looks good! The type change allows for more granular distance filter setups.Modifying the type of
distance_filtersfrom an array of strings to an array of objects enables associating more complex structures and attributes with each distance filter. This change enhances the expressiveness and flexibility of configuring distance-based filtering in the gateway.charts/vald-helm-operator/crds/valdrelease.yaml (2)
4279-4280: LGTM: The changes to thedistance_filtersproperty enhance flexibility.Modifying the
distance_filtersproperty from an array of strings to an array of objects, along with thex-kubernetes-preserve-unknown-fields: truedirective, allows for more complex filter configurations and extensibility. This is a positive change that improves the robustness of the filter system.
4284-4285: LGTM: The changes to theobject_filtersproperty enhance flexibility.Similar to the
distance_filterschanges, modifying theobject_filtersproperty to an array of objects with thex-kubernetes-preserve-unknown-fields: truedirective enables more advanced filter setups and future extensions. This change aligns with the goal of a more capable and adaptable filter configuration.
There was a problem hiding this comment.
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
[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 🐶
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
[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 🐶
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
[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 🐶
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
[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 🐶
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
[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: 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
[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
vald/docs/user-guides/client-api-config.md
Line 116 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 118 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 124 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 126 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 144 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 149 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 153 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 251 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 253 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 259 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 261 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 279 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 284 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 288 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 385 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 387 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 393 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 395 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 455 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 457 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 613 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 615 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 621 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 623 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 646 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 648 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 654 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 656 in b406be6
[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
vald/docs/user-guides/client-api-config.md
Line 677 in b406be6
[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
[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
There was a problem hiding this comment.
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)
Line 60 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 164 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 301 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 112 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 193 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 98 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 99 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 219 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 220 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 341 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 342 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 477 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 478 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 626 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 627 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 772 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 773 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 898 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 899 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1016 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1017 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1134 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1135 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1266 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1267 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1411 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1412 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1553 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 1554 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 60 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 167 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 307 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 64 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 169 in b406be6
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 307 in b406be6
| | 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 |
There was a problem hiding this comment.
🚫 [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 | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
|
|
||
| | field | type | label | required | desc. | | ||
| | :---: | :----- | :---- | :------: | :------------------ | | ||
| | host | string | | \* | the target hostname | |
There was a problem hiding this comment.
🚫 [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 | |
There was a problem hiding this comment.
🚫 [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 | |
There was a problem hiding this comment.
🚫 [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 |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
|
|
||
| | field | type | label | required | desc. | | ||
| | :---: | :----- | :---- | :------: | :------------------ | | ||
| | host | string | | \* | the target hostname | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
hostname => hostage (en-spell)
Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>
There was a problem hiding this comment.
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
vald/docs/user-guides/client-api-config.md
Line 126 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 144 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 149 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 153 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 251 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 253 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 259 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 261 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 279 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 284 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 288 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 385 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 387 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 393 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 395 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 455 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 457 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 613 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 615 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 621 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 623 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 646 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 648 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 654 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 656 in d9ca20c
[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
vald/docs/user-guides/client-api-config.md
Line 677 in d9ca20c
[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
[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
There was a problem hiding this comment.
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)
Line 167 in d9ca20c
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 307 in d9ca20c
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 64 in d9ca20c
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 169 in d9ca20c
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
Line 307 in d9ca20c
| | :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ | | ||
| | 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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
There was a problem hiding this comment.
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.Configmessage (ingress_filters,egress_filters,min_num,aggregation_algorithm,ratio, andnprobe) 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.Configmessage. 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
filtersfield to theUpdate.Configmessage aligns with the PR objectives of enhancing filtering capabilities. The newdisable_balanced_updatefield introduces an interesting feature for controlling the update process.However, the purpose and implications of the
disable_balanced_updatefield may not be immediately clear to all users.Consider providing a more detailed explanation for the
disable_balanced_updatefield. For example:-| disable_balanced_update | [bool](#bool) | | A flag to disable balanced update (split remove -> 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 pairmay not accurately reflect the contents ofDistanceRequest, 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 pairmight not match the structure ofDistanceResponse, 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 pairdoes not fully describe theVectorRequestmessage, 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 theQuerystruct to avoid potential naming conflictsIntroducing a struct named
Querywithin theFiltermodule may lead to naming conflicts or confusion with otherQuerytypes in the codebase or external libraries. Consider renaming it to something more specific, such asFilterQuery, to improve clarity and avoid ambiguity.
289-299: Update documentation comments forDistanceRequestThe documentation for
DistanceRequeststates "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 ofDistanceRequest, such as "Represent a request containing distances and an optional query for filtering."
304-315: Update documentation comments forDistanceResponseThe documentation for
DistanceResponsestates "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 forVectorRequestThe documentation for
VectorRequeststates "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 ofVectorRequest, such as "Represent a request containing a vector and an optional query for filtering."
331-342: Update documentation comments forVectorResponseThe documentation for
VectorResponsestates "Represent the ID and vector pair," but the struct contains a vector. Consider updating the comment to accurately describeVectorResponse, such as "Represent a response containing a filtered vector."
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (3)
apis/grpc/v1/payload/payload.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapis/grpc/v1/payload/payload.pb.json.gois excluded by!**/*.pb.json.goapis/grpc/v1/payload/payload_vtproto.pb.gois 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.DistanceRequestandFilter.DistanceResponsemessage 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.Querymessage 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.VectorRequestandFilter.VectorResponsemessage types enhances the API's vector filtering capabilities, which is consistent with the PR objectives.
958-961: Addition offiltersfield to Object.VectorRequest is appropriate.The inclusion of the
filtersfield in theObject.VectorRequestmessage 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 goodThe new
Filter.Querymessage 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 toFilter.Configis 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 ofqueryfield toFilter.Configappears correctThe
queryfield has been added toFilter.Config. The implementation and documentation are appropriate.
525-526:⚠️ Potential issueEnsure that multiple filters are handled correctly in
Update.ConfigThe
filtersfield inUpdate.Confighas been changed from an optionalfilter::Configto a repeatedVec<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.Configand 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 issueEnsure that multiple filters are handled correctly in
Insert.ConfigThe
filtersfield inInsert.Confighas been changed from an optionalfilter::Configto a repeatedVec<filter::Config>. Verify that all code constructing or usingInsert.Configis updated to handle multiple filters. This may affect insertion logic and data validation.Run the following script to find usages of
Insert.Configand 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 issueEnsure that multiple filters are handled correctly in
Upsert.ConfigThe
filtersfield inUpsert.Confighas been changed from an optionalfilter::Configto a repeatedVec<filter::Config>. Verify that all code constructing or usingUpsert.Configis updated to handle multiple filters during upsert operations.Run the following script to find usages of
Upsert.Configand 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 issueEnsure that multiple filters are handled correctly in
Object.VectorRequestThe
filtersfield inObject.VectorRequesthas been changed from an optionalfilter::Configto a repeatedVec<filter::Config>. Make sure all usages ofObject.VectorRequesthandle multiple filters appropriately, and that requesting vectors works correctly with multiple filters.Run the following script to find usages of
Object.VectorRequestand 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 issueEnsure that multiple filters are handled correctly in
Search.ConfigThe
ingress_filtersandegress_filtersfields inSearch.Confighave been changed from optional singlefilter::Configto repeatedVec<filter::Config>. Verify that all code that constructs or usesSearch.Configis 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.Configand check for potential issues:Also applies to: 129-130
Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>
There was a problem hiding this comment.
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 🐶
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
vald/docs/user-guides/client-api-config.md
Line 124 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 126 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 144 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 149 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 153 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 251 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 253 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 259 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 261 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 279 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 284 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 288 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 385 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 387 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 393 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 395 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 455 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 457 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 613 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 615 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 621 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 623 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 646 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 648 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 654 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 656 in a19e8e6
[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
vald/docs/user-guides/client-api-config.md
Line 677 in a19e8e6
[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
[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
| | :---------------------: | :----------------------------- | :---- | :------: | :------------------------------------------------------------------------------------------------------------ | | ||
| | 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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [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. | |
There was a problem hiding this comment.
🚫 [documents testlint] <eslint.rules.en-spell> reported by reviewdog 🐶
nfig => fig (en-spell)
There was a problem hiding this comment.
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 inFilterDistanceandFilterVectormethodsThe implementations of
FilterDistanceandFilterVectorin thespecificAddrClienttype 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 methodsThe
FilterDistanceandFilterVectormethods in themultipleAddrsClienttype 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
📒 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 typeThe
FilterDistancemethod 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 methodsThere 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
|
[FOSSA] The scan result will be available at https://app.fossa.com/projects/custom%2B21465%2Fvald/refs/branch/feature%2Fegress-gateway%2Fadd-egress-query/eaa2e4a6cfa6959b030c9f10dc363284b005fd43 |
Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>
There was a problem hiding this comment.
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 thefiltersfieldThe
filtersfield 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_ConfigThe sample code has been updated to reflect the changes in the
Configmessage structure. However, theQueryfield 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_Configin 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 thefiltersfieldThe
filtersfield 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 thedisable_balanced_updatefieldA new field
disable_balanced_updatehas been added to theConfigmessage. 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 thefiltersfieldThe
filtersfield 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 thedisable_balanced_updatefieldA new field
disable_balanced_updatehas been added to theConfigmessage. 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 fornumfieldThe
numfield 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 theingress_filtersandegress_filtersfieldsThe
ingress_filtersandegress_filtersfields 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 themin_numvalidation ruleThe
min_numfield 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 ConfigurationThe sample code has been updated to reflect the changes in the
Configmessage structure. However, there are a few improvements that could make the example more informative:
- The
Queryfields 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", + }, }, },
- 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 configurationThe
Configmessage for the Remove service has been updated with a newtimestampfield, which is consistent with other service configurations. However, there are a couple of improvements that could be made for better consistency:
- Update the comment for
skip_strict_exist_checkto 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;
- Add a comment for the new
timestampfield:+ // 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
📒 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
mainfor 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:
- Detailed explanations of ingress and egress filters
- RPC definitions for both filter types
- Links to official filter components and additional samples
- 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 issueConsider using secure gRPC connections in production environments.
The change from
grpc.WithInsecure()togrpc.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/grpcversionv1.67.0, which supports the updatedgrpc.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/grpcLength of output: 105
Script:
#!/bin/bash # Extracting the version of google.golang.org/grpc from go.mod grep "google.golang.org/grpc" go.modLength of output: 478
docs/user-guides/client-api-config.md (1)
Line range hint
1-681: Overall assessment of changes to client API configurationThe 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_updateandaggregation_algorithmprovides users with more control over the operations.Key improvements:
- Consistent updates across all relevant service configurations.
- Introduction of repeated filter configurations for increased flexibility.
- Addition of new control flags and options (e.g.,
disable_balanced_update,aggregation_algorithm).- 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 filtersThe change from an array of strings to an array of objects for
object_filtersprovides more flexibility in configuring filters. This aligns with the PR objective of enhancing filtering capabilities.
1522-1523: Approved: Improved distance filter configurationSimilar to the object filters, the
distance_filtershave 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.
| 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" | ||
| ) |
There was a problem hiding this comment.
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()).
There was a problem hiding this comment.
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
vald/docs/user-guides/client-api-config.md
Line 116 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 118 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 124 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 126 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 144 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 149 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 153 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 251 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 253 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 259 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 261 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 279 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 284 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 288 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 385 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 387 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 393 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 395 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 455 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 457 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 613 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 615 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 621 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 623 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 646 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 648 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 654 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 656 in 927d897
[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
vald/docs/user-guides/client-api-config.md
Line 677 in 927d897
[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
[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
There was a problem hiding this comment.
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
vald/docs/user-guides/client-api-config.md
Line 144 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 149 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 153 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 251 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 253 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 259 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 261 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 279 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 284 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 288 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 385 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 387 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 393 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 395 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 455 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 457 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 613 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 615 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 621 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 623 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 646 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 648 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 654 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 656 in 2e308e9
[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
vald/docs/user-guides/client-api-config.md
Line 677 in 2e308e9
[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
[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
| message Config { | ||
| repeated Target targets = 1; | ||
| Target target = 1; | ||
| Query query = 2; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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
| } | ||
|
|
||
| // Represent the filter query. | ||
| message Query { |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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
| message Config { | ||
| // Represent the filter target configuration. | ||
| repeated Target targets = 1; | ||
| Target target = 1; |
There was a problem hiding this comment.
[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; |
There was a problem hiding this comment.
[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
Description:
This PR updated the following changes:
queryto egress filter throughFilterDistanceandFilterVectorAPIapis/proto/v1/filter/egress/egress_filter.protopkg/gateway/filter/handler/grpc/handler.goexample/client/gateway/filter/README.mdRelated Issue:
Versions:
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.
Please do not merge this PR, unless the target merge branch is updated.
Summary by CodeRabbit
New Features
Documentation