Skip to content

DOC-5378 reactive JSON doc examples#3432

Open
andy-stark-redis wants to merge 225 commits intoredis:mainfrom
andy-stark-redis:DOC-5378-reactive-json-examples
Open

DOC-5378 reactive JSON doc examples#3432
andy-stark-redis wants to merge 225 commits intoredis:mainfrom
andy-stark-redis:DOC-5378-reactive-json-examples

Conversation

@andy-stark-redis
Copy link
Copy Markdown
Contributor

@andy-stark-redis andy-stark-redis commented Sep 3, 2025

Make sure that:

  • You have read the contribution guidelines.
  • You applied code formatting rules using the mvn formatter:format target. Don’t submit any formatting related changes.
  • You submit test cases (unit or integration tests) that back your changes.

DOC-5378

Reactive examples for the main JSON data type page and the Path sub-page.

All suggestions about style, etc, are welcome, but a couple of things to note are:

  • I'm following Tisho's comment on the corresponding async JSON PR that it's OK to use toString() results in tests to simplify them, even though it's not good practice generally to rely on toString() being consistent.
  • There are some places in the code where a System.out::println method reference works naturally. However, there are other places in the published example where the only code visible in a doOnNext() call is a lambda of the form r -> {System.out.println(r);}. This looks like it could be replaced by the same method reference. However, it actually happens because there are also asserts in a REMOVE_START/REMOVE_END block in the lambda after the println call. It works fine, but if you think it looks like bad style to have this mix of method references and equivalent lambdas, then I'll see what I can do to fix it.

uglide and others added 30 commits August 1, 2025 10:11
* Add support for 8.2 stream commands

- Add support for XDELEX and XACKDEL
- Extend XADD and XTRIM to support trimming policy

* Add @SInCE tags

* Update NodeSelection API

* Add StreamEntryDeletionResult.UNKNOWN to avoid throwing exceptions

* Clean up RedisCommandBuilder

- Remove redundant code blocks
- Use CommandKeyword for IDS
- Add unit tests

* Fix broken test
* test: remove redundant assertions and clarify time-related values with constants

* test: remove redundant assertions and clarify time-related values with constants

