diff --git a/pom.xml b/pom.xml
index 91a4b95..be404a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,9 +35,9 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <additionalparam>-Xdoclint:none</additionalparam>
-        <quartz.version>2.2.1</quartz.version>
-        <jackson.version>2.6.1</jackson.version>
-        <logback.version>1.1.7</logback.version>
+        <quartz.version>2.3.2</quartz.version>
+        <jackson.version>2.11.0</jackson.version>
+        <logback.version>1.2.3</logback.version>
     </properties>
 
     <repositories>
@@ -63,7 +63,7 @@
         <dependency>
             <groupId>redis.clients</groupId>
             <artifactId>jedis</artifactId>
-            <version>3.0.1</version>
+            <version>3.3.0</version>
         </dependency>
 
         <dependency>
@@ -87,14 +87,14 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>1.7.7</version>
+            <version>1.7.30</version>
         </dependency>
 
         <!-- Testing dependencies -->
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>4.12</version>
+            <version>4.13</version>
             <scope>test</scope>
         </dependency>
 
@@ -122,7 +122,7 @@
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.4</version>
+            <version>2.6</version>
             <scope>test</scope>
         </dependency>
 
@@ -220,8 +220,8 @@
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <configuration>
-                        <source>1.7</source>
-                        <target>1.7</target>
+                        <source>1.8</source>
+                        <target>1.8</target>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/src/main/java/net/joelinn/quartz/jobstore/RedisJobStore.java b/src/main/java/net/joelinn/quartz/jobstore/RedisJobStore.java
index 3d03a20..41d2c2e 100644
--- a/src/main/java/net/joelinn/quartz/jobstore/RedisJobStore.java
+++ b/src/main/java/net/joelinn/quartz/jobstore/RedisJobStore.java
@@ -139,6 +139,16 @@ public void setClusterCheckinInterval(long interval) {
         this.clusterCheckinInterval = interval;
     }
 
+    @Override
+    public void resetTriggerFromErrorState(TriggerKey triggerKey) throws JobPersistenceException {
+
+    }
+
+    @Override
+    public long getAcquireRetryDelay(int i) {
+        return 100;
+    }
+
     /**
      * Called by the QuartzScheduler before the <code>JobStore</code> is
      * used, in order to give the it a chance to initialize.
diff --git a/src/main/java/net/joelinn/quartz/jobstore/jedis/JedisClusterCommandsWrapper.java b/src/main/java/net/joelinn/quartz/jobstore/jedis/JedisClusterCommandsWrapper.java
index a155131..869ac95 100644
--- a/src/main/java/net/joelinn/quartz/jobstore/jedis/JedisClusterCommandsWrapper.java
+++ b/src/main/java/net/joelinn/quartz/jobstore/jedis/JedisClusterCommandsWrapper.java
@@ -760,4 +760,114 @@ public List<Long> bitfield(String s, String... strings) {
     public Long hstrlen(String s, String s1) {
         return cluster.hstrlen(s, s1);
     }
+
+    @Override
+    public StreamEntryID xadd(String s, StreamEntryID streamEntryID, Map<String, String> map) {
+        return null;
+    }
+
+    @Override
+    public StreamEntryID xadd(String s, StreamEntryID streamEntryID, Map<String, String> map, long l, boolean b) {
+        return null;
+    }
+
+    @Override
+    public Long xlen(String s) {
+        return null;
+    }
+
+    @Override
+    public List<StreamEntry> xrange(String s, StreamEntryID streamEntryID, StreamEntryID streamEntryID1, int i) {
+        return null;
+    }
+
+    @Override
+    public List<StreamEntry> xrevrange(String s, StreamEntryID streamEntryID, StreamEntryID streamEntryID1, int i) {
+        return null;
+    }
+
+    @Override
+    public long xack(String s, String s1, StreamEntryID... streamEntryIDS) {
+        return 0;
+    }
+
+    @Override
+    public String xgroupCreate(String s, String s1, StreamEntryID streamEntryID, boolean b) {
+        return null;
+    }
+
+    @Override
+    public String xgroupSetID(String s, String s1, StreamEntryID streamEntryID) {
+        return null;
+    }
+
+    @Override
+    public long xgroupDestroy(String s, String s1) {
+        return 0;
+    }
+
+    @Override
+    public Long xgroupDelConsumer(String s, String s1, String s2) {
+        return null;
+    }
+
+    @Override
+    public List<StreamPendingEntry> xpending(String s, String s1, StreamEntryID streamEntryID, StreamEntryID streamEntryID1, int i, String s2) {
+        return null;
+    }
+
+    @Override
+    public long xdel(String s, StreamEntryID... streamEntryIDS) {
+        return 0;
+    }
+
+    @Override
+    public long xtrim(String s, long l, boolean b) {
+        return 0;
+    }
+
+    @Override
+    public List<StreamEntry> xclaim(String s, String s1, String s2, long l, long l1, int i, boolean b, StreamEntryID... streamEntryIDS) {
+        return null;
+    }
+
+    @Override
+    public Tuple zpopmax(String s) {
+        return null;
+    }
+
+    @Override
+    public Set<Tuple> zpopmax(String s, int i) {
+        return null;
+    }
+
+    @Override
+    public Tuple zpopmin(String s) {
+        return null;
+    }
+
+    @Override
+    public Set<Tuple> zpopmin(String s, int i) {
+        return null;
+    }
+
+    @Override
+    public List<Long> bitfieldReadonly(String s, String... strings) {
+        return null;
+    }
+
+    @Override
+    public StreamInfo xinfoStream(String s) {
+        return null;
+    }
+
+    @Override
+    public List<StreamGroupInfo> xinfoGroup(String s) {
+        return null;
+    }
+
+    @Override
+    public List<StreamConsumersInfo> xinfoConsumers(String s, String s1) {
+        return null;
+    }
 }
diff --git a/src/test/java/net/joelinn/quartz/BaseIntegrationTest.java b/src/test/java/net/joelinn/quartz/BaseIntegrationTest.java
index 1f8feba..f27727c 100644
--- a/src/test/java/net/joelinn/quartz/BaseIntegrationTest.java
+++ b/src/test/java/net/joelinn/quartz/BaseIntegrationTest.java
@@ -58,7 +58,7 @@ protected Properties schedulerConfig(String host, int port) {
         config.setProperty("org.quartz.jobStore.port", String.valueOf(port));
         config.setProperty("org.quartz.threadPool.threadCount", "1");
         config.setProperty("org.quartz.jobStore.misfireThreshold", "500");
-        config.setProperty(StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK, "true");
+        // config.setProperty(StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK, "true");
         return config;
     }
 
diff --git a/src/test/java/net/joelinn/quartz/mixin/JobDetailMixinTest.java b/src/test/java/net/joelinn/quartz/mixin/JobDetailMixinTest.java
index 5018cdd..37d2d89 100644
--- a/src/test/java/net/joelinn/quartz/mixin/JobDetailMixinTest.java
+++ b/src/test/java/net/joelinn/quartz/mixin/JobDetailMixinTest.java
@@ -39,7 +39,7 @@ public void serializeJobDetail() throws Exception {
                 .build();
 
         String json = mapper.writeValueAsString(testJob);
-        Map<String, Object> jsonMap = mapper.readValue(json, new TypeReference<HashMap<String, String>>() {
+        HashMap<String, String> jsonMap = mapper.readValue(json, new TypeReference<HashMap<String, String>>() {
         });
 
         assertThat(jsonMap, hasKey("name"));