ProxioDev / ValioBungee

Synchronize players data between BungeeCord / Velocity proxies
Eclipse Public License 1.0
204 stars 52 forks source link

Drop support for older versions of redis less than 6 #88

Closed ArifErdoganK closed 5 months ago

ArifErdoganK commented 11 months ago

Describe the bug RedisBungee keeps sending this error to the console continuously. I've removed all the plugins on the proxy and only used RedisBungee, but the issue still persists. I'm using the latest version of Travertine.

Expected behavior Why does RedisBungee give this error, and how can I resolve it?

Screenshots image

Redis version? it should be at least 6 and above. 0.11.3

Bungeecord version or (the bungee fork name eg: waterfall) and your plugins Travertine. I have no other plugins except RedisBungee.

console logs? [06:52:02 ERROR] [RedisBungee]: Unable to fix up stored player data [06:52:02 ERROR]: com.imaginarycode.minecraft.redisbungee.internal.jedis.exceptions.JedisDataException: ERR wrong number of arguments for 'hset' command [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.Protocol.processError(Protocol.java:96) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.Protocol.process(Protocol.java:137) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.Protocol.read(Protocol.java:192) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:316) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.Connection.getOne(Connection.java:298) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.Connection.executeCommand(Connection.java:123) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.executors.DefaultCommandExecutor.executeCommand(DefaultCommandExecutor.java:24) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.UnifiedJedis.executeCommand(UnifiedJedis.java:167) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.internal.jedis.UnifiedJedis.hset(UnifiedJedis.java:1258) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.api.util.player.PlayerUtils.createPlayer(PlayerUtils.java:50) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.BungeePlayerUtils.createBungeePlayer(BungeePlayerUtils.java:25) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.RedisBungee$1.handlePlatformPlayer(RedisBungee.java:247) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.api.tasks.IntegrityCheckTask.unifiedJedisTask(IntegrityCheckTask.java:79) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.api.tasks.IntegrityCheckTask.unifiedJedisTask(IntegrityCheckTask.java:22) [06:52:02 ERROR]: at com.imaginarycode.minecraft.redisbungee.api.tasks.RedisTask.execute(RedisTask.java:60) [06:52:02 ERROR]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [06:52:02 ERROR]: at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [06:52:02 ERROR]: at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [06:52:02 ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [06:52:02 ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [06:52:02 ERROR]: at java.base/java.lang.Thread.run(Thread.java:833)

and

[06:45:47] [RedisBungee Pool Thread #2/ERROR]: Task BungeeTask(sched=net.md_5.bungee.scheduler.BungeeScheduler@2416498e, id=46, owner=com.imaginarycode.minecraft.redisbungee.RedisBungee@415a3f6a, task=com.imaginarycode.minecraft.redisbungee.RedisBungeeBungeeListener$2@711a7cef, delay=0, period=0, running=true) encountered an exception com.imaginarycode.minecraft.redisbungee.internal.jedis.exceptions.JedisDataException: ERR wrong number of arguments for 'hset' command at com.imaginarycode.minecraft.redisbungee.internal.jedis.Protocol.processError(Protocol.java:96) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.Protocol.process(Protocol.java:137) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.Protocol.read(Protocol.java:192) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:316) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.Connection.getOne(Connection.java:298) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.Connection.executeCommand(Connection.java:123) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.executors.DefaultCommandExecutor.executeCommand(DefaultCommandExecutor.java:24) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.UnifiedJedis.executeCommand(UnifiedJedis.java:167) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.jedis.UnifiedJedis.hset(UnifiedJedis.java:1258) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.util.uuid.UUIDTranslator.persistInfo(UUIDTranslator.java:202) ~[?:?] at com.imaginarycode.minecraft.redisbungee.RedisBungeeBungeeListener$2.unifiedJedisTask(RedisBungeeBungeeListener.java:87) ~[?:?] at com.imaginarycode.minecraft.redisbungee.RedisBungeeBungeeListener$2.unifiedJedisTask(RedisBungeeBungeeListener.java:84) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.tasks.RedisTask.execute(RedisTask.java:60) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.tasks.RedisTask.run(RedisTask.java:53) ~[?:?] at net.md_5.bungee.scheduler.BungeeTask.run(Unknown Source) ~[mcord_v1.55b4.jar:git:Travertine-Bootstrap:1.19-R0.1-SNAPSHOT:1a27fb8:unknown] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:833) [?:?]

ham1255 commented 11 months ago

Whats your redis version? not redisbungee since you wrote redisbungee version instead

ham1255 commented 11 months ago

seems like failure happens like this Integrity check starts -> found absent players in same proxy -> retry creating those players using BungeePlayerUtils , PlayerUtils -> failure occur unifiedJedis.hset("player:" + uuid, playerData);

ArifErdoganK commented 11 months ago

Whats your redis version? not redisbungee since you wrote redisbungee version instead

Redis server v=3.2.12 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=7897e7d0e13773f

seems like failure happens like this Integrity check starts -> found absent players in same proxy -> retry creating those players using BungeePlayerUtils , PlayerUtils -> failure occur unifiedJedis.hset("player:" + uuid, playerData);

There are multiple sub-servers within a single proxy.

ham1255 commented 11 months ago

Whats your redis version? not redisbungee since you wrote redisbungee version instead

Redis server v=3.2.12 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=7897e7d0e13773f

seems like failure happens like this Integrity check starts -> found absent players in same proxy -> retry creating those players using BungeePlayerUtils , PlayerUtils -> failure occur unifiedJedis.hset("player:" + uuid, playerData);

There are multiple sub-servers within a single proxy.

Can you try updating redis because v3 is really old at this point v7.2 is latest stable

ArifErdoganK commented 11 months ago

Can you try updating redis because v3 is really old at this point v7.2 is latest stable

The problem has been solved, thank you.

ham1255 commented 11 months ago

hmmm i guess gonna drop support less for redis versions less than 6

leestar960 commented 10 months ago

I also have the same symptoms.

Windows users have no choice but to use redis version 3.

Is it okay to ignore the error?

ham1255 commented 10 months ago

I also have the same symptoms.

Windows users have no choice but to use redis version 3.

Is it okay to ignore the error?

https://redis.io/docs/install/install-redis/install-redis-on-windows/