Permalink
Switch branches/tags
Commits on Sep 21, 2017
  1. DATAREDIS-700 - Downgrade to CDI 1.0.

    mp911de committed Sep 21, 2017
    We now build against CDI 1.0 again while using CDI 2.0 for testing.
  2. DATAREDIS-692 - Polishing.

    mp911de committed Sep 19, 2017
    Add NonNullFields to packages. Add missing Nullable annotations. Extend Javadoc. Replace simple equals/hashCode methods using Lomboks EqualsAndHashCode annotation. Use RequiredArgsConstructor for private classes in favor of own constructors. Replace null-checks with qualified access whether objects are empty/applicable. Rearrange methods according to interface ordering.
    
    Remove demo code from KeyspaceConfiguration.
    
    Original pull request: #277.
  3. DATAREDIS-692 - Replace own Base64 class in favor of the JDK one.

    mp911de committed Sep 20, 2017
    Original pull request: #277.
  4. DATAREDIS-692 - Deprecate Version.

    mp911de committed Sep 19, 2017
    Spring Data Commons provides org.springframework.data.util.Version so we no longer require to use our own one.
    
    Original pull request: #277.
  5. DATAREDIS-692 - Introduce usage of nullable annotations for API valid…

    christophstrobl committed with mp911de Sep 13, 2017
    …ation.
    
    Mark all packages with Spring Frameworks @NonNullApi. Add Spring's @Nullable to methods, parameters and fields that take or produce null values. Adapted using code to make sure the IDE can evaluate the null flow properly. Fix Javadoc in places where an invalid null handling policy was advertised. Strengthened null requirements for types that expose null-instances.
    
    Resolve some of the inherited null invariants, align Converters to null contract.
    
    Original pull request: #277.
Commits on Sep 18, 2017
  1. DATAREDIS-700 - Polishing.

    mp911de committed Sep 18, 2017
    Fix line endings.
Commits on Sep 11, 2017
Commits on Sep 8, 2017
  1. DATAREDIS-688 - Polishing.

    christophstrobl committed Sep 8, 2017
    Remove whitespaces and add issue references.
    
    Original Pull Request: #276
  2. DATAREDIS-688 - Polishing.

    mp911de committed with christophstrobl Sep 7, 2017
    Adjust formatting for delete and sort test methods.
    
    Original Pull Request: #276
  3. DATAREDIS-688 - Return delete result via RedisOperations.delete(…).

    mp911de committed with christophstrobl Sep 7, 2017
    We now return the deletion count for multi-key deletes and whether a single key was deleted for RedisOperations.delete(…).
    
    Original Pull Request: #276
  4. DATAREDIS-681 - Polishing.

    christophstrobl committed Sep 8, 2017
    Reduce constructor visibility of driver-specific commands classes. Upate Javadoc.
    
    Original Pull Request: #267
  5. DATAREDIS-681 - Polishing.

    mp911de committed with christophstrobl Aug 21, 2017
    Remove final keywords from variables in ClusterCommandExecutor. Reduce constructor visibility of driver-specific commands classes. Fix Javadoc.
    
    Original Pull Request: #267
  6. DATAREDIS-681 - Fix spelling in MultiNodeResult and ResultByReference…

    mp911de committed with christophstrobl Aug 21, 2017
    …KeyPositionComparator.
    
    Fix type and method names.
    
    Original Pull Request: #267
  7. DATAREDIS-614 - Polishing.

    christophstrobl committed Sep 8, 2017
    Remove whitespaces and update tests to use non deprecated API.
    
    Original Pull Request: #274
  8. DATAREDIS-614 - Rename GeoOperations methods to better names.

    mp911de committed with christophstrobl Sep 6, 2017
    We removed the geo prefix from the imperative and reactive GeoOperations interfaces and our methods to match a more expressive scheme:
    
    geoAdd(…) -> add(…)
    geoDist(…) -> distance(…)
    geoHash(…) -> hash(…)
    geoPos(…) -> position(…)
    geoRadius(…) -> radius(…)
    geoRadiusByMember(…) -> radius(…)
    geoRemove(…) -> remove(…)
    
    Methods on the imperative API remain as deprecated default methods to retain compatibility and not enforce changes in the client code.
    
    Original Pull Request: #274
