Giter Club home page Giter Club logo

Comments (8)

Brokkonaut avatar Brokkonaut commented on July 22, 2024

I cannot reproduce this. For me it is working with Paper 1.19.4. Can you give more information? Server log, plugins, logblock configuration? (don't forget to remove passwords and other private information before uploading the config file)

from logblock.

selfslaughter avatar selfslaughter commented on July 22, 2024

Interesting. So must be something specific to our setup. I'll have a poke around and get back to you with some more details.

I didn't notice any errors at startup etc, and could see previous logs in game, so assumed everything was fine.

Was only when i went to shut the server down, I saw the messages about the consumer being overloaded, and it preventing the server from shutting down. When querying the database directly I could see it hadn't saved anything since the switch to 1.19.4.

from logblock.

selfslaughter avatar selfslaughter commented on July 22, 2024

Still poking around, but indeed on a barebones test vm with ubuntu 22.04, mariadb 10.6, paper 499 and logblock 178, everything just works as expected.

On our local environment (centos + mysql 5.6) it gets as far as creating tables, then freezes up. Manually checking the database shows it indeed created the tables at least. Same result with both spigot and paper.

Wondering if bundled jdbc drivers where changed during the 1.19.4 update and no longer play nice with our (admittedly ancient) setup, yet other plugins that bundle their own driver continue to function fine?

Starting org.bukkit.craftbukkit.Main
System Info: Java 18 (OpenJDK 64-Bit Server VM 18.0.2+9) Host: Linux 3.10.0-1160.81.1.el7.x86_64 (amd64)
Loading libraries, please wait...
[21:14:27 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[21:14:29 INFO]: Loaded 7 recipes
[21:14:30 INFO]: Starting minecraft server version 1.19.4
[21:14:30 INFO]: Loading properties
[21:14:30 INFO]: This server is running Paper version git-Paper-499 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 29b17a8)
[21:14:30 INFO]: Using 4 threads for Netty based IO
[21:14:30 INFO]: Server Ping Player Sample Count: 12
[21:14:31 WARN]: [!] The timings profiler has been enabled but has been scheduled for removal from Paper in the future.
    We recommend installing the spark profiler as a replacement: https://spark.lucko.me/
    For more information please visit: https://github.com/PaperMC/Paper/issues/8948
[21:14:31 INFO]: [ChunkTaskScheduler] Chunk system is using 1 I/O threads, 1 worker threads, and gen parallelism of 1 threads
[21:14:31 INFO]: Default game type: SURVIVAL
[21:14:31 INFO]: Generating keypair
[21:14:31 INFO]: Starting Minecraft server on *:25565
[21:14:31 INFO]: Using epoll channel type
[21:14:31 INFO]: Paper: Using libdeflate (Linux x86_64) compression from Velocity.
[21:14:31 INFO]: Paper: Using OpenSSL 1.0.x (Linux x86_64) cipher from Velocity.
[21:14:32 INFO]: [LogBlock] Loading server plugin LogBlock v1.19.0.0-SNAPSHOT (build #178)
[21:14:32 INFO]: Server permissions file permissions.yml is empty, ignoring it
[21:14:32 INFO]: Preparing level "world"
[21:14:33 INFO]: Preparing start region for dimension minecraft:overworld
[21:14:33 INFO]: Time elapsed: 206 ms
[21:14:33 INFO]: Preparing start region for dimension minecraft:the_nether
[21:14:33 INFO]: Time elapsed: 77 ms
[21:14:33 INFO]: Preparing start region for dimension minecraft:the_end
[21:14:33 INFO]: Time elapsed: 102 ms
[21:14:33 INFO]: [LogBlock] Enabling LogBlock v1.19.0.0-SNAPSHOT (build #178)
[21:14:33 INFO]: [LogBlock] Connecting to logblocktest@jdbc:mysql://redacted:3306/logblocktest...
[21:14:33 INFO]: [de.diddiz.lib.com.zaxxer.hikari.HikariDataSource] LogBlock-Connection-Pool - Starting...
[21:14:34 INFO]: [de.diddiz.lib.com.zaxxer.hikari.HikariDataSource] LogBlock-Connection-Pool - Start completed.
[21:14:34 INFO]: [LogBlock] Creating table lb-players.
[21:14:34 INFO]: [LogBlock] Creating table lb-materials.
[21:14:34 INFO]: [LogBlock] Creating table lb-blockstates.
[21:14:34 INFO]: [LogBlock] Creating table lb-entitytypes.
[21:14:34 INFO]: [LogBlock] Creating table lb-world-blocks.
[21:14:34 INFO]: [LogBlock] Creating table lb-world-chestdata.
[21:14:34 INFO]: [LogBlock] Creating table lb-world-state.
[21:14:34 INFO]: [LogBlock] Creating table lb-world-entityids.
[21:14:34 INFO]: [LogBlock] Creating table lb-world-entities.
[21:14:34 INFO]: [LogBlock] Creating table lb-world_the_end-blocks.
[21:14:34 INFO]: [LogBlock] Creating table lb-world_the_end-chestdata.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_the_end-state.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_the_end-entityids.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_the_end-entities.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_nether-blocks.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_nether-chestdata.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_nether-state.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_nether-entityids.
[21:14:35 INFO]: [LogBlock] Creating table lb-world_nether-entities.

from logblock.

Brokkonaut avatar Brokkonaut commented on July 22, 2024

Yes indeed they updated the bundled mysql connectors from 8.0.29 to 8.0.32 in spigot/paper. But I don't know if there were changes that could break anything.

Do you have any log messages like "[LogBlock] [Consumer] Could not connect to the database!" in the logs? Or anything else that contains "[Consumer]" other than the overloaded message?

The overloaded message that you mentioned occurs when there are rows added by a block change or something like that that should be pushed to the database and the backlog excedes some size. So this looks like somehow the thread that wants to push the rows to the database was unable to do so. But I have no idea how that could happen without any exception or warning.

from logblock.

Intelli avatar Intelli commented on July 22, 2024

Regarding the CoreProtect issue, I've been unable to replicate this myself.

Tested on an old CentOS 6.10 install w/ MySQL 5.5.59, and everything works as expected.

from logblock.

selfslaughter avatar selfslaughter commented on July 22, 2024

It seems to be MySQL 5.6 that's the issue. Managed to recreate in testing using a fresh ubuntu 22.04 VM.

Installing MySQL 5.6

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.6.51-1debian9_amd64.deb-bundle.tar
tar xvf mysql-server_5.6.51-1debian9_amd64.deb-bundle.tar
sudo dpkg -i *.deb
sudo apt --fix-broken install

Adding database / user

create user 'logblocktest'@'%' identified by 'logblocktest';
create database logblocktest;
grant all privileges on logblocktest.* to 'logblocktest'@'%';
flush privileges;

Logblock config

mysql:
  password: logblocktest
  host: localhost
  port: 3306
  useSSL: true
  database: logblocktest
  requireSSL: false
  user: logblocktest

Logblock seems to get stuck shortly after creating the tables, but throws no errors.

Likewise, Coreprotect seems to connect to mysql and load fine, but also silently fails to actually save anything.
Apologies for the crosspost, added the reproduction information to the coreprotect issue directly.

from logblock.

Brokkonaut avatar Brokkonaut commented on July 22, 2024

Can you try to run the server with the spark plugin and run the command
/spark profiler start --thread Logblock-Consumer
then do some block updates that should be logged and after some minutes type
/spark profiler stop
Maybe the thread stack can show where the consumer is hanging.

from logblock.

selfslaughter avatar selfslaughter commented on July 22, 2024

Apologies for the delay, but I've been rather busy. I tried spark, but the server wouldn't progress past trying to initialise logblock in that state, so I just bypassed the issue for now and upgraded our MySQL cluster from 5.6 to 5.7. Happy to say everything works again, so it at least confirms that 5.6 was the issue.

from logblock.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.