[hibernate-commits] [hibernate/hibernate-ogm] 453fc4: OGM-947 Implement Redis Cluster support

GitHub noreply at github.com
Thu Mar 24 08:22:57 EDT 2016


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-ogm
  Commit: 453fc4085b278c19f7373094e5a02f896443a433
      https://github.com/hibernate/hibernate-ogm/commit/453fc4085b278c19f7373094e5a02f896443a433
  Author: Mark Paluch <mpaluch at paluch.biz>
  Date:   2016-03-24 (Thu, 24 Mar 2016)

  Changed paths:
    M .gitignore
    M bom/pom.xml
    M integrationtest/redis/src/test/java/org/hibernate/ogm/test/integration/jboss/RedisModuleMemberRegistrationWithTTLConfiguredIT.java
    M readme.md
    A redis/Makefile
    M redis/pom.xml
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/AbstractRedisDialect.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/RedisHashDialect.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/RedisJsonDialect.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/RedisProperties.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/impl/RedisConfiguration.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/impl/RedisDatastoreProvider.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/impl/json/JsonEntityStorageStrategy.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/logging/impl/Log.java
    A redis/src/test/java/org/hibernate/ogm/datastore/redis/RedisDialectClusterForEachTest.java
    M redis/src/test/java/org/hibernate/ogm/datastore/redis/impl/TestRedisDatastoreProvider.java
    M redis/src/test/java/org/hibernate/ogm/datastore/redis/test/RedisOgmTestCase.java
    M redis/src/test/java/org/hibernate/ogm/datastore/redis/test/options/ttl/TTLConfiguredProgrammaticallyTest.java
    M redis/src/test/java/org/hibernate/ogm/datastore/redis/utils/RedisTestHelper.java

  Log Message:
  -----------
  OGM-947 Implement Redis Cluster support

Add support for Redis Cluster. Upgrade lettuce driver version. Document how to test OGM Redis with Redis Standalone and Redis Cluster. Create Makefile for Redis setup. Create a specific forEachTuple test since the cluster scan requires a scan over all master nodes.

The cluster routing is handled by the lettuce driver library, so mainly the interface changed to a smaller type which is implemented by the Cluster and the Standalone API. The lettuce driver cannot handle a cluster-wide SCAN command that is required to iterate over all keys in the Redis keyspace. This is done within the Redis dialect code and requires to keep track of the iteration state.


  Commit: 7988eec553c16ff46d7bdff2c1bb974867c40601
      https://github.com/hibernate/hibernate-ogm/commit/7988eec553c16ff46d7bdff2c1bb974867c40601
  Author: Mark Paluch <mpaluch at paluch.biz>
  Date:   2016-03-24 (Thu, 24 Mar 2016)

  Changed paths:
    M integrationtest/redis/src/test/java/org/hibernate/ogm/test/integration/jboss/RedisModuleMemberRegistrationWithTTLConfiguredIT.java

  Log Message:
  -----------
  OGM-947 Remove unused imports


  Commit: d7ab9f63e7899ed321685b65ef973401a4e89dca
      https://github.com/hibernate/hibernate-ogm/commit/d7ab9f63e7899ed321685b65ef973401a4e89dca
  Author: Mark Paluch <mpaluch at paluch.biz>
  Date:   2016-03-24 (Thu, 24 Mar 2016)

  Changed paths:
    M documentation/manual/src/main/asciidoc/en-US/modules/redis.asciidoc
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/AbstractRedisDialect.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/RedisHashDialect.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/RedisJsonDialect.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/RedisProperties.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/impl/RedisDatastoreProvider.java
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/logging/impl/Log.java
    A redis/src/test/java/org/hibernate/ogm/datastore/redis/test/mapping/ClusterDonut.java
    A redis/src/test/java/org/hibernate/ogm/datastore/redis/test/mapping/RedisClusterHashMappingTest.java

  Log Message:
  -----------
  OGM-947 Polishing

Add Redis Cluster configuration to documentation. Fix review findings. Verify Redis mode (configuration vs. runtime) when creating the dialect. Add tests to verify hash slot mapping using curly braces.


  Commit: 57f78d40ce546fcbdc4e723dbe090ae65f0e32e1
      https://github.com/hibernate/hibernate-ogm/commit/57f78d40ce546fcbdc4e723dbe090ae65f0e32e1
  Author: Mark Paluch <mpaluch at paluch.biz>
  Date:   2016-03-24 (Thu, 24 Mar 2016)

  Changed paths:
    A redis/src/test/resources/redis-cluster-slothashes.txt

  Log Message:
  -----------
  OGM-947 Add redis-cluster-slothashes file


  Commit: 89cad053e50183f6e3cc5095d99cdc2bd216f988
      https://github.com/hibernate/hibernate-ogm/commit/89cad053e50183f6e3cc5095d99cdc2bd216f988
  Author: Mark Paluch <mpaluch at paluch.biz>
  Date:   2016-03-24 (Thu, 24 Mar 2016)

  Changed paths:
    M redis/Makefile
    M redis/src/main/java/org/hibernate/ogm/datastore/redis/AbstractRedisDialect.java

  Log Message:
  -----------
  OGM-988 Fix review findings

Use all cluster nodes in Makefile to initialize OGM. Fix spelling in documentation. Skip master nodes without slot assignment.


Compare: https://github.com/hibernate/hibernate-ogm/compare/b3b5e574c9fd...89cad053e501


More information about the hibernate-commits mailing list