* test: remove redundant assertions and clarify time-related values with constants
* RediSearch support (part 1 of 3) (redis#3325)

* Revert "Revert "Add support for FT.CREATE redis#2717 (redis#3150)" (redis#3160)" (redis#3161)

This reverts commit 319e315.

* Add support for FT.DROPINDEX redis#2722 (redis#3164)

* Add support for FT.DROPINDEX redis#2722

* Polishing

* FT.SEARCH added

Vibe code the FT.SEARCH command
Pulled latest from the integration branch

Fixed a lot of the hallucinations

RESP2 parser improvements

JSON Indexing tests

Add some advanced use-cases

Fixed all integration tests

Fixed schema fields, added vector tests, but they are all failing

Fixed vector search tests

Improve coverage of integration and unit tests

One unit test fails

* API cleanup, added Kotlin implementation

* Implement the FT.AGGREGATE command

Fixing the integration tests for FT.AGGREGATE

Polishing 1/3

Add more documentation ot the AggregateArgs

* Implement the FT.CURSOR command

Add Integration tests for the FT.CURSOR

Add RESP2 tests for all aggragation integration tests

* FT.AGGREGATE was never working in the first place, now it is working, but for RESP3 only

* Fixing unit tests (part1)
Fixing unit tests (part2)
Fixing unit tests (part3)

* Polishing (part 1)

* RediSearch support (part 2 of 3) (redis#3360)

Introducing the FT.ALTER

Introducing the FT.ALIASADD, FT.ALIASUPDATE, FT.ALIASDEL

Introducing the FT.TAGVALS

* RediSearch support (part 3 of 3) (redis#3364)

* Introducing the FT.SUGADD FT.SUGDEL FT.SUGGET and FT.SUGLEN

* Introducing the FT.DICTADD, FT.DICTDEL, FT.DICTDUMP

* Introducing the FT.SPELLCHECK

* Introducing the FT.SPELLCHECK (polishing)

* Introducing the FT.EXPLAIN, FT.SYNUPDATE, FT.SYNDUMP, FT._LIST

* Introducing the FT.PROFILE

Polishing 1

Polishing 1

* Polishing 2

* Removing the FT.PROFILE command entirely

* Polishing 3

* Polishing 4

* RediSearch with Lettuce - final fixes (redis#3371)

* Fix wrong aggregation arguments order
Docs part (to squash later)
Modified CreateArgs and SearchArgs
Address review comments 1/many
Addressed review comment by Igor, more polishing

* Cluster tests

* Extend wordlist

* Extend wordlist 2

* Avoid NPE when empty result received

* Avoid NPE when empty result received 2

* Disable cluster tests for 7.2 and 7.4
* Provide support for the SVS-VMANA index

* Enable VAMANA tests for Redis 8.2+
* reuse-objectmapper-defaultjsonparser

Refactor DefaultJsonParser to use a single static ObjectMapper instance instead of creating new instances for each method call, improving performance and memory usage.

* Allow injection of custom ObjectMapper in DefaultJsonParser

* Add JavaDoc

---------

Co-authored-by: Tihomir Mateev <tihomir.mateev@gmail.com>
* Releasing 6.8.0.RELEASE

* Expanding the evergrowing wordlist

* Expanding the evergrowing wordlist 2
…re (redis#3328) (redis#3346)

* chore: remove deprecated ClientOptions#cancelCommandsOnReconnectFailure
- removed the option from ClientOptions and ClusterClientOptions and related builders
- removed usages from integration tests and unit tests
- removed usage from ReconnectionHandler and DefaultEndpoint

Signed-off-by: The-East-Wind <hariatul1998@gmail.com>

* Also remove the documentation on the cancelCommandsOnReconnectFailure option

---------

Signed-off-by: The-East-Wind <hariatul1998@gmail.com>
Co-authored-by: Tihomir Mateev <tihomir.mateev@gmail.com>
…dis#3328) (redis#3344)

* chore: remove deprecated AbstractRedisClient#getDefaultTimeout
- remove usages from RedisClient and replaced with timeout value from redisUri
- fixed failing tests in RedisClientConnectIntegrationTests by asserting timeout to be equal to default timeout from RedisURI
- refactored DefaultRedisClient test fixture to not set timeout

Signed-off-by: The-East-Wind <hariatul1998@gmail.com>

* chore: remove deprecated default timeout from AbstractRedisClient
- refactor AtLeastOnce and AtMostOnce IntegrationTests to remove setting timeout on the client level and instead set it in the URI level
- removed default timeout and usages which set it from AbstractRedisClient, RedisClient and RedisClusterClient

Signed-off-by: The-East-Wind <hariatul1998@gmail.com>

* docs: update relevant documentation to remove usage of RedisClient#setDefaultTimeout

Signed-off-by: The-East-Wind <hariatul1998@gmail.com>

---------

Signed-off-by: The-East-Wind <hariatul1998@gmail.com>
* Remove deprecated withPassword(String) method

* Completely remove all deprecated logic in the RedisURI class

---------

Co-authored-by: Tihomir Mateev <tihomir.mateev@gmail.com>
* Enable adaptive refresh by default redis#3249

* Added @SInCE

* Fix integration test [incomplete]

* Add also fix to issue 3250

* Change default to 5 seconds

* Remove unnecessary new line
…edis#3279)

* Using non-native transports with SocketOptions should cause an error

* Add LettuceAssert.assertState

Revert previous implement
* Bump kotlin.version from 1.7.21 to 1.9.25

Bumps `kotlin.version` from 1.7.21 to 1.9.25.

Updates `org.jetbrains.kotlin:kotlin-bom` from 1.7.21 to 1.9.25
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.25/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.7.21...v1.9.25)

Updates `org.jetbrains.kotlin:kotlin-maven-plugin` from 1.7.21 to 1.9.25

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Minimum language and api level is now 1.4

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tihomir Mateev <tihomir.mateev@gmail.com>
…edis#3266)

- Changed constructor to private to prevent instantiation
* Update redis-search.md dialect_2=> dialect2, CreateArgs.TargetType.HASH instead of IndexDataType.HASH

* Polishing + added some more information on query dialects

---------

Co-authored-by: Tihomir Mateev <tihomir.mateev@gmail.com>
github-action-benchmark and others added 29 commits January 3, 2026 02:00
Bumps the maven group with 2 updates: org.apache.commons:commons-lang3 and [io.projectreactor.netty:reactor-netty-http](https://github.com/reactor/reactor-netty).


Updates `org.apache.commons:commons-lang3` from 3.13.0 to 3.18.0

Updates `io.projectreactor.netty:reactor-netty-http` from 1.1.16 to 1.2.8
- [Release notes](https://github.com/reactor/reactor-netty/releases)
- [Commits](reactor/reactor-netty@v1.1.16...v1.2.8)

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-version: 3.18.0
  dependency-type: direct:development
  dependency-group: maven
- dependency-name: io.projectreactor.netty:reactor-netty-http
  dependency-version: 1.2.8
  dependency-type: direct:development
  dependency-group: maven
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add int vector types

* Skip tests on older versions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.