From e6892e96c907e818adf8cf256b33effdc2b3b407 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Fri, 18 Mar 2016 21:42:39 +0000 Subject: [PATCH 01/16] added travis config --- .travis.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..55e7e10ba --- /dev/null +++ b/.travis.yml @@ -0,0 +1,23 @@ +# Copyright 2014 Nikita Koksharov, Nickolay Borbit +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +language: java +jdk: + - oraclejdk8 +services: + - redis-server +cache: + directories: + - $HOME/.m2 +script: mvn -DargLine="-DredisBinary=`which redis-server`" -Punit-test -Ptravis clean verify From 94bf56043718cf5f1845ffbbfc64d6483378bb3a Mon Sep 17 00:00:00 2001 From: jackygurui Date: Fri, 18 Mar 2016 22:29:36 +0000 Subject: [PATCH 02/16] use the latest version of redis compiled from source --- .travis.yml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 55e7e10ba..f685894fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,9 +15,22 @@ language: java jdk: - oraclejdk8 -services: - - redis-server +env: + - REDIS_VERSION=3.0.7 cache: directories: - $HOME/.m2 -script: mvn -DargLine="-DredisBinary=`which redis-server`" -Punit-test -Ptravis clean verify +install: + - export REDIS_BIN=$HOME/redis/${REDIS_VERSION}/bin + - > + wget -c https://github.com/antirez/redis/archive/${REDIS_VERSION}.tar.gz -O redis-${REDIS_VERSION}.tar.gz + tar -xvf redis-${REDIS_VERSION}.tar.gz + make -C redis-${REDIS_VERSION} PREFIX=$HOME/redis/${REDIS_VERSION} install +before_script: + - > + $REDIS_BIN/redis-server --daemonize yes + - sleep 3 + - $REDIS_BIN/redis-cli PING + - export REDIS_VERSION="$(redis-cli INFO SERVER | sed -n 2p)" + - echo $REDIS_VERSION +script: mvn -DargLine="-DredisBinary=$REDIS_BIN" -Punit-test -Ptravis clean verify From 3fea33c76314c64e9eb6389f8d7155ee8dd57fe1 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Fri, 18 Mar 2016 22:31:58 +0000 Subject: [PATCH 03/16] fixed travis sytax issue --- .travis.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index f685894fa..ce9484f40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,13 +22,11 @@ cache: - $HOME/.m2 install: - export REDIS_BIN=$HOME/redis/${REDIS_VERSION}/bin - - > - wget -c https://github.com/antirez/redis/archive/${REDIS_VERSION}.tar.gz -O redis-${REDIS_VERSION}.tar.gz - tar -xvf redis-${REDIS_VERSION}.tar.gz - make -C redis-${REDIS_VERSION} PREFIX=$HOME/redis/${REDIS_VERSION} install + - wget -c https://github.com/antirez/redis/archive/${REDIS_VERSION}.tar.gz -O redis-${REDIS_VERSION}.tar.gz + - tar -xvf redis-${REDIS_VERSION}.tar.gz + - make -C redis-${REDIS_VERSION} PREFIX=$HOME/redis/${REDIS_VERSION} install before_script: - - > - $REDIS_BIN/redis-server --daemonize yes + - $REDIS_BIN/redis-server --daemonize yes - sleep 3 - $REDIS_BIN/redis-cli PING - export REDIS_VERSION="$(redis-cli INFO SERVER | sed -n 2p)" From e8a054708a39c8fdd891a600b8fef2bce15ca732 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Mon, 21 Mar 2016 22:56:57 +0000 Subject: [PATCH 04/16] added sudo false We are going to the container --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index ce9484f40..13aeda99b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +sudo: false + language: java jdk: - oraclejdk8 From 9913a98f4f2f48d4326cb58f5586c0a5f4a95019 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Mon, 21 Mar 2016 22:58:49 +0000 Subject: [PATCH 05/16] make redis binary executable by all --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 13aeda99b..d0dc4f540 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,6 +27,7 @@ install: - wget -c https://github.com/antirez/redis/archive/${REDIS_VERSION}.tar.gz -O redis-${REDIS_VERSION}.tar.gz - tar -xvf redis-${REDIS_VERSION}.tar.gz - make -C redis-${REDIS_VERSION} PREFIX=$HOME/redis/${REDIS_VERSION} install + - chmod +x $REDIS_BIN/* before_script: - $REDIS_BIN/redis-server --daemonize yes - sleep 3 From 23e188895eab523e2fb319b0cd6365332ee78184 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Mon, 21 Mar 2016 23:01:10 +0000 Subject: [PATCH 06/16] fixed redisBinary issue fixed redisBinary been set to the directory instead of the binary --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index d0dc4f540..0153205e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,11 +27,10 @@ install: - wget -c https://github.com/antirez/redis/archive/${REDIS_VERSION}.tar.gz -O redis-${REDIS_VERSION}.tar.gz - tar -xvf redis-${REDIS_VERSION}.tar.gz - make -C redis-${REDIS_VERSION} PREFIX=$HOME/redis/${REDIS_VERSION} install - - chmod +x $REDIS_BIN/* before_script: - $REDIS_BIN/redis-server --daemonize yes - sleep 3 - $REDIS_BIN/redis-cli PING - export REDIS_VERSION="$(redis-cli INFO SERVER | sed -n 2p)" - echo $REDIS_VERSION -script: mvn -DargLine="-DredisBinary=$REDIS_BIN" -Punit-test -Ptravis clean verify +script: mvn -DargLine="-DredisBinary=$REDIS_BIN/redis-server" -Punit-test -Ptravis clean verify From 0b26f2160d8753cf0a3404a6944ce06074d1b7e9 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 22 Mar 2016 00:06:09 +0000 Subject: [PATCH 07/16] add lines to change system settings increase the operating system limit to the maximum number of file descriptors per process --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0153205e2..9e243b571 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,6 +28,8 @@ install: - tar -xvf redis-${REDIS_VERSION}.tar.gz - make -C redis-${REDIS_VERSION} PREFIX=$HOME/redis/${REDIS_VERSION} install before_script: + - sysctl -w fs.file-max=100000 + - ulimit -Sn 100000 - $REDIS_BIN/redis-server --daemonize yes - sleep 3 - $REDIS_BIN/redis-cli PING From 8fe49a02286de2f7d6de87c1f753b6bfa7928af9 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 22 Mar 2016 00:10:56 +0000 Subject: [PATCH 08/16] revert the change both sysctl and ulimit command was unsuccessful --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e243b571..0153205e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,8 +28,6 @@ install: - tar -xvf redis-${REDIS_VERSION}.tar.gz - make -C redis-${REDIS_VERSION} PREFIX=$HOME/redis/${REDIS_VERSION} install before_script: - - sysctl -w fs.file-max=100000 - - ulimit -Sn 100000 - $REDIS_BIN/redis-server --daemonize yes - sleep 3 - $REDIS_BIN/redis-cli PING From 516202c95fcc1f4862a15629f8d924c5c1eded5f Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 22 Mar 2016 15:27:56 +0000 Subject: [PATCH 09/16] change the test redis version to 2.8.24. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0153205e2..1ccd879c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ language: java jdk: - oraclejdk8 env: - - REDIS_VERSION=3.0.7 + - REDIS_VERSION=2.8.24 cache: directories: - $HOME/.m2 From 3ada401c04764dfdbe409bd014f8a6eb6c80ab67 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 22 Mar 2016 21:21:59 +0000 Subject: [PATCH 10/16] Some tweaks to try Trying to use vm instead of container to see if the problem with inconsistent result is getting better. Switching back to use redis v3.0.7 --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1ccd879c5..2a21106c1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,13 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -sudo: false +sudo: true language: java jdk: - oraclejdk8 env: - - REDIS_VERSION=2.8.24 + - REDIS_VERSION=3.0.7 cache: directories: - $HOME/.m2 From 49ceb09b60da41971353dbb5bc9fc8e2aa352f95 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 22 Mar 2016 21:57:55 +0000 Subject: [PATCH 11/16] fixes and tweaks fixed sudo value should been required instead of true changed to use trusty distribution to see if inconsistent issue getting better --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2a21106c1..3bfa75efc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -sudo: true +sudo: required +dist: trusty language: java jdk: From 86fd0362123c4d0870bfde50b97adf5f3ee2f0d4 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 22 Mar 2016 22:48:22 +0000 Subject: [PATCH 12/16] disable sudo --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3bfa75efc..276b6f248 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -sudo: required +sudo: false dist: trusty language: java From 255db08d835f319a4365478240a4d76132b66ffd Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 22 Mar 2016 23:30:39 +0000 Subject: [PATCH 13/16] change testManyConnections connection size to 2000 --- src/test/java/org/redisson/RedissonTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/redisson/RedissonTest.java b/src/test/java/org/redisson/RedissonTest.java index 92b551c11..7eb2da834 100644 --- a/src/test/java/org/redisson/RedissonTest.java +++ b/src/test/java/org/redisson/RedissonTest.java @@ -264,8 +264,8 @@ public class RedissonTest { public void testManyConnections() { Config redisConfig = new Config(); redisConfig.useSingleServer() - .setConnectionMinimumIdleSize(10000) - .setConnectionPoolSize(10000) + .setConnectionMinimumIdleSize(2000) + .setConnectionPoolSize(2000) .setAddress("localhost:6379"); RedissonClient r = Redisson.create(redisConfig); r.shutdown(); From 709a3f1c31657560408bf540259ca9839b55cda2 Mon Sep 17 00:00:00 2001 From: Rui Gu Date: Wed, 23 Mar 2016 11:56:18 +0000 Subject: [PATCH 14/16] Revert "change testManyConnections connection size to 2000" This reverts commit 255db08d835f319a4365478240a4d76132b66ffd. --- src/test/java/org/redisson/RedissonTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/redisson/RedissonTest.java b/src/test/java/org/redisson/RedissonTest.java index 7eb2da834..92b551c11 100644 --- a/src/test/java/org/redisson/RedissonTest.java +++ b/src/test/java/org/redisson/RedissonTest.java @@ -264,8 +264,8 @@ public class RedissonTest { public void testManyConnections() { Config redisConfig = new Config(); redisConfig.useSingleServer() - .setConnectionMinimumIdleSize(2000) - .setConnectionPoolSize(2000) + .setConnectionMinimumIdleSize(10000) + .setConnectionPoolSize(10000) .setAddress("localhost:6379"); RedissonClient r = Redisson.create(redisConfig); r.shutdown(); From 449e6e3df476b079ac6d113e20bbdbfa41d38cfb Mon Sep 17 00:00:00 2001 From: Rui Gu Date: Wed, 23 Mar 2016 12:11:57 +0000 Subject: [PATCH 15/16] added travisEnv property used to ignore some tests ignore testManyConnections when travisEnv property is set to true --- .travis.yml | 2 +- src/test/java/org/redisson/RedissonTest.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 276b6f248..e2347a31c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,4 +34,4 @@ before_script: - $REDIS_BIN/redis-cli PING - export REDIS_VERSION="$(redis-cli INFO SERVER | sed -n 2p)" - echo $REDIS_VERSION -script: mvn -DargLine="-DredisBinary=$REDIS_BIN/redis-server" -Punit-test -Ptravis clean verify +script: mvn -DargLine="-DredisBinary=$REDIS_BIN/redis-server -DtravisEnv=true" -Punit-test -Ptravis clean verify diff --git a/src/test/java/org/redisson/RedissonTest.java b/src/test/java/org/redisson/RedissonTest.java index 92b551c11..75f5519bf 100644 --- a/src/test/java/org/redisson/RedissonTest.java +++ b/src/test/java/org/redisson/RedissonTest.java @@ -12,6 +12,7 @@ import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicInteger; import org.junit.Assert; +import org.junit.Assume; import org.junit.Test; import org.redisson.RedisRunner.RedisProcess; import org.redisson.client.RedisConnectionException; @@ -262,6 +263,7 @@ public class RedissonTest { @Test public void testManyConnections() { + Assume.assumeFalse(Boolean.valueOf(System.getProperty("travisEnv"))); Config redisConfig = new Config(); redisConfig.useSingleServer() .setConnectionMinimumIdleSize(10000) From 66024192aa02ac77d7e82de8714246dc1279b606 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 29 Mar 2016 22:44:25 +0100 Subject: [PATCH 16/16] travis matrix added matrix environment tags to test against three redis versions. --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0153205e2..32d003cc5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,10 @@ language: java jdk: - oraclejdk8 env: - - REDIS_VERSION=3.0.7 + matrix: + - REDIS_VERSION=3.0.7 + - REDIS_VERSION=2.8.24 + - REDIS_VERSION=3.2.0-rc3 cache: directories: - $HOME/.m2