I can't tell for sure, but the stacktrace looks like your AbstractRedisProcessor is making a direct call to RedisUtils to create a connection, rather than using the RedisConnectionPool to obtain a connection.
On Mon, Mar 26, 2018 at 11:38 AM, Bryan Bende <bbe...@gmail.com> wrote: > Can you share the code for your AbstractRedisProcessor? > > > On Mon, Mar 26, 2018 at 9:52 AM, Mike Thomsen <mikerthom...@gmail.com> wrote: >> Over the weekend I started playing around with a new processor called >> PutRedisHash based on a request from the user list. I set up a really >> simple IT and hit a problem pretty quickly. This passes validation: >> >> @Test >> public void testStandalone() throws Exception { >> final String attrName = "key.name"; >> final String attrValue = "simple_test"; >> RedisConnectionPool connectionPool = new RedisConnectionPoolService(); >> TestRunner runner = TestRunners.newTestRunner(PutRedisHash.class); >> >> runner.addControllerService("connPool", connectionPool); >> runner.setProperty(connectionPool, RedisUtils.CONNECTION_STRING, >> "localhost:6379"); >> runner.enableControllerService(connectionPool); >> runner.setProperty(PutRedisHash.REDIS_CONNECTION_POOL, "connPool"); >> runner.setProperty(PutRedisHash.NAME_ATTRIBUTE, attrName); >> runner.assertValid(); >> } >> >> As soon as I enqueue some data and call run(), I see the following >> exception get thrown in the processor. I checked the Connection String >> property, and it is marked as supporting EL and does call >> evaluationExpressionLanguage in the RedisUtils.createConnectionFactory >> method. >> >> java.lang.IllegalStateException: Attempting to Evaluate Expressions but >> PropertyDescriptor[Connection String] indicates that the Expression >> Language is not supported. If you realize that this is the case and do not >> want this error to occur, it can be disabled by calling >> TestRunner.setValidateExpressionUsage(false) >> at >> org.apache.nifi.util.MockPropertyValue.markEvaluated(MockPropertyValue.java:133) >> at >> org.apache.nifi.util.MockPropertyValue.evaluateAttributeExpressions(MockPropertyValue.java:183) >> at >> org.apache.nifi.util.MockPropertyValue.evaluateAttributeExpressions(MockPropertyValue.java:177) >> at >> org.apache.nifi.util.MockPropertyValue.evaluateAttributeExpressions(MockPropertyValue.java:142) >> at >> org.apache.nifi.redis.util.RedisUtils.createConnectionFactory(RedisUtils.java:260) >> at >> org.apache.nifi.processors.redis.AbstractRedisProcessor.getRedis(AbstractRedisProcessor.java:41) >> at >> org.apache.nifi.processors.redis.AbstractRedisProcessor.withConnection(AbstractRedisProcessor.java:50) >> at >> org.apache.nifi.processors.redis.PutRedisHash.onTrigger(PutRedisHash.java:162) >> at >> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) >> at >> org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:251) >> at >> org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:245) >> at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) >> at java.util.concurrent.FutureTask.run(FutureTask.java) >> at >> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) >> at >> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >> at java.lang.Thread.run(Thread.java:748) >> >> Any ideas?