-
Notifications
You must be signed in to change notification settings - Fork 228
feat: add redis pubsub support to EDFS #1810
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
175 commits
Select commit
Hold shift + click to select a range
d1ae694
chore: initial and incomplete refactor
alepane21 bca3e2b
feat(pubsub): refactor pubsub handling and add Kafka/NATS support
alepane21 d72f8c8
Merge branch 'refs/heads/main' into ale/eng-6482-edfs-refactor-kafka-…
alepane21 5df3613
feat(plan-generator): add logger to router initialization
alepane21 efaa122
refactor(pubsub): nats is now working
alepane21 23eb5bb
test(kafka): fix mutation kafka test
alepane21 b0660d9
chore: initial refactor to reduce code needed to start new provider
alepane21 163aa5b
refactor(pubsub): implement lazy connection handling for NATS and Kaf…
alepane21 1ccf0c7
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 9dd59b2
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 33603e8
refactor(pubsub): remove unused variables and comments in datasource …
alepane21 ebab2e3
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 a473fdd
make it works with different providers in the same datasource
alepane21 fa7e378
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 e6645c8
chore: cleaning up a little, reintroduced host and listener vars
alepane21 5e900cb
feat: introduce InstanceData struct for improved configuration manage…
alepane21 3b9ac24
chore: improved naming, simplify code
alepane21 51f1343
chore: remove unused pub/sub configuration code
alepane21 60c9b4b
chore: remove unused field
alepane21 4017c9f
chore: remove registry
alepane21 cbd58e0
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 e76ceb3
fix: improve error message in Kafka provider
alepane21 47e83bd
chore: remove commented error handling code in Planner.ConfigureFetch
alepane21 546be70
chore: add adapter interfaces and tests
alepane21 3a023e2
chore: add github.com/stretchr/objx v0.5.2 dependency
alepane21 2a96355
chore: remove unused bytesBuffer helper from Kafka pubsub tests
alepane21 04e425e
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 fe2f388
chore: add tests
alepane21 d4ed48a
chore: cleaned a bit the implementation, add a README to make it easi…
alepane21 592cbb6
feat: implement PubSub provider startup and shutdown on graphServer
alepane21 c2bb1cb
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 bb77254
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 8295c26
refactor: update Kafka and NATS adapters to use direct client connect…
alepane21 0a6e8a0
refactor: enhance NATS adapter with flush timeout and update test exp…
alepane21 3aeba04
test: log unexpected errors during WebSocket message read in tests
alepane21 5096734
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 f5e8e90
feat: add custom JSON unmarshalling for WebSocketMessage to improve e…
alepane21 ad96e3d
refactor: replace custom JSON unmarshalling in WebSocketMessage with …
alepane21 85adb37
fix: adapter base interface
alepane21 c571d9a
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 1bb2dfd
docs: update README for PubSub Provider usage section
alepane21 389d330
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 a1e3cb8
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 bb4e0a1
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 43977a0
refactor: remove unused EnginePubSubProviders struct and related impo…
alepane21 13f8d33
refactor: update MoodHandler and NewSchema to include GetPubSubName p…
alepane21 5f95739
refactor: enhance NATS publishing logic in UpdateMood resolver to han…
alepane21 5886403
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 01e12bc
chore: pass up providers instead of passing down a callback, small fixes
alepane21 b5c7357
fix: rename NatParams to NatsParams for consistency in pubsub.go
alepane21 8eb72eb
refactor: replace datasource package with pubsubtest for common PubSu…
alepane21 3148ce3
docs: enhance PubSubDataSource interface documentation with detailed …
alepane21 02c0a45
fix: improve pubsub provider startup and shutdown processes with time…
alepane21 711c37d
feat: add tests for Kafka and NATS startup/shutdown behavior with inc…
alepane21 25e15aa
refactor: extract JSON reading and checking logic into a reusable fun…
alepane21 1874521
refactor: move ReadAndCheckJSON function to improve code organization…
alepane21 8b7fbb1
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 92b91d7
refactor: remove outdated comment regarding Kafka client connection b…
alepane21 802659a
refactor: rename datasource import to pubsub_datasource for clarity i…
alepane21 86fada3
fix: instanceData not set in the structure
alepane21 ee87b59
refactor: streamline pubsub provider startup and shutdown with unifie…
alepane21 afe6ac6
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 39517e8
fix: replace timeout error formatting with errors.New for consistency…
alepane21 914f21c
refactor: update ExecutorConfigurationBuilder and Loader to return Pu…
alepane21 ddb437d
refactor: update BuildEventDataBytes to use operation from ast.Docume…
alepane21 0205b27
refactor: enhance PubSub provider structure by consolidating data sou…
alepane21 158313e
fix: change tests to use EventConfiguration istead of EventConfigurat…
alepane21 48f305f
Merge branch 'main' into ale/eng-6482-edfs-refactor-filtered-datasources
alepane21 73644c8
chore: add PubSubProviderBuilder to allow the filter of datasource me…
alepane21 a24c72b
chore: a datasource per event
alepane21 3d9ef5b
Merge branch 'main' into ale/eng-6482-edfs-refactor-filtered-datasources
alepane21 abdfcfd
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
devsergiy da50cc7
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 f26ded9
Merge remote-tracking branch 'origin/ale/eng-6482-edfs-refactor-kafka…
alepane21 57c3d7f
feat: refactor data source handling and improve provider initialization
alepane21 56217b0
refactor: simplify BuildProvidersAndDataSources function signature an…
alepane21 526dc48
refactor: move EngineEventConfiguration interface to provider.go
alepane21 c3c5889
chore: improved docs
alepane21 a898da3
refactor: reorganize NATS provider structure
alepane21 ffff337
feat: reuse provider in different graphs, streamline pub sub builder
alepane21 765d731
test: add unit tests for BuildProvidersAndDataSources function
alepane21 c5623ca
test: add unit tests for provider
alepane21 839e8b7
docs: update README with detailed PubSub provider implementation steps
alepane21 5e4a9b8
feat: add Redis event configuration and PubSub support
alepane21 0689f07
feat: add EDFS Redis publish and subscribe constants
alepane21 703bb29
chore: generate index.global.js
alepane21 4c4293b
chore: lint
alepane21 5496d7e
chore: rename PublishAndRequestEventConfiguration to PublishEventConf…
alepane21 a150cc1
chore: compile index.global.js
alepane21 0d0912d
feat: add Redis configuration support in schema and fixtures
alepane21 2597f57
chore: fix small typo
alepane21 7b89736
Merge branch 'ale/eng-6482-edfs-refactor-filtered-datasources' into a…
alepane21 31af4da
test: update base config to include redis operations, update structur…
alepane21 89b29c9
chore: add redis config to demo config
alepane21 4edb873
Merge remote-tracking branch 'origin/ale/eng-6380-support-redis-pubsu…
alepane21 4395be2
feat: update Redis configuration to use the right format in demo conf…
alepane21 2f9c870
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 c84c844
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 8144278
Merge branch 'ale/eng-6482-edfs-refactor-filtered-datasources' into a…
alepane21 b535e9f
refactor: streamline provider and data source construction in PubSub
alepane21 cb6ce98
chore: fix unused field
alepane21 dec7f6d
chore: testenv now don't add empty providers
alepane21 562b96d
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 cfecb90
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 49db63a
refactor: update datasource import to use pubsub_datasource in factor…
alepane21 0d0429c
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 0e3ffe4
feat: add ProviderNotDefinedError and separated logic by provider
alepane21 2e37a40
chore: add a basic provider implementation for common usage and remov…
alepane21 eb8f95e
chore: removed reference to *nodev1.EngineEventConfiguration and *nod…
alepane21 28f489d
chore: remove unused interface
alepane21 72830c9
chore: move EngineEventConfiguration in a more appropriate package
alepane21 8276186
chore: generate mocks with mockery
alepane21 4764c74
chore: update go.mod and go.sum by removing unused dependencies and a…
alepane21 d5c19d8
chore: avoid duplicated code inside BuildProvidersAndDataSources, res…
alepane21 8f29bf0
chore: add mock implementations for PubSubProvider and PubSubDataSour…
alepane21 0f7fd6f
style: update comment formatting in BuildProvidersAndDataSources func…
alepane21 7000f5a
docs: enhance README for PubSub provider integration and update confi…
alepane21 22503c9
test: rename existing test and add Kafka provider test for BuildProvi…
alepane21 64043e3
Merge branch 'ale/eng-6482-edfs-refactor-filtered-datasources' into a…
alepane21 f7e48bf
chore: update redis implementation
alepane21 4b6e211
chore: restored test "subscribe async with filter"
alepane21 ad15f00
fix: remove unnecessary URLs from Redis event source in tests and cle…
alepane21 ce969a2
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 4cd2d7e
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 156916b
chore: build the datasource when the planner gets int o ConfigureFetc…
alepane21 684a4fc
chore: add test to verify no double transformation happens when the s…
alepane21 b72c7b5
chore: go mod tidy
alepane21 22bf957
test: update PubSub data source tests to use BuildDataSourceFactory a…
alepane21 8f98766
Merge branch 'ale/eng-6482-edfs-refactor-filtered-datasources' into a…
alepane21 0a93736
refactor: add BuildDataSourceFactory to redis implementation
alepane21 dfd3bf9
chore: add tests to Redis pubsub provider
alepane21 aeced3b
chore: reduce parallel things in the matrix
alepane21 963c37d
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 ac59b12
chore: go mod tidy
alepane21 31ae243
chore: use table in the README
alepane21 5dbef22
chore: made changes suggested in PR
alepane21 8a1a036
chore: change adapters names
alepane21 6b50be0
chore: remove BuildDataSourceFactory from ProviderBuilder
alepane21 dc206b5
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 17f4df6
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 0ff66a9
chore: renamed PubSubDataSource -> EngineDataSourceFactory, removed P…
alepane21 e971616
Merge branch 'ale/eng-6482-edfs-refactor-filtered-datasources' into a…
alepane21 3a6875d
chore: port the adapter to new pubsub structure
alepane21 f794a57
chore: read redis tests
alepane21 e6b5c67
chore: explain the MarshalJSONTemplate
alepane21 03f69eb
chore: fix comment
alepane21 fae3a54
Merge branch 'main' into ale/eng-6482-edfs-refactor-filtered-datasources
alepane21 6c43253
Merge branch 'ale/eng-6482-edfs-refactor-filtered-datasources' into a…
alepane21 605fa02
chore: fix redis tests
alepane21 850939b
Merge remote-tracking branch 'origin/main' into ale/eng-6380-support-…
alepane21 76b957d
chore: fix mockery config
alepane21 1348137
chore: go back to basic runner
alepane21 e8ea17b
chore: restore runner ubuntu-latest-xl
alepane21 f3b1e82
chore: change runner to ubuntu-latest-l
alepane21 60e5799
Merge branch 'main' into ale/eng-6380-support-redis-pubsub-in-edfs
alepane21 299d2c4
feat: add redis cluster support
alepane21 1990518
Merge branch 'main' into ale/eng-6380-support-redis-pubsub-in-edfs
alepane21 2cfd1c1
chore: fixed redis adapter behaviour on shutdown and removed nodeev1 …
alepane21 ca51014
Merge branch 'main' into ale/eng-6380-support-redis-pubsub-in-edfs
alepane21 7ac3b92
fix: redis event mapping
alepane21 e2553f3
test: add redis cluster tests
alepane21 ba21786
fix: redis-cluster-configure is launched only after the redis nodes a…
alepane21 aa54cec
Merge branch 'main' into ale/eng-6380-support-redis-pubsub-in-edfs
alepane21 9814f31
test: rewrote test to not use testify.require/assert inside go routin…
alepane21 6cdda9a
Merge remote-tracking branch 'origin/main' into ale/eng-6380-support-…
alepane21 fba9f18
test: remove useless test
alepane21 a2d20f7
Merge remote-tracking branch 'origin/main' into ale/eng-6380-support-…
alepane21 1c80b98
chore: remove redundant code in a test, fixed config descriptions
alepane21 7daeecb
Merge branch 'main' into ale/eng-6380-support-redis-pubsub-in-edfs
alepane21 267a9ae
chore: improve redis-cluster-create reliability
alepane21 0b64e46
chore: fix redis test after last changes to configuration
alepane21 2007f56
chore: fix redis test after merge
alepane21 244e7de
Merge branch 'main' into ale/eng-6380-support-redis-pubsub-in-edfs
alepane21 7a15d0f
chore: don't use normalizeSubgraph
alepane21 74ccdb2
chore: formatting
alepane21 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.