irods / irods_capability_automated_ingest

Other
12 stars 15 forks source link

Bump redis from 2.10.6 to 4.4.4 #192

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 1 year ago

Bumps redis from 2.10.6 to 4.4.4.

Release notes

Sourced from redis's releases.

4.4.4

Changes

Upgrade urgency: SECURITY, contains fixes to security issues.

  • (CVE-2023-28859) - Cancelling an async future does not, properly trigger, leading to a potential data leak in specific cases.
  • (CVE-2023-28858) - Cancelling an async future does not, properly trigger, leading to a potential data leak in specific cases.

🐛 Bug Fixes

  • Fixing cancelled async futures (#2671 )

4.4.3

Changes

Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!

🐛 Bug Fixes

4.4.2

Changes

Note: this release include #2548 and it is suggested that users upgrade immediately.

🧪 Experimental Features

  • Add support for BF.CARD (#2545)

🚀 New Features

  • Add support for custom connection pool class in NodesManager (#2547)

🐛 Bug Fixes

  • Allow replica to master promotion in nodes_cache (#2549)
  • Security Fix: Updating graph parser for potential injection cases (#2548)

Contributors

We'd like to thank all the contributors who worked on this release!

@​Threated, @​dvora-h, @​shacharPash and @​zakaf

4.4.1

Changes

🚀 New Features

  • Add dialect to FT.AGGREGATE (#2537)

... (truncated)

Changelog

Sourced from redis's changelog.

* Allow data to drain from async PythonParser when reading during a disconnect()
* Use asyncio.timeout() instead of async_timeout.timeout() for python >= 3.11 ([#2602](https://github.com/redis/redis-py/issues/2602))
* Add test and fix async HiredisParser when reading during a disconnect() ([#2349](https://github.com/redis/redis-py/issues/2349))
* Use hiredis-py pack_command if available.
* Support `.unlink()` in ClusterPipeline
* Simplify synchronous SocketBuffer state management
* Fix string cleanse in Redis Graph
* Make PythonParser resumable in case of error ([#2510](https://github.com/redis/redis-py/issues/2510))
* Add `timeout=None` in `SentinelConnectionManager.read_response`
* Documentation fix: password protected socket connection ([#2374](https://github.com/redis/redis-py/issues/2374))
* Allow `timeout=None` in `PubSub.get_message()` to wait forever
* add `nowait` flag to `asyncio.Connection.disconnect()`
* Update README.md links
* Fix timezone handling for datetime to unixtime conversions
* Fix start_id type for XAUTOCLAIM
* Remove verbose logging from cluster.py
* Add retry mechanism to async version of Connection
* Compare commands case-insensitively in the asyncio command parser
* Allow negative `retries` for `Retry` class to retry forever
* Add `items` parameter to `hset` signature
* Create codeql-analysis.yml ([#1988](https://github.com/redis/redis-py/issues/1988)). Thanks @chayim
* Add limited support for Lua scripting with RedisCluster
* Implement `.lock()` method on RedisCluster
* Fix cursor returned by SCAN for RedisCluster & change default target to PRIMARIES
* Fix scan_iter for RedisCluster
* Remove verbose logging when initializing ClusterPubSub, ClusterPipeline or RedisCluster
* Fix broken connection writer lock-up for asyncio ([#2065](https://github.com/redis/redis-py/issues/2065))
* Fix auth bug when provided with no username ([#2086](https://github.com/redis/redis-py/issues/2086))
* Fix missing ClusterPipeline._lock ([#2189](https://github.com/redis/redis-py/issues/2189))
* Added dynaminc_startup_nodes configuration to RedisCluster
* Fix reusing the old nodes' connections when cluster topology refresh is being done
* Fix RedisCluster to immediately raise AuthenticationError without a retry
* ClusterPipeline Doesn't Handle ConnectionError for Dead Hosts ([#2225](https://github.com/redis/redis-py/issues/2225))
* Remove compatibility code for old versions of Hiredis, drop Packaging dependency
* The `deprecated` library is no longer a dependency
* Failover handling improvements for RedisCluster and Async RedisCluster ([#2377](https://github.com/redis/redis-py/issues/2377))
* Fixed "cannot pickle '_thread.lock' object" bug ([#2354](https://github.com/redis/redis-py/issues/2354), [#2297](https://github.com/redis/redis-py/issues/2297))
* Added CredentialsProvider class to support password rotation
* Enable Lock for asyncio cluster mode
* Fix Sentinel.execute_command doesn't execute across the entire sentinel cluster bug ([#2458](https://github.com/redis/redis-py/issues/2458))
* Added a replacement for the default cluster node in the event of failure ([#2463](https://github.com/redis/redis-py/issues/2463))
* Fix for Unhandled exception related to self.host with unix socket ([#2496](https://github.com/redis/redis-py/issues/2496))
  • 4.1.3 (Feb 8, 2022)
    • Fix flushdb and flushall (#1926)
    • Add redis5 and redis4 dockers (#1871)
    • Change json.clear test multi to be up to date with redisjson (#1922)
    • Fixing volume for unstable_cluster docker (#1914)
    • Update changes file with changes since 4.0.0-beta2 (#1915)
  • 4.1.2 (Jan 27, 2022)

... (truncated)

Commits


Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/irods/irods_capability_automated_ingest/network/alerts).

Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

rmoreas commented 6 months ago

@alanking could this be merged please? This will also add support for redisjson which we would like to have.

trel commented 6 months ago

We'll get it tested and merged - yes. Thanks.

rmoreas commented 5 months ago

We'll get it tested and merged - yes. Thanks.

Hey @trel, I've tested with redis 4.6.0 and it works as expected. See changes on my fork: https://github.com/irods/irods_capability_automated_ingest/compare/main...rmoreas:irods_capability_automated_ingest:bump-redis-version

rmoreas commented 3 months ago

Could the redis version be bumped? As mentioned above, it has been tested with 4.60.

trel commented 3 months ago

Yes - getting iRODS 4.3.2 out at the moment.

alanking commented 2 months ago

Along with the changes made in https://github.com/irods/irods_capability_automated_ingest/pull/221, I watched all the tests pass with this bump so we can put this in soon.

We still have a conversation in our future regarding the interface changes before a release, though.

trel commented 2 months ago

oh nice - so you're confirming that 4.4.4 worked? 4.6.0 was mentioned above...

let's plan to merge the dependabot first - and then go up from there...

alanking commented 2 months ago

I used the exact changes in this PR (which specifies 4.4.4), but I ran pip freeze in the container while the tests were running and saw 4.6.0 was installed.

trel commented 2 months ago

oh, even better.

alanking commented 2 months ago

Hmm... I tried to do a conflict resolution in GitHub and this is what I got. I'll force-push over it...

alanking commented 2 months ago

Okay, I think I rebased it successfully. For reference, here is the diff from before the rebase:

commit 7ff910dd5048c816d0110c1ce1f22083db1403f5
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Mar 31 14:35:46 2023 +0000

    Bump redis from 2.10.6 to 4.4.4

    Bumps [redis](https://github.com/redis/redis-py) from 2.10.6 to 4.4.4.
    - [Release notes](https://github.com/redis/redis-py/releases)
    - [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
    - [Commits](https://github.com/redis/redis-py/compare/2.10.6...v4.4.4)

    ---
    updated-dependencies:
    - dependency-name: redis
      dependency-type: direct:production
    ...

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

diff --git a/requirements.txt b/requirements.txt
index 8570795..293259b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -19,7 +19,7 @@ python-irodsclient==0.8.1
 python-redis-lock==3.2.0
 python-utils==2.3.0
 pytz==2018.7
-redis==2.10.6
+redis==4.4.4
 scandir==1.9.0
 six==1.12.0
 structlog==18.2.0
diff --git a/setup.py b/setup.py
index 196934a..97141a6 100644
--- a/setup.py
+++ b/setup.py
@@ -44,7 +44,7 @@ setup(
         'flask-restful',
         'python-irodsclient>=1.1.1, <2.0.0',
         'python-redis-lock>=3.2.0',
-        'redis>=3.4.1, <4.0.0',
+        'redis>=3.4.1, <5.0.0',
         'celery[redis]>=5.2.2, <5.3.0',
         'scandir',
         'structlog>=18.1.0',
trel commented 2 months ago

looks good to me. can always tweak it afterwards if needed.

trel commented 2 months ago

looks like once we merge a dependabot PR, it wakes up the bot again... and these will light up / update again.

alanking commented 2 months ago

Okey dokey. Merging...