Gregory Green created GEODE-2469: ------------------------------------ Summary: Redis adapter Hash key support Key: GEODE-2469 URL: https://issues.apache.org/jira/browse/GEODE-2469 Project: Geode Issue Type: Bug Components: redis Reporter: Gregory Green
The Redis adapter does not appear to handle hash keys correctly. The following Example: Redis CLI works. localhost:11211> HSET companies name "John Smith" Using a HSET <region>:id .. produces an error Example: localhost:11211> HSET companies:1000 name "John Smith" [Server error] [fine 2017/02/10 16:04:33.289 EST server1 <Function Execution Processor2> tid=0x6a] Region names may only be alphanumeric and may contain hyphens or underscores: companies: 1000 java.lang.IllegalArgumentException: Region names may only be alphanumeric and may contain hyphens or underscores: companies: 1000 at org.apache.geode.internal.cache.LocalRegion.validateRegionName(LocalRegion.java:7618) at org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3201) at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:3181) at org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:3169) at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:762) at org.apache.geode.management.internal.cli.functions.RegionCreateFunction.createRegion(RegionCreateFunction.java:355) at org.apache.geode.management.internal.cli.functions.RegionCreateFunction.execute(RegionCreateFunction.java:90) at org.apache.geode.internal.cache.execute.AbstractExecution.executeFunctionLocally(AbstractExecution.java:333) at org.apache.geode.internal.cache.execute.AbstractExecution$2.run(AbstractExecution.java:303) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) at org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) at java.lang.Thread.run(Thread.java:745) //Example Spring Data Redis Object sample @Data @EqualsAndHashCode() @RedisHash(value="companies") @NoArgsConstructor public class Company { private @Id String id; .... //Repository public interface CompanyRepository extends CrudRepository<Company, String> { .... } //When saving using a repository repository.save(this.myCompany); [Same Server error] java.lang.IllegalArgumentException: Region names may only be alphanumeric and may contain hyphens or underscores: companies:f05405c2-86f2-4aaf-bd0c-6fecd483bf28 at org.apache.geode.internal.cache.LocalRegion.validateRegionName(LocalRegion.java:7618) at org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3201) at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:3181) at org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:3169) at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:762) at org.apache.geode.management.internal.cli.functions.RegionCreateFunction.createRegion(RegionCreateFunction.java:355) at org.apache.geode.management.internal.cli.functions.RegionCreateFunction.execute(RegionCreateFunction.java:90) at org.apache.geode.internal.cache.execute.AbstractExecution.executeFunctionLocally(AbstractExecution.java:333) at org.apache.geode.internal.cache.execute.AbstractExecution$2.run(AbstractExecution.java:303) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) at org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.15#6346)