Issues
- RedisLock not returning connections to the poolLRE-62Jon Clausen
- Redirecting ram:// via cacheDefaultResource not working as expectedLRE-61Jon Clausen
- Connecting to Elasticache RedisLRE-60
- Cluster Cache OptimizationsLRE-59Jon Clausen
- Add Distributed Locking CapabilitiesLRE-58Resolved issue: LRE-58Jon Clausen
- Cluster cache commands was not closing the jedis pool on some operationsLRE-57Resolved issue: LRE-57
- Error when editing connection in Lucee AdministratorLRE-56
- Add username support for RedisCacheLRE-55Resolved issue: LRE-55Jon Clausen
- Add support for SSL and username to Cluster CacheLRE-54Resolved issue: LRE-54Jon Clausen
- Remove old provider directories. They are no longer in useLRE-53Resolved issue: LRE-53
- Add support for cluster passwords, readTimeout, max connections in connection information for the cluster connectionsLRE-52Resolved issue: LRE-52
- Remove provider copies as it is now not usedLRE-51Resolved issue: LRE-51
- adds the ability to specify an array of hosts and ports on connectionsLRE-50Resolved issue: LRE-50
- fixes null pointer exceptions on ClusterCache connectionLRE-49Resolved issue: LRE-49
- Update Jedis VersionLRE-48Resolved issue: LRE-48Jon Clausen
- Error verifiying if key existsLRE-47Resolved issue: LRE-47
- Implement native redis convention based namespaces via colon separatorsLRE-46
- Uppercase letters in keyprefix setting causes problemsLRE-45
- Allow Environment Variable Support for License InfoLRE-44Resolved issue: LRE-44
- Remove of java dependencies from repo and delegate to gradleLRE-43Resolved issue: LRE-43
- Hibernate secondary cache supportLRE-42
- Ability to choose which database to connect to in Redis, apart from 0 being the defaultLRE-41Resolved issue: LRE-41
- Migration of docs to gitbookLRE-40Resolved issue: LRE-40
- New redisSubscribe() so you can subscribe with closures/lambdas or CFCs to listen to Redis messagesLRE-39Resolved issue: LRE-39Luis Majano
- New redisPublish() UDF so you can publish messages into the Redis clusterLRE-38Resolved issue: LRE-38
- New UDF redisGetClusterNodes() to get a map of cluster node objectsLRE-37Resolved issue: LRE-37
- Redis Cluster protocol support (RedisCluster, Sentinel, AWS, DigitalOcean)LRE-36Resolved issue: LRE-36
- cache filters for getting entries was not workingLRE-35Resolved issue: LRE-35
- pattern subscriptions and messagesLRE-34
- Redis publish and subscribe featuresLRE-33Resolved issue: LRE-33
- getting all values/entries was not passing a built key, so return struct was always nullLRE-32Resolved issue: LRE-32
- New native cfml function: redisGetCluster() to get access to the native redis cluster managerLRE-31Resolved issue: LRE-31
- Improve all exception handling to show exception messagesLRE-30Resolved issue: LRE-30
- Creation of a base class to share between cache implementationsLRE-29Resolved issue: LRE-29
- Add docker redis cluster supportLRE-28Resolved issue: LRE-28
- Update Jedis to 2.9.3LRE-27Resolved issue: LRE-27
- Document how to connect to different logical databases within Redis (0-16)LRE-26Resolved issue: LRE-26
- Allow for a new setting to allow for case-sensitive mode instead of case-insensitive mode (default)LRE-25Resolved issue: LRE-25
- Error on Redis Connection after upgrade to lucee redis ext 1.4.0LRE-24Resolved issue: LRE-24
- LicenseHelper not validating all editions of similar product skusLRE-23Resolved issue: LRE-23
- Hash session identifiers to avoid compromised database lookups of all session identifiersLRE-21
- Coverted all `valueList()` and `entryLIst()` to leverage parallel streams for performanceLRE-20Resolved issue: LRE-20
- Converted all connection pool access to try's with resources for auto-closing and better code visibilityLRE-19Resolved issue: LRE-19
- Added more context when exceptions happen to the error messagesLRE-18Resolved issue: LRE-18
- Added `RuntTimeExceptions and IOExceptions` whenever a Redis connection cannot be made to improve errorsLRE-17Resolved issue: LRE-17
- Added a `getConnectionKeys()` in the `RedisConnection` class to see which caches are configured and howLRE-16Resolved issue: LRE-16
- Added all members of the `RedisConnection` class to be public/static so they can be inspected and reusedLRE-15Resolved issue: LRE-15
- Compat with LUcee 5.29> for default valuesLRE-14Resolved issue: LRE-14Luis Majano
- Add the LuceeAppender log 4j bridgeLRE-13Resolved issue: LRE-13
- Throw runtime exceptions on connection issues.LRE-12Resolved issue: LRE-12
50 of 61
RedisLock not returning connections to the pool
Description
Environment
None
Pinned fields
Click on the next to a field label to start pinning.
Details
Assignee
Jon ClausenJon ClausenReporter
Dean MaunderDean MaunderPriority
Major
Details
Details
Assignee
Jon Clausen
Jon ClausenReporter
Dean Maunder
Dean MaunderPriority
Sentry
Sentry
Sentry
Created December 1, 2024 at 10:04 PM
Updated December 2, 2024 at 9:17 AM
Activity
Show:
When using the redisLock to create a distributed lock, new connections are created every time the lock is hit, eventually hitting maxConnections and throwing an error
To reproduce, set maxConnections to a small number, then create a page with redisLock, hit the page more than maxConnections and you will get a stack trace
lucee.runtime.exp.NativeException: Could not get a resource from the pool at redis.clients.jedis.util.Pool.getResource(Pool.java:42) at redis.clients.jedis.JedisPool.getResource(JedisPool.java:378) at ortus.extension.cache.redis.lock.DistributedLock.doStartTag(DistributedLock.java:163) at dean_cfm$cf.__luceedebug__call(/app/www/dean.cfm:8)