EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB485416: MicroStrategy Platform Analytics Consumer service crashes randomly in MicroStrategy 2020-2021 Update 3


Danfeng Zhan

Principal Product Specialist • Strategy


This article narrates MicroStrategy Platform Analytics Consumer service crashes randomly in MicroStrategy 2021 due to a Redis/Jedis version 2.9.0 bug.

Symptom


Strategy Platform Analytics Consumer service crashes randomly and must manually startup the service. Platform Analytics consumer log sees intermittent connectivity issue with Redis and sometimes without entry of "Shutdown process finished". Based on Redis logs it appears to be up and running.  

Consumer log


Example 1:

2021-07-14 06:01:58,763 ERROR ConsumerProcess$ConsumerRecordsProcessor:329 - Fatal exception occurred when processing records: java.lang.reflect.InvocationTargetException: nullat jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]at com.Strategy.pa.kafka.consumer.main.ConsumerProcess$ConsumerRecordsProcessor.call(ConsumerProcess.java:324) [platform-analytics-consumer.jar:?]at com.Strategy.pa.kafka.consumer.main.ConsumerProcess$ConsumerRecordsProcessor.call(ConsumerProcess.java:234) [platform-analytics-consumer.jar:?]at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]at java.lang.Thread.run(Thread.java:834) [?:?]Caused by: com.Strategy.pa.common.exception.PARedisException: Unable to connect to Redis. Please restart Rediscom.Strategy.pa.cache.RedisCache.verifyRedisConnectionAndCacheStatus(RedisCache.java:515) ~[platform-analytics-core.jar:?]at com.Strategy.pa.cache.RedisCache.isMemberOfSet(RedisCache.java:492) ~[platform-analytics-core.jar:?]at com.Strategy.pa.persistence.dao.impl.EtlRelSourceSubTypeObjectTypeDaoImpl.isSelectedObjectType(EtlRelSourceSubTypeObjectTypeDaoImpl.java:79) ~[platform-analytics-consumer.jar:?]at com.Strategy.pa.etl.ETLForLookupTableFromMd.ETLprocessing(ETLForLookupTableFromMd.java:44) ~[platform-analytics-consumer.jar:?]at com.Strategy.pa.etl.PAETL.processRecords(PAETL.java:216) ~[platform-analytics-consumer.jar:?]... 10 moreCaused by: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolredis.clients.util.Pool.getResource(Pool.java:53) ~[jedis-2.9.0.jar:?]at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226) ~[jedis-2.9.0.jar:?]at com.Strategy.pa.cache.RedisCache.isMemberOfSet(RedisCache.java:488) ~[platform-analytics-core.jar:?]at com.Strategy.pa.persistence.dao.impl.EtlRelSourceSubTypeObjectTypeDaoImpl.isSelectedObjectType(EtlRelSourceSubTypeObjectTypeDaoImpl.java:79) ~[platform-analytics-consumer.jar:?]at com.Strategy.pa.etl.ETLForLookupTableFromMd.ETLprocessing(ETLForLookupTableFromMd.java:44) ~[platform-analytics-consumer.jar:?]at com.Strategy.pa.etl.PAETL.processRecords(PAETL.java:216) ~[platform-analytics-consumer.jar:?]... 10 moreCaused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connectredis.clients.jedis.Connection.connect(Connection.java:207) ~[jedis-2.9.0.jar:?]at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93) ~[jedis-2.9.0.jar:?]at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1767) ~[jedis-2.9.0.jar:?]at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:106) ~[jedis-2.9.0.jar:?]at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868) ~[commons-pool2-2.4.1.jar:2.4.1]at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435) ~[commons-pool2-2.4.1.jar:2.4.1]at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363) ~[commons-pool2-2.4.1.jar:2.4.1]at redis.clients.util.Pool.getResource(Pool.java:49) ~[jedis-2.9.0.jar:?]at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226) ~[jedis-2.9.0.jar:?]at com.Strategy.pa.cache.RedisCache.isMemberOfSet(RedisCache.java:488) ~[platform-analytics-core.jar:?]at

Example 2:
2021-10-22` 21:07:02,930 ERROR ScheduledETLProcess:151
-
Cache is in an inconsistent state. Shutting down consumer. Please restart Platform Analytics Consumer to rebuild the cache and resolve the issue

 

Redis server.log


Example 1:

[3884] 01 Jul 09:12:49.721 * The server is now ready to accept connections on port 6379[3668] 14 Jul 10:02:54.721 * Redis 3.2.100 (00000000/0) 64 bit, standalone mode, port 6379, pid 3668 ready to start.

Example 2:
[18412] 22 Oct 21:07:11.638 - 50 clients connected (0 slaves), 27183464 bytes in use[18412] 22 Oct 21:07:11.971 - Accepted 127.0.0.1:53666[18412] 22 Oct 21:07:11.973 - Client closed connection[18412] 22 Oct 21:07:16.410 - Reading from client: An existing connection was forcibly closed by the remote host.

 

Cause


This is a known issue.
There is bug in the Jedis version 2.9.0 with current Strategy release. 
Per Jedis release notes fixed in newer version. 
2.10.2 Bug fix version
#1920 JedisPool exhausted in Jedis 2.10.0
 

Action


This issue has been fixed in Strategy 2021 Update 4. Upgrade to this version to take advantage of the fix.
Third Party Software Installation WARNING
The third-party product(s) discussed in this technical note is manufactured by vendors independent of Strategy. Strategy makes no warranty, express, implied or otherwise, regarding this product, including its performance or reliability
 


Comment

0 comments

Details

Knowledge Article

Published:

March 21, 2022

Last Updated:

March 21, 2022