{"action":"created","issue":{"url":"https://api.github.com/repos/mrniko/redisson/issues/466","repository_url":"https://api.github.com/repos/mrniko/redisson","labels_url":"https://api.github.com/repos/mrniko/redisson/issues/466/labels{/name}","comments_url":"https://api.github.com/repos/mrniko/redisson/issues/466/comments","events_url":"https://api.github.com/repos/mrniko/redisson/issues/466/events","html_url":"https://github.com/mrniko/redisson/issues/466","id":146915609,"number":466,"title":"RedisTimeoutException with \"large\" objects","user":{"login":"smigfu","id":1654912,"avatar_url":"https://avatars.githubusercontent.com/u/1654912?v=3","gravatar_id":"","url":"https://api.github.com/users/smigfu","html_url":"https://github.com/smigfu","followers_url":"https://api.github.com/users/smigfu/followers","following_url":"https://api.github.com/users/smigfu/following{/other_user}","gists_url":"https://api.github.com/users/smigfu/gists{/gist_id}","starred_url":"https://api.github.com/users/smigfu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smigfu/subscriptions","organizations_url":"https://api.github.com/users/smigfu/orgs","repos_url":"https://api.github.com/users/smigfu/repos","events_url":"https://api.github.com/users/smigfu/events{/privacy}","received_events_url":"https://api.github.com/users/smigfu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2016-04-08T12:23:42Z","updated_at":"2016-04-11T14:50:42Z","closed_at":null,"body":"I have a simple setup with a SingleServer connected to a ElasticCache-Redis instance. I upload various sizes of bytes to measure the performance between those. Small objects up to 3 MB perform fine but above that I receive this error:\r\n\r\n```\r\nException in thread \"main\" org.redisson.client.RedisTimeoutException: Command execution timeout for command: (SETEX) with params: [da515c20-cba8-42ca-bd18-66249f4e06d9, 60, StorageObject@255d177b]\r\n\tat org.redisson.command.CommandAsyncService$5.run(CommandAsyncService.java:403)\r\n\tat io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:581)\r\n\tat io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:655)\r\n\tat io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:367)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n```\r\n\r\nIn \"Batch\" mode is also see this:\r\n\r\n```\r\nException in thread \"main\" org.redisson.client.RedisTimeoutException: Batch command execution timeout\r\n\tat org.redisson.command.CommandBatchService$3.run(CommandBatchService.java:243)\r\n\tat io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:581)\r\n\tat io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:655)\r\n\tat io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:367)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n```\r\n\r\nMy setup for connecting looks as following (I have a similar setup with redisson-reactive showing the same problem):\r\n\r\n```\r\n        final Config config = new Config();\r\n\r\n        config.useSingleServer().setSubscriptionConnectionMinimumIdleSize(1);\r\n        config.useSingleServer().setSubscriptionConnectionPoolSize(5);\r\n        config.useSingleServer().setSubscriptionsPerConnection(5);\r\n        config.setCodec(new SerializationCodec());\r\n        config.useSingleServer().setAddress(configuration.getString(\"redis.endpoint\"));\r\n        config.useSingleServer().setDatabase(configuration.getInt(\"redis.database\"));\r\n        config.useSingleServer().setConnectionPoolSize(configuration.getInt(\"redis.pool.max\"));\r\n        config.useSingleServer().setConnectionMinimumIdleSize(configuration.getInt(\"redis.pool.min\"));\r\n        config.useSingleServer().setTimeout(60000);\r\n\r\n        redissonClient = Redisson.create(config);\r\n\r\n        // single\r\n        redissonClient.getBucket(storageObject.getId()).set(storageObject, 60, SECONDS);\r\n\r\n        // batch\r\n        final RBatch batch = redissonClient.createBatch();\r\n        for (final StorageObject storageObject : storageObjects)\r\n        {\r\n            batch.getBucket(storageObject.getId()).setAsync(storageObject, 60, SECONDS);\r\n        }\r\n        batch.execute();\r\n```\r\n\r\nI have tried using the latest versions (release + HEAD). I have debugged the issue but haven't found any obvious problem. The only thing I found is the timeout in \"new HashedWheelTimer(minTimeout, TimeUnit.MILLISECONDS);\" which is set to a 100ms (from MasterSlaveConfig) and seems to be the reason for cancelling the commands? Though I tried changing this without success.\r\n\r\nSomebody has an idea about what might be causing the timeouts? Can I configure those to be suitable for bigger objects?"},"comment":{"url":"https://api.github.com/repos/mrniko/redisson/issues/comments/208383166","html_url":"https://github.com/mrniko/redisson/issues/466#issuecomment-208383166","issue_url":"https://api.github.com/repos/mrniko/redisson/issues/466","id":208383166,"user":{"login":"smigfu","id":1654912,"avatar_url":"https://avatars.githubusercontent.com/u/1654912?v=3","gravatar_id":"","url":"https://api.github.com/users/smigfu","html_url":"https://github.com/smigfu","followers_url":"https://api.github.com/users/smigfu/followers","following_url":"https://api.github.com/users/smigfu/following{/other_user}","gists_url":"https://api.github.com/users/smigfu/gists{/gist_id}","starred_url":"https://api.github.com/users/smigfu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smigfu/subscriptions","organizations_url":"https://api.github.com/users/smigfu/orgs","repos_url":"https://api.github.com/users/smigfu/repos","events_url":"https://api.github.com/users/smigfu/events{/privacy}","received_events_url":"https://api.github.com/users/smigfu/received_events","type":"User","site_admin":false},"created_at":"2016-04-11T14:50:42Z","updated_at":"2016-04-11T14:50:42Z","body":"The version for these tests is 2.2.11, I have also tried with the FST codec (as it sounded promising), though it doesn't run out of the box in our app-server (which is an OSGi server) due to class-path issues. I guess I need to ask the FST guys to add the \"dynamic-import\" (as I did for this project some time ago :-))."}}