On Tue, Jul 15, 2025 at 9:52 PM Dominik Heilbock <dheilb...@gmx.net.invalid> wrote:
> As of last year, the redis Python client was still fully compatible with > Valkey, has this changed? This would make it even easier. I think they also > forked redis-py Yep. I think that's part of the solution to make the dependency tree for the provider independent of redis-controlled dependencies. Governance, decision making and release process of valley should be separate from redis (the company). That's for me one of the criteria and requirements for having a separate valley provider. Very much like "opensearch" is separate from "elasticsearch". > > Gesendet: Dienstag, den 15.07.2025 um 21:38 Uhr > > Von: "Jarek Potiuk" <ja...@potiuk.com> > > An: dev@airflow.apache.org > > Cc: gha...@amazon.com.invalid > > Betreff: Re: [DISCUSSION] New Provider: Valkey (Redis OSS Fork) > > > > > Can you please explain why it should be a provider managed by Airflow > > rather than on your own? > > > > Just to explain it Elad - and yes, I know I am usually the one that is > > sceptical -> valley is truly community driven replacement for redis > > https://valkey.io/participants/ - you see a lot of well-known community > > recognised entities, and there is no single entity behind it that could > > take "responsibility" - while there are enough stakeholders to make sure > > that it will be maintained here in Airflow community. Also it's a > "drop-in" > > replacement for redis generally - and I do not expect a lot of problems > > when we start with both redis provider and redis celery integration. > > > > I've heard and saw a lot of praise from the community for Valkey being > good > > redis replacement, and - even we at the PMC and devlist discussions > > discussed about the dangers Redis licence creates for that - even now we > > limited Redis support in Helm chart of ours to the "really free" version > > and we discussed that Valkey might be a good way forward - especially if > > someone wants to contribute support for it. so if someone wants to > > contribute to Airflow AND make sure that Redis broker support in Celery > is > > covered - I am all for it. > > > > > > On Tue, Jul 15, 2025 at 9:37 PM Elad Kalif <elad...@gmail.com> wrote: > > > > > > * Helm Chart support to run valley as Celery Broker instead of Redis > > > > > > Oh yes! didn't consider its usage as a broker but is it related to the > > > provider package? > > > Amazon SQS can be used as broker but it's not related to the SQS > > > integrations in the Airflow amazon provider (hook,operator,sensor) > > > I also don't see ValKey listed as option for brokers in > > > > > > > https://docs.celeryq.dev/en/latest/getting-started/backends-and-brokers/index.html#broker-overview > > > > > > On Tue, Jul 15, 2025 at 10:27 PM Jarek Potiuk <ja...@potiuk.com> > wrote: > > > > > > > Yes. Valkey is a good replacement/parallel implementation to Redis. > One > > > > thing however is important - I would see this even more useful if it > also > > > > allows for the Celery Redis replacement for broker - means that it is > > > fully > > > > supported in our: > > > > > > > > * unit tests (of course) > > > > * integration tests with ("valkey") integration - including running > > > > docker-compose integration to run in CI > > > > * Helm Chart support to run valley as Celery Broker instead of Redis > > > > > > > > I think I'd only consider valley as "successful" provider > integration if > > > > all that above is completed. > > > > > > > > J. > > > > > > > > On Tue, Jul 15, 2025 at 9:03 PM Ghaeli, Sean > <gha...@amazon.com.invalid> > > > > wrote: > > > > > > > > > Hi all, > > > > > > > > > > > > > > > > > > > > I’d like to propose the addition of a new provider to support > Valkey< > > > > > https://valkey.io/>: a fully open-source, community-governed fork > of > > > > > Redis 7.2, now maintained under the Linux Foundation. > > > > > > > > > > > > > > > > > > > > Valkey has been gaining traction recently, in part due to changes > by > > > > Redis > > > > > moving their license to one unrecognized by the Open Source > Initiative. > > > > > Valkey represents a future-proof alternative. The proposed provider > > > would > > > > > closely mirror the existing Redis provider in functionality and > serve > > > as > > > > a > > > > > drop-in, OSS-aligned option for workflows that depend on key-value > > > > storage, > > > > > pub/sub, or caching patterns. > > > > > > > > > > > > > > > > > > > > Tentatively, here are the components I plan on implementing > (mirroring > > > > the > > > > > Redis provider): > > > > > > > > > > > > > > > > > > > > * ValkeyHook – Manage connections and interactions with the > Valkey > > > > > server, enabling reuse across operators and sensors. > > > > > * ValkeyPublishOperator – Allows tasks to publish messages to > > > Valkey > > > > > pub/sub channels, useful for event-driven workflows or inter-task > > > > signaling. > > > > > * ValkeyKeySensor – Waits for a specific key to exist or reach > a > > > > > value, supporting synchronization patterns where one task's output > > > > controls > > > > > downstream logic. > > > > > * ValkeyPubSubSensor – Subscribes to a Valkey channel and > triggers > > > on > > > > > incoming messages, enabling real-time DAG triggering. > > > > > > > > > > > > > > > > > > > > Here's an example of how we could use the components to publish a > > > message > > > > > and then trigger a DAG: > > > > > > > > > > > > > > > > > > > > ` > > > > > > > > > > publish_message = ValkeyPublishOperator( > > > > > > > > > > task_id="publish_ready_signal", > > > > > > > > > > channel="processing_status", > > > > > > > > > > message="READY", > > > > > > > > > > valkey_conn_id="valkey_default", > > > > > > > > > > ) > > > > > > > > > > ` > > > > > > > > > > > > > > > > > > > > This task publishes the message "READY" to the processing_status > > > channel > > > > > on a Valkey server. Other processes listening to this channel will > > > > receive > > > > > the message and proceed with their execution. > > > > > > > > > > > > > > > > > > > > ` > > > > > > > > > > wait_for_ready = ValkeyPubSubSensor( > > > > > > > > > > task_id="wait_for_ready_message", > > > > > > > > > > channel="processing_status", > > > > > > > > > > valkey_conn_id="valkey_default", > > > > > > > > > > timeout=600, > > > > > > > > > > ) > > > > > > > > > > ` > > > > > > > > > > > > > > > > > > > > Here, a sensor waits for the message on the same channel before > > > > > continuing. Once the message is received, the DAG can continue with > > > > further > > > > > tasks—such as triggering another DAG—in an event-driven manner. > > > > > > > > > > > > > > > > > > > > Given the community's interest in event-driven scheduling (AIP 82< > > > > > https://github.com/apache/airflow/issues/52712>) as well as > concerns > > > > > about limited provider optionality (PR #52712< > > > > > https://github.com/apache/airflow/issues/52712>), a Valkey > provider > > > > would > > > > > expand user choice. > > > > > > > > > > > > > > > > > > > > I’d be happy to begin working on the initial PR and documentation. > > > > > > > > > > > > > > > > > > > > Looking forward to feedback. > > > > > > > > > > Sean > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org > For additional commands, e-mail: dev-h...@airflow.apache.org > >