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?

Reply via email to