Description
The Redis adapter is able to override the default region type; for example:
--J=-Dgemfireredis.regiontype=PARTITION
However, when using a default region type with PERSISTENCE (for example PARTITION_PERSISTENT, the following exception is thrown:
[info 2020/01/17 10:59:03.392 PST <main> tid=0x1] Starting GeodeRedisServer on bind address 127.0.0.1 on port 6379 [warn 2020/01/17 10:59:03.407 PST <main> tid=0x1] Cache service org.apache.geode.redis.internal.GeodeRedisService failed to initialize java.lang.NullPointerException at org.apache.geode.internal.cache.LocalRegion.findDiskStore(LocalRegion.java:7473) at org.apache.geode.internal.cache.PartitionedRegion.findDiskStore(PartitionedRegion.java:9182) at org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:602) at org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:546) at org.apache.geode.internal.cache.PartitionedRegion.<init>(PartitionedRegion.java:758) at org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:2923) at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:2867) at org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2851) at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:768) at org.apache.geode.redis.GeodeRedisServer.initializeRedis(GeodeRedisServer.java:423) at org.apache.geode.redis.GeodeRedisServer.start(GeodeRedisServer.java:379) at org.apache.geode.redis.internal.GeodeRedisService.startRedisServer(GeodeRedisService.java:61) at org.apache.geode.redis.internal.GeodeRedisService.init(GeodeRedisService.java:35) at org.apache.geode.internal.cache.GemFireCacheImpl.initializeServices(GemFireCacheImpl.java:1416) at org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1358) at org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:191) at org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:158) at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142) at org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(DefaultServerLauncherCacheProvider.java:52) at org.apache.geode.distributed.ServerLauncher.createCache(ServerLauncher.java:894) at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:809) at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:739) at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:256)
This is a lifecycle problem since the cache services (Redis is a CacheService) are started before the cache is fully and completely initiailized.