Thank you ver much Wes for your feed back, it confirms what I was stating. In my context, I'm a bit afraid of what could happen after an automatic update or … whatever.
I gave a test full upgrading to debian 13. Redis packages from this distribution updated to 8.0.2-3+deb13u1. What I read here below is that in Redis version 8+, Redisearch is no more a module and is integral to Redis. https://github.com/RediSearch/RediSearch https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisos-8.0-release-notes/ I might have misunderstood something but, when restarting the cas webapp 7.3.3, redisModulesOptions is still looking for modules support : Error creating bean with name 'redisModulesOperations' defined in class path resource [org/apereo/cas/config/CasRedisTicketRegistryAutoConfiguration$RedisTicketRegistryModulesConfiguration.class]: Failed to instantiate [org.apereo.cas.redis.core.RedisModulesOperations]: Factory method 'redisModulesOperations' threw exception with message: Redis server does not support Redis Modules I'd really like to know how much this searching functionnality would improve performances or that it just could be bypassed ? Le jeudi 22 janvier 2026 à 18:30:21 UTC+1, Wes Conley a écrit : > Given my config earlier in this thread, if redis is down on the node > configured in these properties then CAS will not restart. When I bring > redis back up, CAS will start even though sentinel has failed over master > to another node. So it doesn't seem that those properties have to match > what is current master, but it must be up. > > cas.ticket.registry.redis.host="1.2.3.4" > cas.ticket.registry.redis.password="redacted" > cas.ticket.registry.redis.port="6380" > > On Friday, January 16, 2026 at 10:12:18 AM UTC-5 Frédéric Dussurget wrote: > > Hi Wes, thank you for your response. In my case also, when the cas webapp > is running, the ticket registry remains functional. But if > redis-stack-server is down on one node, I cannot restart cas on this node > (tomcat webapp in my case), it just crashes ... because it's trying to > reach redis only on this node. Could you test to reproduce this behavior > sometime on your side ? > (With redis.enable-redis-search= false, in the exact same context, the > webapp is able to restart) > > Many thanks ! > > Le jeudi 15 janvier 2026 à 20:52:31 UTC+1, Wes Conley a écrit : > > Yes, here's my sentinel config. I've confirmed the ticket registry remains > functional when the master node changes (in this case 1.2.3.4 goes down). I > have not tested what happens when the master node is different than 1.2.3.4 > on startup, but generally speaking 1.2.3.4 remains master. > > cas.ticket.registry.redis.host="1.2.3.4" > cas.ticket.registry.redis.password="redacted" > cas.ticket.registry.redis.port="6380" > > cas.ticket.registry.redis.sentinel.master="redis-casdev" > cas.ticket.registry.redis.sentinel.node[0]="1.2.3.5:26380" > cas.ticket.registry.redis.sentinel.node[1]="1.2.3.4:26380" > cas.ticket.registry.redis.sentinel.node[2]="1.2.3.6:26380" > > On Wednesday, January 14, 2026 at 11:45:03 AM UTC-5 Frédéric Dussurget > wrote: > > Hi Prakash, > I went a little further, below here is what I've done. My context is redis > + redis sentinel nodes. > > First, I did a dist upgrade from debian 11 to 12 > Having read Wes comment, I used the Following apt source list to upgrade > redis from 6.x to 7.4.0-v8 (have a look with "apt policy redis"): > deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] > https://packages.redis.io/deb bullseye main (yes I know it is bullseye on > a bookworm …) > > I replaced distrib packages redis-server and redis-sentinel to > redis-stack-server which handles redis server and sentinel. I created new > services using old /etc/redis/redis.conf and /etc/redis/sentinel.conf with > the same binary /opt/redis-stack/bin/redis-stack-server. > > I updated /etc/redis/redis.conf with the new redisearch module path, as > said Wes : > loadmodule /opt/redis-stack/lib/redisearch.so > > Then I eventually stopped and disabled the old ones then enabled and > activated the new ones > > this done, the bundled redisearch module changed from v1.2.0 > (redisearch.so from deb 11 distrib) to to v2.xx : > > 127.0.0.1:6379> MODULE LIST > 1) 1) "name" > 2) "search" > 3) "ver" > 4) (integer) 21020 > 5) "path" > 6) "/opt/redis-stack/lib/redisearch.so" > 7) "args" > 8) (empty array) > > For info, with redis packages from debian 11 I had this redisearch version > : > 4) (integer) 10200 > > > Then I edit acl on my user on every nodes and thru sentinel connecting on > port 26379, I Added the &* so that my user can subscribe to the "channels" > pub/sub : > 127.0.0.1:6379>ACL SETUSER myuser on nopass ~* &* +@all > 127.0.0.1:6379> acl list > 1) "user myuser on sanitize-payload #a9a9a9a9b8b8b8b8c7c7c7blahblah ~* &* > +@all" > > I finally turned redis.enable-redis-search to true and … it's finally > working. > > But I've got a new issue : this parameter does not look to support > sentinel : when I stop my redis server service on node 1, redisearch looks > for localhost and does not use sentinel backup on the other nodes, in the > logs I have : Caused by: > io.netty.channel.AbstractChannel$AnnotatedConnectException: > finishConnect(..) failed: Connection refused: localhost/127.0.0.1:6379 > and cas won't start if I restart the tomcat service. > When my redis-stack-service is stopped on node 1 and > redis.enable-redis-search set to false, sentinel works perfectly and cas > talks to redis servers running on the other nodes. So, for now, I cannot > set this parameter to "true". > > If you do not use sentinel, this might be ok for you ... > > I might have forgotten Something somewhere … ? Is it worth giving a try on > debian 13 trixie with redis 8+ ? > > To Wes, are you using sentinel nodes ? > > Regards, > > Le mardi 13 janvier 2026 à 07:23:10 UTC+1, Prakash Thapa a écrit : > > Thank You all for responses. > > Olivier, > Turning off the redis-search worked fine for me as well and I have used > same configuration. However, this might not be a actual solution. > > > Wes, > I am not sure whether it is compatibility issue. I tried with local Redis > and the AWS Elasticache. The issue seems to be on build/beans > initialization itself rather than while making connection. > On Tuesday, January 13, 2026 at 4:07:12 AM UTC+5:45 Wes Conley wrote: > > It may be that your redis server doesn't support redis search. I'm > successfully using redis-stack-server:7.2.0-v18 ( > https://hub.docker.com/r/redis/redis-stack-server) > with cas.ticket.registry.redis.enable-redis-search=true. In my redis.conf I > load the redis search library. > > loadmodule /opt/redis-stack/lib/redisearch.so. > > On Monday, January 12, 2026 at 11:56:21 AM UTC-5 Olivier wrote: > > Hi Prakash, > > I had the same issue when upgrading CAS from 6.6 to 7.3 with AWS > Elasticache Redis. > This has been solved by adding the following property: > cas.ticket.registry.redis.enable-redis-search=false > I’m not sure if there is a better solution but it worked for me, although > I have not performed any performance test yet, so, I’m not yet sure if > there will be any performance impact. > > Thanks. > Olivier Begon. > Florida State University. > > On Friday, January 9, 2026 at 7:38:17 AM UTC-5 Prakash Thapa wrote: > > I am trying to integrate Redis Ticket Registry for CAS 7.2.4. And I ran > into following error while running my CAS > > *Caused by: org.springframework.beans.factory.BeanCreationException: Error > creating bean with name 'redisModulesOperations' defined in class path > resource > [org/apereo/cas/config/CasRedisTicketRegistryAutoConfiguration$RedisTicketRegistryModulesConfiguration.class]: > > Failed to instantiate [org.apereo.cas.redis.core.RedisModulesOperations]: > Factory method 'redisModulesOperations' threw exception with message: Redis > server does not support Redis Modules* > > The issue seem to arise from following block of code of class > 'CasRedisTicketRegistryAutoConfiguration': > > val operations = redisModulesOperations.stream().filter(BeanSupplier:: > isNotProxy).findFirst(); > return new RedisTicketRegistry(cipher, ticketSerializationManager, > ticketCatalog, applicationContext, > casRedisTemplates, redisTicketRegistryCache, > redisTicketRegistryMessagePublisher, > operations, redisKeyGeneratorFactory, adapter, casProperties); > > The config is: > > cas: > ticket: > registry: > redis: > # Redis server host > host: "localhost" > port: 6379 > password: "your-redis-password" > database: 0 > enabled: true > crypto: > enabled: true > encryption: > key: "YourEncryptionKeyMustBeAtLeast256Bits" > signing: > key: "YourSigningKeyMustBeAtLeast256Bits" > > I have added following dependencies: > implementation("org.apereo.cas:cas-server-support-redis-ticket-registry:${ > project.'cas.version'}") > implementation("org.apereo.cas:cas-server-support-redis-modules:${project. > 'cas.version'}") > > -- - Website: https://apereo.github.io/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/f32ecaa8-5cbb-4942-aa9e-fc69e0fb11bfn%40apereo.org.