Commits on Sep 7, 2017
  1. DATAREDIS-684 - Release Jedis cluster node connections with close().

    mp911de committed with christophstrobl Aug 31, 2017
    We now release Jedis cluster node connections with Jedis.close() to the pool instead of Pool.returnResource(…). The close() method itself checks whether the connection was broken and if so, the connection gets destroyed. Destroying broken connections prevents the pool from supplying broken connections on borrow when testOnBorrow is disabled.
    
    The only case where we return broken resources ourselves to the Pool is when we discover a broken connection ourselves: If we run into a NullPointerException or RedisConnectionFailureException, then we consider a connection is broken.
    
    Original Pull Request: #271
  2. DATAREDIS-667 - Polishing.

    christophstrobl committed Aug 31, 2017
    Remove builder interfaces and aim for classes instead.
    Also use delegation for builders avoiding constructors with too many arguments.
    Alter ConnectionProvider#getConnection(Class) to return a typed connection as this is is the expected return type given the input parameters used.
    Remove LettuceConnectionProvider.getConnection() method as it makes no longer sense for the non-lambda enabled interface. Remove unnecessary casts.
    Add connection factory to cleanup-tracker on test class instantiation instead within the parameter supplier method to prevent shutdown by other cleanup calls that may happen in between. Reuse client resources.
    
    Original Pull Request: #262
  3. DATAREDIS-667 - Deprecate LettucePool and DefaultLettucePool.

    mp911de committed with christophstrobl Aug 3, 2017
    Original Pull Request: #262
  4. DATAREDIS-667 - Align Lettuce connection-pooling with LettuceClientCo…

    mp911de committed with christophstrobl Aug 3, 2017
    …nfiguration.
    
    We now support Lettuce connection pooling by configuring a specialized client configuration via LettucePoolingClientConfiguration.builder(). Pooling settings can be configured through the builder and used with LettuceConnectionFactory.
    
    Connection pooling is supported with Standalone and Sentinel-managed connections.
    
    LettucePoolingClientConfiguration.builder()
       .poolConfig(poolConfig)
       .and() // allows configuration of further settings.
    
    Original Pull Request: #262
  5. DATAREDIS-667 - Introduce LettuceConnectionProvider.

    mp911de committed with christophstrobl Aug 3, 2017
    We now create and release Lettuce connections using LettuceConnectionProvider. Connection providers encapsulate the underlying client and expose only creation and release methods. A connection provider can provide connections for Standalone or Cluster connections or wrap a LettucePool.
    
    Previously we used RedisClient and RedisClusterClient directly which required context propagation (pooling/non-pooling) conditional code to obtain the appropriate connection type.
    
    Original Pull Request: #262
  6. DATAREDIS-679 - Polishing.

    christophstrobl committed Sep 7, 2017
    Use IllegalState- instead of IllegalArgumentException and utilize ExpectedException rule in tests.
    
    Original Pull Request: #270
  7. DATAREDIS-679 - Reconfigure Jedis cluster connection pools for discov…

    mp911de committed with christophstrobl Aug 31, 2017
    …ered cluster nodes.
    
    We now request a cluster node connection directly from the driver's connection handler and initiate reconfiguration if a cluster node is known through the topology but has no connection pool yet. This can happen if a cluster node is added to the cluster after the connection was initialized.
    
    The connection handler cannot be obtained directly although the field where it's held is protected which increases the amount of necessary test code and reflection access to the connection handler.
    
    Jedis discovers nodes during startup, on demand (full scan) or when requested (e.g. by a cluster redirection).
    
    Original Pull Request: #270
Commits on Aug 31, 2017
  1. DATAREDIS-685 - Update test configuration to use Redis 4.0.1.

    christophstrobl committed Aug 31, 2017
    Alos alter ClusterConnectionTests to be more robust.
  2. DATAREDIS-683 - Polishing.

    christophstrobl committed Aug 28, 2017
    Rename *Operators -> *Executor and use plain RedisElementReader/Writer instead of SerilaizationPairs. Therefore we’ve introduced new static factory methods creating the required Reader/Writer from a given RedisSerializer.
    Additionally some minor Javadoc updates, tests and removal of redundant null checks.
    
    Original Pull Request: #268
  3. DATAREDIS-683 - Provide reactive Lua script execution commands.

    mp911de committed with christophstrobl Aug 24, 2017
    We now support Redis Lua script execution using reactive infrastructure through the reactive connection and template API.
    
    Flux<V> execute = reactiveTemplate.execute(new DefaultRedisScript<>("return redis.call('get', KEYS[1])", String.class), Collections.singletonList(key));
    
    Release the reactive connection consistently after Publisher termination. Extract shared code between DefaultScriptExecutor and DefaultScriptOperators in ScriptUtils.
    
    Original Pull Request: #268
Commits on Aug 25, 2017
  1. DATAREDIS-674 - Polishing.

    mp911de committed Aug 25, 2017
    Rename JedisConverters.zAddArgsConvertor(…) to toTupleMap(…) and reorder method to group with other tuple conversion methods. Add author tags.
    
    Create tests for zadd with tuple using Redis Cluster. Enable pipelining and transactions for zadd using Jedis. Adopt tests.
    
    Original pull request: #263.
  2. DATAREDIS-674 - Support zAdd with a Set of Tuples using Jedis Cluster…

    clemong888 committed with mp911de Aug 5, 2017
    … connections.
    
    Original pull request: #263.