nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Thomsen <mikerthom...@gmail.com>
Subject Weird issue w/ Redis pool service in an integration test
Date Mon, 26 Mar 2018 13:52:41 GMT
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?

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message